<1주차_5,6일> 파이썬 중급

Nary Kim·2023년 5월 8일
0
post-thumbnail

파이썬 중급에서는 함수와 모듈, 객체지향 프로그래밍, 클래스 그리고 예외처리와 파일 입출력을 배운다.

1. 함수

  • 특정 기능을 재사용하기 위해 함수를 만든다.
  • def 함수명(): 으로 선언.
  • 들여쓰기로 함수 구분.
  • 인수와 매개변수의 개수를 일치 시켜야한다.
  • 매개변수 개수가 정해지지 않은 경우 *을 이용한다.
  • 전역변수, 지역변수, global의 차이를 구분하자.
  • lambda를 이용하면 쉬운 함수선언이 가능.

2. 모듈

  • from 폴더명 import 파일명 as 별칭
  • __name__에는 모듈 이름이 저장되거나 __main__이 저장된다.
  • 내장모듈 중에 자주사용하는 것은 math, random, time 이다.

3. 객체지향 프로그래밍과 class

  • 클래스를 만들면 그 클래스에 대한 객체를 생성할 수 있게 된다.

  • 예를 들면, 자동차를 찍어내는 큰 틀이 있으면 모양은 같고 색이 다른 자동차를 많이 만들수 있는 것과 비슷하다.

  • 장점 : 코드 재사용, 모듈화에 좋다.

  • 클래스는 class키워드와 속성 그리고 기능을 이용해서 만든다.

  • 클래스명은 대문자로 시작한다.

  • 클래스를 호출함으로써 객체를 생성한다.

  • 객체가 생성될때 생성자를 호출하면 __init__()가 자동 호출된다.

  • __init__()는 속성을 초기화한다.

  • 속성값이 선언되어 있다면, 얼마든지 바꿀수 있다.

  • 변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다.

  • 얕은 복사는 객체의 주소를 복사하는 것으로 객체 자체는 복사되지 않는다.

  • 객체 자체를 복사하는 것은 깊은 복사로, 또 다른 객체가 만들어진다.

  • 상속 : 부모 클래스의 기능을 자식 클래스에서 쓸수 있게 하는 것이다.

  • 자식 클래스를 선언하면서 매개변수 자리에 부모클래스명을 써줌으로써 간단하게 상속된다.

  • 자식 클래스에서 여러 부모클래스를 상속하고 있다면 그것은 다중상속이다. 그러나 다중상속은 코드의 혼잡성을 높이기 때문에 남발해서는 안된다.

  • 상위 클래스의 속성을 초기화하기 위해서는 super().__init__()을 이용한다.

  • overide : 자식 클래스와 부모 클래스에 같은 이름의 함수가 있다면, 자식 클래스에 있는 함수가 오버라이딩 해서 프로그램 전체에서 실행된다.

  • 추상클래스는 상위 클래스에서 하위 클래스에 메서드 구현을 강요하는 것을 말한다.

  • from abc import ABCMeta
    from abc import abstractmethod
    class AirPlane(metaclass==ABCMeta):
        @abstractmethod
        def flight(self):
            pass
    
  • 위와 같이 추상클래스는 먼저 선언해야하는 문법이 존재한다.

profile
나는 무엇이 될것인가!!

0개의 댓글