def 함수명(입력 인수):
수행할 문장1
수행할 문장2
def sum(a,b): # a, b는 매개변수
return a+b
def sum(a,b):
return a+b
a=sum(3,4)
print(a)
---
7
def say():
return 'Hi'
a=say()
print(a)
---
Hi
def sum(a,b):
print("%d,%d의 합은 %d"%(a,b,a+b))
sum(3,4)
---
3,4의 합은 7
def say():
print('Hi')
say()
---
Hi
*입력 변수(입력 값 모아서 튜플로 생성), **입력 변수 사용(입력 값 모아서 딕셔너리로 생성)
def sum_many(*args):
sum=0
for i in args:
sum=sum+i
return sum
result=sum_many(1,2,3)
print(result)
---
6
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(a=1)
print_kwargs(name='foo', age=3)
---
{'a': 1}
{'age': 3, 'name': 'foo'}
def say_myself(name,man=True):
if man:
print('man')
else:
print('woman')
print('my name is %s'%name)
say_myself('ken')
---
man
my name is ken
---
say_myself('ken',False) ## 값을 지정하면 지정된 값 사용
woman
my name is ken
초기화 시키고 싶은 변수들은 항상 맨 뒤로 가야함. 그렇지 않으면 시스템 상에서 어느 변수에 대입할지 몰라서 에러가 남
함수에서 선언된 변수는 함수 내에서만 유효
a=1
def k(a):
a=a+1
k(a)
print(a)
---
1
함수 안에 있는 a는 함수만의 변수이기 때문에 최종적인 a값이 변하지 않음
a=1
def k(a):
a=a+1
return a
a=k(a)
print(a)
---2
a=1
def k():
global a
a=a+1
k()
print(a)
---
2
lambda 매개변수1, 매개변수2... :매개변수를 이용한 표현식
sum = lambda a,b:a+b
print(sum(3,4))
---
7
사용자 입력, 사용자가 입력한 값 문자열로 취급하여 저장
사용자 출력
>>> print("life" "is")
lifeis
>>> print("life"+"is")
lifeis
>>> print("life","is")
life is
for i in range(0,10):
print(i,end=' ')
---
0 1 2 3 4 5 6 7 8 9