[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, 여러개 리턴값]





© 2021.02. by kirim

Powered by kkrim