- 프로그램에서 함수는 우리가 일반적으로 아는 함수와 다를 수 있다
= 입력,출력이 없을 수 있다
#입력값이 없는 것 def say(): #입력값이 없음 return '안녕' print(say()) #출력값만 있음 안녕 |
#결과값이 없는 것 myList = [1,2,3] #입력값이 있음 print(myList.append(4)) None #출력값이 없음 |
#입력값과 결과값이 둘다 없는 것 def say(): #입력값 없음 print('Hi') print(say()) Hi None #출력값 없음 |
파이썬 함수의 구조
def 함수명(매개변수) :
<수행할 문장1>
<수행할 문장2>
...
return 리턴 값
def sum(a,b): result = a+b return result print(sum(1,2)) 3 |
myList = [1,2,3] print(myList.pop()) #pop은 리스트의 마지막을 빼내와 3 |
*args 라고 쓰면 몇개든 상관없이 다 담을 수 있다
- 함수의 결과값은 언제나 하나이다
def sum_and_mul(a,b): return a+b, a*b print(sum_and_mul(1,2)) (3,2) |
- 초기값 미리 설정하기 (단, 순서는 주의해야한다)
def say_myself(name, old, man): print("나의 이름은 %s 입니다." % name) print("나이는 %d살입니다." % old) if man: print("남자입니다.") else: print("여자입니다.") say_myself("홍길동",25, True) 나의 이름은 홍길동 입니다. 나이는 25살입니다. 남자입니다. |
- 함수 안에서 선언된 변수의 효력 범위
a =1
def vartest(a):
a = a +1
vartest(a)
print(a)
a = 1 def vartest(a) : a = a+1 #없는것이나 마찬가지다. a = vartenst(a) print(a) #지역변수 : 임시변수 같은 것. 함수 내에서 변수를 사용한다고 하면, 함수 안에서만 쓰인다. 함수 밖에서는 영향을 주지 않는다. → 만약 영향을 주고싶으면 returen 함수를 써서 돌려주어야함 a = 1 def vartest(a) : a = a+1 return a #return a 대신 global a 를 써줄 수 있음 a = vartenst(a) print(a) |
- 함수 축약형 = lambda 함수 활용
def add(a,b): return a+b 3 |
add = lambda a,b: a+b print(add(1,2)) 3 |
- 사용자 입력과 출력
input 함수
number = input("숫자를 입력하세요:")
#깜빡깜빡 커서가 기다리고 있음
print문 |
for i in range(10): print(i, end="가나") 0가나1가나2가나3가나4가나5가나6가나7가나8가나9가나 |
파일 생성하기 |
f = open("새파일.txt", 'w') f .close() |
파일열기모드 | 설명 |
r | 읽기모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기모드 - 파일에 내용을 쓸 때 사용 |
a | 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 |
**encoding="UTF-8"
이라고 써주면 사용자가 입력한 문자나 기호들을 안깨지게 볼 수 있음
파일 읽고 쓰기
readline()함수
#한 줄을 읽는다
f = open("C:/Python/새파일.txt", 'r' endocing="UTF-8")
line = f.readline()
print(line)
f.close()
#여러 줄을 읽는다.
f = open("C:/Python/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close() #파일을 open 해주면 반드시 close를 해줘야함.
댓글