메인 파일
__name__ 전역변수
파일을 저장할 시, 파일 이름이 __name__의 전역변수에 저장된다.
실행파일인 경우에 __main__으로 저장된다. (가장 먼저 실행된다.)
실행하는 모듈중에서, 모듈이 실행파일일 경우에만 실행하고 싶으면 아래와 같이 조건문을 작성하면 된다.
if __name == '__main__':
print(f'10cm: {cmToMm(10)}mm')
패키지
패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다.
->디렉토리를 만들어 추가할 수 있다.
site-packages에 있는 모듈은 어디서나 사용할 수 있다.
venv - library - site-packages에 위치해 있다.
virtual environment 가상환경을 얘기한다.
자주 사용하는 외부 모듈
sum, max, min, pow(거듭 제곱), round(반올림)
math 관련 모듈
math.fabs : 절대값을 구하는 모듈이다.
math.ceil : 올림
math.floor:내림
math.trunc : 버림
math.gcd : 최대공약수
math.factorial : 팩토리얼
math.sqrt :제곱근
Time 관련 모듈
시간에 관해서 뽑아내는 모듈이다.
객체지향 프로그래밍
객체는 속성과 기능의 합이다.
클래스로 붕어빵 찍듯이 여러 개의 객체를 생성할 수 있다.
객체 사용의 장점
코드 재사용, 모듈화에 좋다.
클래스와 객체 생성
클래스는 class 키워드와 속성(변수) 그리고 기능(함수)를 사용해서 만든다.
객체 속성 변경
myPC.CPU = 'i9'
myPC.memory = '64G'
myPC.CPU = '1T'
myPC.printPCInfo()
객체와 메모리
변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다.
rb1에서 rb2를 복사한 경우 rb2는 rb1의 주소를 복사하여, 그 값을 가질 수 있다.
실습
얕은복사와 깊은복사
얕은 복사란? 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다.
하나의 객체의 값을 바꾸면, 복사된 객체의 값도 바뀐다.
주로 변수1=변수2와 같이 사용한다.
깊은 복사란? 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다.
주로 copy.() 메소드를 사용한다.
클래스 상속
클래스는 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있다.
class NormalCar:
def drive(self):
print('Normalcar drive called')
def drive(self):
print('Normalcar drive called')
class TurboCar(NormalCar):
def turbo(self):
print('TurboCar turbo called')
myTurboCar.turbo()
myTurboCar.drive()
myTurboCar.back()
터보카는 노멀카의 원래 기능을 상속받아 쓰고, 터보 기능도 사용할 수 있다.
생성자
__init__() : 객체가 생성될 떄 생성자를 호출하면 자동 호출된다. 그리고 속성을 초기화한다.
super() : 상위 클래스의 속성을 초기화하기 위해서 사용한다. 매개변수로 self값을 넣지 않아도 된다.
다중 상속
2개 이상의 클래스를 상속한다.
실습
'제로베이스 데이터 분석 취업 스쿨 2기 > Python' 카테고리의 다른 글
[제로베이스 데이터 분석 취업 스쿨]Day8 python 중급 문제풀이 (1) | 2024.01.13 |
---|---|
[제로베이스 데이터 분석 취업 스쿨]Day7 python 중급 (1) | 2024.01.11 |
[제로베이스 데이터 분석 취업 스쿨]Day5 python 중급 (0) | 2024.01.08 |
[제로베이스 데이터 분석 취업 스쿨]Day4 python 기초 문제풀이 (0) | 2024.01.07 |
[제로베이스 데이터 분석 취업 스쿨]Day3 python 기초 (0) | 2024.01.05 |