year = 2022
month = 7
day = 8
print("오늘은" + str(year) + "년" + str(month) + "월" + str(day) + "일입니다.")
이렇게 할 수도 있지만 번거롭기 때문에
year = 2022
month = 7
day = 8
print("오늘은 {0}년 {1}월 {2}일입니다.".format(year, month, day))
# 중괄호 안의 숫자는 format 내 요소들의 순서를 뜻함
# 또 중괄호 안에 {2: .2f} 로 소숫점 몇 번째 자리까지 나타낼 지 정할 수도 있음
format 을 이용해 좀 더 편하게 구현할 수 있다.
def self_introduction(name, age, nationality = "Korea"):
print("내 이름은 {}, 나이는 {}, 국적은 {}입니다.".format(name, age, nationality))
self_introduction(Kim, 22)
실행결과
내 이름은 Kim, 나이는 22, 국적은 Korea입니다.
주의할 점 optional parameter 는 parameter들 중 마지막에 나와야 한다(== 일반 parameter가 optional parameter 뒤에 나오면 안된다)
x = [1, 2, 3, 4]
y = x
y[0] = 5
print(x, y)
이렇게 하게 되면 x의 0번째 요소도 y와 같이 변하게 된다. 이것은 2번째 줄의 y = x 라는 문법때문이다. 이렇게 작성하게 되면 y는 x의 alias(가명)이 된다. 마치 [1, 2, 3, 4]를 x라는 꼬리표로 가리키고 있던 걸 y 또한 가리키게 된 것과 같다. 이걸 해결하려면
x = [1, 2, 3, 4]
y = list(x)
y[0] = 5
print(x, y)
이렇게 바꾸면 된다.
패키지란 여러 개의 모듈을 모아 놓은 폴더를 의미한다.
패키지를 사용하려면 하나의 폴더 안에 원하는 모듈들을 넣은 후 init.py 를 폴더 안에 생성하면 된다. 그 후 import 하는 법은 기존과 유사하다.
만약 shapes 패키지 안에 area 모듈과 volume 모듈이 있다면
import shapes.area
shapes.area.circle(3)
이런 식으로 콤마로 구분해 사용하면 된다.
물론 import shapes 로 한꺼번에 import 할 수도 있고(단 init파일을 사용해야 한다) from 도 사용할 수 있다.
패키지 안에 있는 init 파일은 패키지를 import하거나, 패키지 안의 모듈을 import할 때 항상 실행된다.
위에서 init 파일을 사용해야 한다고 했는데
init.py
from shapes import area, volume
이런 식으로 init 파일이 자동 실행되는 것을 이용해서 그 안에서 import를 해주면 된다.