HeYStRanGeR
article thumbnail

(2021.01.11)

 

파이썬의 함수에 대해 공부했다.

앞부분은 c를 배우기도 했고, 파이썬 책이 워낙 쉽고 깔끔하게 잘되어있어서 금방금방 읽었다. 맘잡고 하면 하루만에 읽을 수도 있을 정도 같다. 그치만 나는 한 번에 몰아서 못하는 스타일이라 매일매일 조금씩 하고 있다..... 그래도 총 2~3주만에 다 보려고 계획 중이다.

 

book.naver.com/bookdb/book_detail.nhn?bid=15052904

 

Do it! 점프 투 파이썬

파이썬 4년 연속 베스트셀러 1위!《DO IT! 점프 투 파이썬》 전면 개정판 출시!문과생도 중고등학생도 직장인도 프로그래밍에 눈뜨게 만든 바로 그 책이 전면 개정판으로 새로 태어났다! 2016년 《D

book.naver.com

참고도서: 점프투파이썬


 

함수

 

파이썬 함수의 구조
def 함수이름(매개변수):
  수행할 문장 1
  수행할 문장 2
  ...
  return 결과값

매개변수: 함수에 입력으로 전달된 값을 받는 변수

인수: 함수를 호출할 때 전달하는 입력값

 

※ 함수값은 언제나 하나 이기때문에 return문을 여러개 써도 결과가 다 출력되지는 않는다.

※ 함수 안에서 선언한 매개변수는 함수 안에서만 사용될 수 있다. --> global 명령어는 되도록 쓰지 않도록

 

 

 

함수에는 크게 4가지 종류의 함수가 있다. 

일반적인 함수, 입력값이 없는 함수, 결과값이 없는 함수, 입력값과 결과값이 모두 없는 함수이다.

 

일반적인 함수

결과값을 받을 변수 = 함수이름(입력인수1, 입력인수2, ... )

 

▷ 입력값이 없는 함수

결과값을 받을 변수 = 함수이름( )

 

▷ 결과값이 없는 함수

함수이름(입력인수1, 입력인수2, ...)

 

▷ 입력값과 결과값이 모두 없는 함수

함수이름( )

 

 

 

매개변수 지정하여 호출하기
>>> def add(a,b):
...    return a+b
...

>>> result = add(b=7,a=3)
>>> print(result)
10

위의 예제처럼 배개변수를 지정하여 호출하면, result = add(b=7, a=3) 처럼 순서에 상관없이 사용할 수 있다.

 

 

 

 

여러 개의 입력값을 받는 함수 만들기

 

여러개의 입력값을 받는 함수를 만들기 위해서는 일반적인 함수 형태에서 매개변수 부분을 *매개변수로 바꿔주면 된다.

def 함수이름(*매개변수):
  수행할 문장
  ...

 

여러 개의 입력값 받는 함수 예제

 

 

 

 

 

키워드 파라미터

 

키워드 파라미터는 매개변수 앞에 **를 붙여준다.

매개변수 앞에 **를 붙이면, 매개변수 kwargs는 딕셔너리가 되고, 모든 key=value 형태의 결과값이 그 딕셔너리에 저장된다.

def 함수이름(**매개변수):
  수행할 문장 1
  수행할 문장 2
  ...

 

키워드 파라미터 예제

 

 

 

 

 

매개변수에 초기값 미리 설정하기

 

초기화 시키고 싶은 매개변수를 항상 뒤쪽에 놓아야한다.

 

맨뒤에 놓으면 성공!

 

 

맨뒤에 안놓으면 실패한다!!!

 

 

 

 

 

lambda

 

람다라고 읽는 lambda는 함수를 생성할 때 사용하는 예약어이다.

def add(a,b):
   return a+b

요 함수를 lambda를 이용해서 다시 짜주면

 

add = lambda a,b: a+b

이렇게 표현할 수가 있다!!

 

 


 

사용자 입력과 출력

 

사용자 입력
input("질문 내용")

input 예제

 

 

 

 

print

 

print 문은 숫자 출력, 문자열 출력, 리스트 출력 등등 입력한 자료형을 출력해준다.

① 큰 따옴표로 둘러싸인 문자열은 +연산과 동일하다

② 문자열 띄어쓰기는 콤마로 한다

 

>>> print("Life" "is" "too short")
Lifeistoo short

>>> print("Life", "is", "too short")
Life is too short

 

매개변수 end를 사용하여 끝문자를 지정하면, 한줄에 결과값을 출력할 수 있다.

 

 

위 예제의 print(i,end=' ') 에서는 ' '가 끝문자이다. 

 

 

 

 


 

파일 읽고 쓰기

 

파일 생성하기
파일 객체 = open(파일 이름, 파일 열기 모드)

 

파일 열기 모드 설명
r 읽기 모드 - 파일을 읽기만 할 때 사용
w 쓰기 모드 - 파일에 내용을 쓸 때 사용
a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용

 

파일을 열고 나서는 항상 f.close( ) 를 써주어 파일을 닫아주어야한다.

 

 

 

파일 쓰기모드로 열어 출력값 적어주기

 

파일을 쓰기모드로 열어서 출력값을 적으려고 했는데

계속 오류가 났다...

 

먼저 생성을 하고 출력값을 적는 건가...싶어서 for문을 지우고 해봤지만 그래도 오류가 났다...

알고보니까 내가

f=open('C:/Users/USER/Desktop/Pythonstudy/새파일.txt",'w') 에서 C앞에  ' 를 썼다....

 " 를 썼어야했는데.....

 

 

아무튼 그래서 다시 출력값을 적어주었다.

 

 

 

적어주고 f5를 누르고 생성된 메모장을 열어주면

 

제대로 출력이 된걸 볼 수 있다!!

 

 

 

 

프로그램의 외부에 저장된 파일 읽기

 

▷ readline 함수 사용하기

readline 함수는 가장 첫 번째 줄을 화면에 출력시켜준다.

 

 

 

▷ readlines 함수 사용하기

readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.

 

 

 

▷ read 함수 사용하기

read 함수는 파일의 내용 전체를 문자열로 돌려준다.

 

 

 

with 문과 함께 사용하기

 

with 문은 close함수를 사용해주지 않아도 된다.

 

f=open("제목없음.txt",'w')
f.write("내용 없습니다.")
f.close()

위와 같은 코드를 with문을 이용하면

 

with open("제목 없음.txt",'w') as f:
   f.write("내용 없습니다")

이렇게 바꿔서 써줄 수 있다.

with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close된다.

 

 

 


파이썬 4장까지 정리끝!!!

총 7장인 책의 절반 넘는 장이 끝났다. 근데 아직도 책의 장수는 절반 넘게 남았다....

다음주까지는 무조건 끝내야쥐

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!