오늘은 그동안 배웠던것을 복습하는 시간을 가졌다.
파이썬 내장 함수들을 간단한 코드로 연습했는데, sort() 같이 변수 지정 없이 바로 쓸 수 있는 함수와 sorted() 같이 값을 리턴해주는 함수들의 차이를 아는 시간이였다. 또한 미니 프로젝트를 진행하며 많이 보았던 코드인 __init__메소드와 __name__, __main__이 무엇인지를 정확하게 알 수 있었다.
더보기
__init__ 메소드, __name__=='__main__' 이것들은 무엇일까?
먼저 __init__ 메소드란?
- 인스턴스를 생성과 동시에 데이터를 초기화 하는 함수
- 반드시 첫 번째 인수로 self 를 지정해야 함
코드는 아래와 같은 형식으로 작성하면 된다.
class 클래스():
def __init__(self, name, age, number):
self.name = name
self.age = age
self.number = number
인자로 받은 'name, age, nunber' 들은 모두 초기화를 해주어야 한다.
여기서 주의해야 할 점은 당연한 이야기지만 받을 인자가 있다면 인스턴스 생성시 인자값을 지정해 주어야 한다.
ex) cookies = 클래스() - 오류
cookies = 클래스("chocolate cookie") - 정상 작동
만약 인스턴스에 인자값을 지정해주기 싫다면 __init__함수의 인자에 디폴트 값을 지정해주면 된다. (name = "디폴트")
__name__=='__main__'란?
- 파이썬 내의 내장변수 혹은 글로벌 변수
- __name__에는 모듈의 이름(ex: hello.py)을 담는다. but 그 파일 안에서 함수를 실행하면 __main__이라는 값이 담기게되고, 새로운 파일(ex: prac.py)에서 모듈을 import해서 가지고 오는 경우엔 새로운 모듈의 이름이 담긴다
- 결론 : __name__=='__main__'을 쓰는 이유는 다른 파일을 import 했을때 그 파일 안의 모든 코드들이 실행되는것을 막기위해 쓴다라고 생각하면 된다.
'내일 배움 캠프 > TIL' 카테고리의 다른 글
TIL) 2주차 5일 (2) | 2023.03.24 |
---|---|
TIL) 2주차 4일 (0) | 2023.03.23 |
TIL) 2주차 2일 (0) | 2023.03.21 |
TIL) 2주차 1일 (0) | 2023.03.20 |
TIL) 1주차 5일차 (1) | 2023.03.17 |