1 분 소요

Variable scope(변수의 범위)

  • 변수가 참조할 수 있는 코드 상의 범위 명시
  • 함수 안의 변수는 해당 코드 블록이 종료되면 소멸
  • 특정 코드 블록 안에서 선언된 변수를 지역변수(local variable) 이라고 함
  • 프로그램의 가장 상단에서 정의되어 프로그램이 종료될 때까지 유지되는 변수를 전역 변수(global variable)이라고
  • 같은 이름의 지역변수와 전역 변수가 존재한다면 지역변수가 더 우선순위
num1 = 10
num2 = 30

def test(num1, num2):
	print(num1, num2)
    return num1 + num2

test(30, 40)
print(num1, num2)
30 40
10 30

Variable length argument (가변 길이 인자)

  • 전달되는 parameter의 갯수가 고정적이지 않은 경우 사용
  • 예)
    • print 함수
    • format 함수
print()
print(1)
print(1,2)
print(1,2,3)
print(1,2,3,4)
print(1,2,3,4,5)
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

가변길이 파라미터를 받는 함수 정의

def test(*x):
	print(type(x))

test()
<class 'tuple'>
def test(*x):
	print(type(x))

test(10, 20)
<class 'tuple'>
def test(*x):
	print(type(x))

test(10, 20, 30)
<class 'tuple'>

*args : parameter를 tuple의 형태로 전달

def test(*args):
	for item in args:
    	print(item)

test(10, 20, 30, 40, 50, 60)
10
20
30
40
50
60

**kwargs : parameter를 dictionary 형태로 전달(named parameter)

  • **가 붙은 경우에는 keyword parameter로 인식
  • 함수 호출 시 parameter의 이름과 값을 함께 전달 가능
def test2(**x):
	print(type(x))

test2()
<class 'dict'>
def test2(**kwargs):
	for key, value in kwargs.items():
		print('key: ', key, ', value: ', value)

test2(a=1, b=2, c=3, d=4, name='Bob')
key: a , value: 1
key: b , value: 2
key: c , value: 3
key: d , value: 4
key: name , value: Bob
  • 가변 길이 함수의 대표적인 예 문자열 포맷 함수
    • 여러 가지 값과 포맷을 이용해 문자열을 정의할 수 있음
    • {} placeholder를 문자열 내에 위치시킨 다음 해당 위치에 format 함수로 전달된 값으로 대체하여 문자열 생성
    • 포맷 구성은 다음 링크 참조 : 링크
a = '오늘의 기온: {today_temp}도, 강수확률: {today_prob}%'.format(today_temp=23, today_prob=50)

print(a)

태그:

카테고리:

업데이트:

댓글남기기