반응형
1. 변수 제대로 이해하기
1) = 는 왼쪽과 오른쪽이 같다는 의미가 아니다.
2) Python에서 = 는 지정연산자(assignment operator)
3) 오늘쪽에 있는 값을 왼쪽 변수에 넣으라는 뜻
x = 7
x = x + 2
print(x)
# 9
x = 7
x = x - 2
print(x)
# 5
2. 함수의 실행 순서
def hello():
print("Hello!")
print("Welcome to Codeit!")
print("함수 호출 전")
hello()
print("함수 호출 후")
# 함수 호출 전
# Hello!
# Welcome to Codeit!
# 함수 호출 후
def square(x): #제곱근(sqrt)
return x * x
print("함수 호출 전")
print(square(3) + square(4))
print("함수 호출 후")
# 함수 호출 전
# 25
# 함수 호출 후
3. return문 제대로 이해하기
def square(x):
print("함수 시작")
return x * x
print("함수 끝")
print(square(3))
print("Hello World!")
# 함수 시작
# 9
# Hello World!
4. return과 print의 차이
def plus(a=0, b=0):
print(a + b)
plus(0, 4)
# 4
def r_plus(a=0, b=0):
return a * b
print(r_plus(9, 23))
# 207
5. 옵셔널 파라미터
1) 파라미터에 '기본값(default value)'을 설정할 수 있다.
2) 기본값을 설정해 주면, 함수를 호출할 때 꼭 파라미터에 값을 안 넘겨 줘도 된다.
3) 이런 파라미터를 '옵셔널 파라미터(optional parameter)'라고 한다.
4) 필수로 넘겨 줄 필요가 없어서 '옵셔널'이라고 한다.
- myself 함수를 호출할 때 한번은 파라미터 nationality에 들어갈 값을 제공하고, 한 번은 제공하지 않을 경우 어떻게 출력 될까?
def myself(name, age, nationality="한국"):
print(f"저의 이름은 {name}입니다.")
print(f"제 나이는 {age}살입니다.")
print(f"국적은 {nationality}입니다.")
myself("Beatlefeed", 31) # 옵셔널 파라미터를 제공하는 경우
print()
myself("Beatlefeed", 31, "미국") # 옵셔널 파라미터를 제공하지 않는 경우
# 저의 이름은 Beatlefeed입니다.
# 제 나이는 31살입니다.
# 국적은 한국입니다.
#
# 저의 이름은 Beatlefeed입니다.
# 제 나이는 31살입니다.
# 국적은 미국입니다.
- 옵셔널 파라미터는 꼭 마지막에!!!!
-> 참고로 옵셔널 파라미터는 모두 마지막에 있어야 된다. 아래처럼 중간에 넣으면 오류가 발생!
def myself(name, nationality="한국", age):
print(f"저의 이름은 {name}입니다.")
print(f"제 나이는 {age}살입니다.")
print(f"국적은 {nationality}입니다.")
myself("Beatlefeed", 31) # 기본값이 설정된 파라미터를 바꾸지 않을 때
print()
myself("Beatlefeed", "미국", 31) # 기본값이 설정된 파라미터를 바꾸었을 때
# /Users/beatelfeed/PycharmProjects/Beatlefeed/venv/bin/python /Users/beatelfeed/PycharmProjects/Beatlefeed/codeit.py
# File "/Users/beatelfeed/PycharmProjects/Beatlefeed/codeit.py", line 17
# def myself(name, nationality="한국", age):
# ^
# SyntaxError: non-default argument follows default argument
반응형
'코딩배우기' 카테고리의 다른 글
리스트(list) (0) | 2021.01.22 |
---|---|
파이썬 리스트(list)와 문자열 정리|Python (0) | 2021.01.21 |
7일차)프로그래밍 핵심 개념 in Python(boolean, type) (0) | 2020.08.31 |
객체 지향 프로그래밍 개념 (0) | 2020.08.28 |
6일차)프로그래밍 핵심 개념 in Python(foramt, 포맷팅) (0) | 2020.08.28 |