[Python]파이썬 기초문법2 - [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]
이번 포스트는 [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]에 관한 내용입니다.
1️⃣ 옵셔널 파라미터
- 파라미터에게 ' 기본값(default value) '을 설정할 수 있습니다.
- 기본값을 설정해 두면, 함수를 호출할 때 꼭 파라미터에 값을 안 넘겨줘도 됩니다.
- 하지만 반드시 옵셔널 파라미터는 모두 마지막에 있어야 합니다.
< 옵셔널 파라미터 >
def data(name, age, cirt="서울"): #옵셔널 파라미터 적용
print("이름은 {}".format(name))
print("나이는 {}".format(age))
print("도시는 {}".format(age))
data("철수", "21", "뉴욕")
print()
data("영희", "28")
이름은 철수
나이는 21
도시는 21
이름은 영희
나이는 28
도시는 28
2️⃣ 로컬변수, 글로벌(전역)변수
- scope: 변수가 사용 가능한 범위
- 로컬 변수: 변수를 정의한 함수내에서만 사용 가능
- 글로벌 변수: 모든 곳에서 사용 가능
(1) 로컬(지역) 변수 예
def temp_func():
x = 3 # 로컬변수
print(x)
temp_func()
print(x)
NameError: name 'x' is not defined
(2) 글로벌(전역) 변수 예
x = 3 # 글로벌 변수
def temp_func():
print(x)
temp_func()
print(x)
3 3
(3) 실수할 수 있는 예
x = 3
def temp_func():
x = x + 1 # x가 로컬변수로 선언된 꼴, 하지만 x 값을 모름..
print(x)
temp_func()
print(x)
UnboundLocalError: local variable 'x' referenced before assignment
3️⃣ 파이썬 PEP8 스타일 가이드
- PEP8이란 파이썬을 어떻게 구상할 지 알려주는 스타일 가이드입니다.
- 협업을 하는데 있어서 코드스타일은 중요하며 일관성있는 스타일을 제시해주는 제안서가 PEP8입니다.
자세한 PEP8의 내용1 >>> PEP8(원본)
자세한 PEP8의 내용2 >>> PEP8(정리자료)
< PEP8중 일부 내용 >
(1) 이름
- 모든 변수와 함수 이름은 소문자로 써 주고, 여러 단어일 경우
_
로 나눠 줍니다.
age = 3
def temp_func():
- 모든 상수 이름은 대문자로 써주고, 여러 단어일 경우
_
로 나눠 줍니다.
PI = 3.14
- 변수명을 의미를 알 수 있는이름으로 지어주는 것이 좋습니다.
(2) 화이트 스페이스
- 파이참에서 처럼 경우
Tab
키를 눌러서 적절하게 들여쓰기를 합니다. - 하지만 적절한 들여쓰기는 스페이스 4개를 사용하는 것이 좋습니다.
# 안좋은 예 1
def func():
print("HI")
# 안좋은 예 2
def func():
print("HI")
# 안좋은 예 3
def func():
print("HI") # 아예 다른의미(공백이 없으면 func함수 외부코드로 적용)
# 좋은 예
def func():
print("HI")
- 함수 정의에서 위아래로 빈 줄이 두 개씩 있어야 합니다. (첫줄은 안해도됩니다.)
- 괄호 바로 다음에는 띄어쓰기를 안합니다.
# 안좋은 예
c = ( a + b )
# 좋은 예
c = (a + b)
- 함수를 정의하거나 호출할 때, 함수 이름과 괄호 사이에 띄어쓰기를 안합니다.
def func():
# 코드생략
func()
- 쉼표 앞에는 띄어쓰기를 안합니다.
func(a, b, c, d)
- 지정 연산자, 연산자 앞뒤로 띄어쓰기를 하나씩만 합니다.
- 하지만 연산의 우선 순위를 강조하기 위해서는, 연산자 앞뒤로 붙이는 것이 좋습니다.
temp = x*x + y*y
c = (a+b) * (a-b)
- 일반 코드와 같은 줄에 코멘트를 쓸 경우, 코멘트 앞에 띄어쓰기 최소 두 개를 합니다.
4️⃣ while문
- 조건부문이 불린값으로 계산됩니다.
< while문 예시 >
i = 3
while i > 0:
print("안녕!")
i -= 1
안녕!
안녕!
안녕!
5️⃣ if문
- 조건부문이 불린값으로 계산됩니다.
< if문 예시 >
age = 13
if age <= 10:
print("당신은 10살 이하 입니다.")
elif age > 10 & age <= 20:
print("당신은 10살 초과 20살 이하 입니다.")
else:
print("당신은 20살 이하가 아닙니다.")
당신은 10살 초과 20살 이하 입니다.
6️⃣ 파이썬만이 가능한 깔끔한 수식대입
(1) temp를 이용한 기존방식
a = 1
b = 2
temp = a
a = b
b = temp
print(f"a = {a}, b = {b}")
a = 2, b = 1
(2) 새로운 방식(python용)
a = 1
b = 2
a, b = b, a
print(f"a = {a}, b = {b}")
a = 2, b = 1
< 파이썬[Python] 기초문법 포스트 목차 >
1. 파이썬 기초문법1 [자료형, 기본출력, 함수, 불린형, type함수]
>> 파이썬 기초문법2 [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]
3. 파이썬 기초문법3 [리스트(list)]
4. 파이썬 기초문법4 [for, dictionary(사전), 앨리어싱, 리스트와 문자열]
5. 파이썬 기초문법5 [모듈, 표준 라이브러리 모듈, datetime모듈]
6. 파이썬 기초문법6 [input, 파일 입출력함수, strip, split, 여러개 리턴값]