본문 바로가기

내일 배움 캠프/TIL

TIL) 2주차 3일

오늘은 그동안 배웠던것을 복습하는 시간을 가졌다. 

파이썬 내장 함수들을 간단한 코드로 연습했는데, 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