with open
하면 자동으로 close한다.# 문자열을 담은 리스트의 내용을 파일에 쓰는 writelines()함수
lines = ["we'll find a way we always have - Interstellar\n",
"I'll find you and I'll kill you - Taken\n",
"한글 I'll be back - Terminator 2\n"]
with open('movie_quotes.txt', 'w', encoding='UTF8') as file:
file.writelines(lines)
# 매개변수가 없는 함수 정의 - 호출
# 함수 정의(함수는 호출하는 윗쪽에 정의 되어야 한다)
def hello():
print('hello world~!!')
# 함수 호출
# 위에서 hello()함수를 정의하고, 밑에서 hello()함수를 호출해야함.
# 그 반대의 경우에는 에러 발생함.
hello()
hello()
# 매개변수가 있는 함수 정의 - 호출
# 절대값 구하기
def abs(n):
if n < 0:
n = -n
else:
n
return n
result = abs(-30)
print('절대값=', result)
# 최대값, 최소값 구하기
# 최대값을 구해주는 함수
def max(n1, n2):
print('최대값 구해주는 함수')
if(n1 > n2):
return n1
else:
return n2
# 최소값을 구해주는 함수
def min(n1, n2):
print('최소값을 구해주는 함수')
if (n1 < n2):
return n1
else:
return n2
print('2개의 정수를 입력하세요?')
n1 = input("첫번째")
n2 = input("두번째")
nn1 = int(n1)
nn2 = int(n2)
max = max(nn1, nn2)
min = min(nn1, nn2)
print('max ->', max)
print('min ->', min)
# 1~n 까지 합을 구하는 프로그램
# 1~n까지 합을 구해주는 함수
def sum(n):
sum = 0
# print('1~n까지 합을 구해주는 함수')
for i in range(1, n+1): # 1~n까지 loop가 돌아감
sum = sum + i
print('1~{}까지의 합={}'.format(n, sum))
# 함수 호출
sum(3)
sum(10)
sum(20)
# 입력받은 매개변수에 따라 문자열을 반복출력
def str(text, cnt):
for i in range(cnt):
print('{}번째 {}'.format(i, text))
# 매개변수가 2개 이므로 2개의 값을 전달해서 str()함수를 호출함.
str('안녕하세요', 3)
# 기본값 매개변수(Default Argument Value)
# 기본값 매개변수 cnt=1로 정의
# 입력받은 매개변수에 따라 문자열을 반복출력
def str(text, cnt=1):
for i in range(cnt):
print('{}번째 {}'.format(i, text))
# 매개변수가 2개 이므로 2개의 값을 전달해서 str()함수를 호출함.
str('Default Argument Value')
str('안녕하세요', 3)
*
를 이용하여 정의된 가변 매개변수는 튜플로 처리# def 함수이름(*매개변수):
def merge_string(*text):
result = ''
print('type(text)->', type(text))
for s in text:
result = result + " " + s
return result
print(merge_string('아버지가', '방에', '들어 가신다'))
**
_ 딕셔너리 형식 가변 매개변수**
를 붙이면 딕셔너리 가변 매개변수가 됩니다.# 함수 정의
def print_team(**players):
i = 0
for k in players.keys():
i = i + 1
print('{0}={1} {2}'.format(k, players[k], i))
# 함수 호출
print_team(김승규='GX', 손흥민='FW', 이강인='MF', 김민재='DF')
*첫번째건 무조건 일반 매개변수. 나머진 가변 매개변수
# 일반 매개변수와 함께 사용하는 가변매개변수
# 함수 정의
def print_args(n, *args):
for i in range(n):
print(i, args[i])
# 함수 호출
print_args(3, '파이썬', '장고', '텐서플로')
# 재귀함수(Recursive Function)
# : 함수가 자기자신을 호출하는 함수를 재귀함수라 한다.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1) # 3이면 3 *2 *1
print('3 !=', factorial(3))
print('5 !=', factorial(5))
print('10 !=', factorial(10))
print('983 !=', factorial(983))
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1) # 3이면 3 *2 *1
print('3 !=', factorial(3))
print('5 !=', factorial(5))
print('10 !=', factorial(10))
print('983 !=', factorial(983))
람다(lambda) 함수 정의 ->
1. 람다 함수 정의 예
f = lambda x : x + 1
print("f->", f(1))
g = lambda x, y : x + y
print("g(1,2)->", g(1,2))
incr = lambda x, inc = 1 : x + inc
print("incr(10)-> ", incr(10))
print("incr(10, 5)-> ", incr(10, 5))