특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합
def 함수명 (매개변수):
수행할문장
....
return 리턴값
def sum(a,b):
c = a + b
return c
# 입력값 없는 경우
def say():
return Hi
# 출력값이 없는 경우
def say(a,b):
print("%d %d" (a,b))
# append?
myList = [1,2,3]
print(myList.append(4)) // none => append는 입력은 하지만, 출력은 없다
# pop
print(myList.pop()) // 3 -> 입력값은 없지만, 출력은 없다
# 입출력 둘다 없는
def say():
print("HI")
# 매개 변수를 정하기 어려울떄
def sum_many(*매개변수): #개수 상관없이
-> sum_many(숫자 상관없이)
# 키워드 바라미터
def sum_many(**매개변수):# 딕셔너러 개수 상관없이
# 함수의 결과값은 언제나 하나이다
def sum_and_mul(a,b):
return a+b, a*b ,a/b # => 여러개 처럼 보이지만 튜플 형식으로 하나로 나타낸다
# 기본값 설정 (맨끝에만 가능)
def say_myself(name, old, man=True): # 기본값 설정, man에 다른값이 나올경우 바뀜, 안넣어도 인자로 안넣어줘도 ㄱㅊ
# 매개변수 매핑
def aaaa( a, b, c):
aaaa(a=1,c=3,b=3) # 가능
함수 내에 정의된 변수는 지역변수, 함수가 끝나면 라이프사이클이 끝난다
a = 1 # 전역 변수 a
def add(a)
a = a +1 # 지역 변수 a
add(a) # -> 2
print(a) # ->1
# a의 라이프사이클을 늘릴려면?
# 1.값의 재할당
a = add(a) # 결과값을 a에 재할당
# 2. global로 전역변수로 선언
def add(a)
global a = a+1
# lambda 함수의 축약형
def add(a,b)
return a+b
# == 같다
lambda a, b : a+b #리스트에서도 사용가능해서 좋다
# lambda 함수 응용
myList = [lambda a,b: a+b, lambda a,b:a*b]
pirnt(myList[0](1,2)) # lambda a,b: a+b이걸 가져와서 사용
빌트인 함수(내장함수) 인 input(), print()를 이용해 입력과 출력을 한다
# 자동 +
print("life""is""too short")
# 자동 space
print("life","is","too short")
# end 정하기
print("life""is""too short" end = '') # 출력하고 엔터가 아니라, 빈공간=스페이스 로 하겠다
txt 파일을 읽고 쓴다
f = open("새파일.txt", 'W')
f.close()
# 쓰기모드
f = open("새파일.txt","w",encoding = "UTF-8") # w는 기존에 있는 데이터 지우고 새로 씀
for i in range(1,11):
data = "%d번째 줄입니다.\n" %i
f.write(data)
f.close()
# 읽기모드
f = open("새파일.txt","r",encoding = "UTF-8")
line = f.readline() # 한줄씩 읽어옴
print(line)
f.close()
# 여러줄 읽기
f = open("새파일.txt","r",encoding = "UTF-8")
while True:
line = f.readline() # 한줄씩 읽어옴
if not line: break
print(line)
f.close()
# readlines 함수 읽기
f = open("새파일.txt","r",encoding = "UTF-8")
lines = f.readlines() # 한줄씩 모든 라인을 읽어옴
for line in lines:
print(line) # strip("\n"): 양쪽 끝에서 특정 문자를 제거해주는 함수
f.close()
# read 함수 읽기
f = open("새파일.txt","r",encoding = "UTF-8")
data = f.read() # 전부 읽음
print(data)
f.close()
# 추가모드 , 추가하는거임
f = open("새파일.txt","a",encoding = "UTF-8")
for i in range(11,20): # 10번쨰 이후에 계속 추가
data = "%d번째 줄입니다.\n" %i
f.write(data)
f.close()
# close를 안쓰고
with open("foo.txtm "w") as f: # 쓰기 모드로 열어서 f에 저장
f.write("Life is too short, you need ptyhgon") # f는 지역변수