여정의 기록
Python/함수 본문
728x90
print 함수가 없다면? 모든 기능을 다 작성해야하는데,
"hello" -> memory에 올리고 -> cpu로 연산 -> 출력장치를 통해 -> 출력하는
과정을 모두 작성해야하는 번거로움이 있다.
그래서 이러한 반복적인 코드들을 함수로 정의하여,
함수만 바로 호출하여 사용하게되면 매번 재사용이 가능하고, 코드가 짧고 실수를 줄일수있어 개발시간이 단축된다는 장점이 있다.
함수의 유형에는
- 시스템을 설치할 때 제공되는 함수 (python library)
- 프로그램 작성 중 필요한 사용자에 의해 정의되는 '사용자가 정의한 함수'
두가지가 있다.
모든 함수는 호출할 때
함수명()
print()
와 같이 호출이 가능하다.
사용자가 함수를 정의할 때에는 아래와 같이 코드로 작성할 수 있다.
def 함수명():
수행할 코드1
수행할 코드2
함수명은 소문자로 작성하고, 해당 함수의 대표성을 띄는 것으로 지어야한다.
def hello():
print("hello world!")
def calc(매개변수(가인수)):
def calc(x,y,op):
if(op=="add"):
print(x+y)
calc(1,2, "add")
# 원하는 값을 넣은 변수로도 활용 가능
def add(x, y):
return x+y
res=add(y=1, x=1)
# 매개변수 값을 정확히 알려주면 순서는 상관없다.
인수의 개수가 정해지지 않았을 때 함수 호출
def add(*args):
sum=0
for i in args :
sum+=i
return sum, i
# return을 만나면 함수 종료
add(3,2,3,3)
두 가지 리턴값 각 변수에 담아주기
def addsub(x,y):
return x+y,x-y
res1, res2 = addsub(2,2)
매개변수 초기값을 설정해 놓는 경우
함수호출시 매개변수 유무에 상관없이 값이 나오도록 하는 법 -> 매개변수 초기값을 설정해 놓는다.
아래의 코드에서 female=True 처럼
원하는 값을 대입하면 원하는 값이 나오기는 한다.
def intro(n, age, female=True):
함수 내부에서 외부의 값 변경하는 법
함수에 따라 변수값 변경
1. 함수를 적용해서 변수에 재정의 하는법
x=1
def test(x):
x=x+10
return x
x=test(x)
2. global 전역변수 이용 (잘 사용하지 않는다)
x=1
def test():
global x
x=x+10
728x90
'공부 > Python' 카테고리의 다른 글
Python/파이썬의 함수들(절대값 abs, any all, ord, eval,filter, pow, round, zip, reduce, run-length기법) (0) | 2022.02.11 |
---|---|
Python/unpacking, lambda 함수, map (0) | 2022.02.11 |
Python/n-gram, language model (0) | 2022.02.10 |
Python/file read, write, Pickle (0) | 2022.02.10 |
Python/ continue , break (0) | 2022.02.10 |