함수
1. 함수의 구조
1) 입력인수가 있고, 리턴값도 있음
def 함수명(입력 인수) :
내용
return
2) 입력 인수가 있고, 리턴값은 없음
def 함수명(a,b):
내용
3) 입력인수가 없지만, 리턴값만 있음
def 함수명():
내용
return
4) 입력 인수가 없고, 리턴값도 없음
def 함수명():
내용
2. 입력 값이 여러개일 경우
1) *args를 사용
def sum(*args):
sum=0
for i in args:
sum += i
return sum
2) 일반 인수랑 *args를 동시에 사용할 수도 있다.
def calc(what, *args):
result = 0
if what == 'sum':
if i in args:
result += i
elif what == 'sub':
if i in args:
result -= i
return result
3) return 값이 여러개일 수도 있다.
def cal(a,b):
return a+b, a-b, a*b, a/b
print(cal(10,2)) #(12, 8, 20, 5.0)
여러개의 값을 리턴하면 튜플 값 하나에 모두 넣어서 값을 돌려준다.
만약 4개의 결과값으로 분할하여 받고 싶다면 다음과 같이 하면된다.
def cal(a,b):
return a+b, a-b, a*b, a/b
a,b,c,d=cal(10,2)
#a=12, b=8 c=20 d=5
3. 입력인수 디폴트값 설정하기.
def call_parents(parent_name, child_name, man=True):
print("저는 %s이며 %s의 부모입니다." %(parent_name, child_name))
if man == True:
print("저는 아버지입니다")
else:
print("저는 어머니입니다")
call_parents("갑","을")
#저는 갑이며 을의 부모입니다.
#저는 아버지입니다
※ 디폴트 값은 항상 맨 뒤로 들어가야 한다. 중간에 대입되면 default argument에러가 뜸
사용자 입출력
1. input 함수
a=input("내용")
#내용에 입력한 문장이 먼저 나오고, 사용자의 입력을 기다림.
input은 입력되는 모든 것을 문자열로 취급.
2. print 함수
for i in range(10):
print(i,end=' ')
print함수는 자동적으로 줄바꿈을 한다.
만약 한 줄에 모든 결과 값을 출력하고 싶다면 end =' '를 하면된다.
3. open 함수
f = open(파일이름, 파일모드)
파일모드는 r(읽기), w(쓰기-기존에 있던 내용은 모두 사라짐), a(추가-파일 마지막부분에 내용추가)가 있음
파일 사용 종료 후에는 웬만해서는 close()를 해주자.
자동으로 해주기는 하지만, 가끔 오류가 발생할 수도 있다.
#C:/Python/에 있는 test라는 텍스트 파일을 읽기모드로 불러옴.
f = open("C:/Python/test.txt",'w')
#test.txt에 데이터 입력
for i in range(10):
data = '*' * i
f.write(data)
#열었던 텍스트 파일을 종료.
f.close()
#기존의 데이터는 모두 사라지고 내가 입력한 값만 남게됨.
a모드를 사용하게 되면 기존의 데이터를 유지하면서, 뒤에 내용을 추가로 넣을 수 있다.
f = open("C:/Python/test.txt",'a')
for i in range(10):
data = '*' * i
f.write(data)
f.close()
4. readline()
#한 줄씩 읽어서 모든 줄 읽어들이기
f = open("C:/Python/test.txt",'r')
while 1:
line = f.readline()
if not line:
break
print(line)
f.close()
파일에서 한 줄만 읽어오는 함수.
5. readlines()
f = open("C:/Python/test.txt",'r')
ls = readlines()
for l in ls:
print(l)
f.close()
파일에서 모든 줄을 읽어오는 함수
6. read()
f = open("C:/Python/test.txt",'r')
data = f.read()
print(data)
f.close
파일의 내용 전체를 문자열로 리턴.
7. with 문
with open("C:/Python/test.txt",'r') as f:
data = f.read()
print(data)
with문을 벗어나면, 자동으로 문서를 닫아준다.
f = open("C:/Python/test.txt",'r')
data = f.read()
print(data)
f.close
with문 코드와 위의 코드는 동일하다.
'Python > 기초' 카테고리의 다른 글
8. Python의 여러 내장함수 (0) | 2019.09.26 |
---|---|
7. 파이썬의 클래스, 모듈, 패키지 (0) | 2019.09.22 |
5. 파이썬의 조건문(if, while, for) (0) | 2019.09.21 |
4. 파이썬의 자료형(딕셔너리, 집합) (0) | 2019.09.19 |
3. 파이썬의 자료형(리스트, 튜플) (0) | 2019.09.19 |