Python/Python 기초

[Python] Python Function

데이터 세상 2021. 2. 23. 11:14
728x90
반응형

함수 정의

def 함수이름(매개변수):
	함수의 내용
    return 반환값
  • 함수이름: 사용자가 정의하는 함수이름, 기존에 사용되는 함수나 예약어들을 제외하고 사용
  • 매개변수: 함수 안에서 사용 할 변수들 (생략 가능)
  • return: 함수 안에서 모든 연산을 마친 후 반환할 값 (생략 가능)
    • 반환값을 정의하지 않으면 자동으로 None 을 반환
    • precedure: 아무런 값을 반환하지 않는 함수

 

함수의 매개변수

  • positional argument, keyword argument
  • 초기 값 없는 변수, 초기값 있는 변수 순으로 배치

함수의 매개 변수가 몇 개가 필요한지 모를 때

Inside a function header:

* collects all the positional arguments in a tuple.

** collects all the keyword arguments in a dictionary.

 

*args(non-keyword argument)

def test(*args):
	print(type(args))
	print(args)
    
test(1, 2, 3, 4, 5)
>>
<class 'tuple'>
(1, 2, 3, 4, 5)

test([1,2], 3)
>>
<class 'tuple'>
([1,2], 3)

**kwargs (keyword argument)

def test(**kwargs):
	for key, value in kwargs.items():
		print(%s == %s" %(key, value))

test(first='1', mid='2', last='3')
>>
first == 1
mid == 2
last == 3

 

local variable / global variable

  • 함수 내에 변수를 외부에서도 사용하고 싶은 경우 global 사용
  • global 변수의 경우 함수 실행 시점마다 영향을 받을 수 있으니 주의해서 사용 필요!!
def funct():
	global a
    a += 1
    print(a)

funct()
>> 2
a
>> 2

 

728x90
반응형

'Python > Python 기초' 카테고리의 다른 글

[Python] Python Exception Handling  (0) 2021.02.24
[Python] Python Class  (0) 2021.02.23
[Python] Python File  (0) 2021.02.23
[Python] Python Flow Control  (0) 2021.02.22
[Python] Programming Basic  (0) 2021.02.22