Python: 파이썬프로그래밍의기초, 함수 Kangwon Natl. University Department of Computer Science Cheoneum Park Intelligent software Lab.
함수 Intelligent software Lab. 2
함수란무엇인가? Intelligent software Lab. 3
함수를사용하는이유는? 프로그래밍을하다보면똑같은내용을반복해서작성하는경우다반사 " 반복적으로사용되는가치있는부분 " 을한뭉치로묶어서 " 어떤입력값을주었을때어떤결과값을돌려준다 " 라는식의함수로작성하는것 자신이만든프로그램을함수화하면프로그램의흐름을일목요연하게볼수있기때문 프로그램의흐름도잘파악할수있고에러가어디에서나는지도금방알아차릴수있음 Intelligent software Lab. 4
함수구조 Intelligent software Lab. 5
매개변수와인수 매개변수 (parameter) 함수에입력으로전달된값을받는변수 인수 (arguments) 함수를호출할때전달하는입력값 Intelligent software Lab. 6
Input 과 output 에따른함수형태 일반적인함수 (input, output 모두존재 ) Input 이없는함수 Output 이없는함수 Intelligent software Lab. 7
Input 이가변길이인경우 입력값이여러개일때그입력값들을모두더해주는함수 Intelligent software Lab. 8
매개변수에초깃값미리설정하기 Intelligent software Lab. 9
Lambda 함수 lambda는함수를생성할때사용하는예약어 def와동일한역할보통함수를한줄로간결하게만들때사용사용법 Intelligent software Lab. 10
Lambda 함수 리스트내에함수가들어간경우 Lambda 사용 Intelligent software Lab. 11
이제여러분은자신이원하는프로그램을직접만들수있을것이다. 하지만그전에먼저여러분이만들고자하는프로그램이이미만들어져있는지살펴보기바란다. 이미만들어진것을다시만드는것은불필요한행동이다 (Don t Reinvent The Wheel, 이미있는것을다시만드느라쓸데없이시간을낭비하지말라 ). 파이썬들은외부모듈과는달리 import 를필요로하지않는다. 아무런설정없이바로사용할수가있다. Intelligent software Lab. 12
abs(x): 어떤숫자를입력받았을때, 그수의절대값을돌려주는함수 all(x): 복가능한 (iterable) 자료형 x 를입력인수로받으며, 이 x 가모두참이면 True, 거짓이하나라도있으면 False 를리턴 Intelligent software Lab. 13
any(x): x 중하나라도참이있을경우 True 를리턴하고, x 가모두거짓일경우에만 False 를리턴 chr(i): 아스키 (ASCII) 코드값을입력으로받아그코드에해당하는문자를출력하는함수 Intelligent software Lab. 14
dir: 객체가자체적으로가지고있는변수나함수 divmod(a, b): a 를 b 로나눈몫과나머지를튜플형태로리턴하는함수 Intelligent software Lab. 15
enumerate(x): 순서가있는자료형 ( 리스트, 튜플, 문자열 ) 을입력으로받아인덱스값을포함하는 enumerate 객체를리턴 Intelligent software Lab. 16
eval(expression): 실행가능한문자열 (1+2, 'hi' + 'a' 같은것 ) 을입력으로받아문자열을실행한결과값을리턴 보통 eval 은입력받은문자열로파이썬함수나클래스를동적으로실행하고싶은경우에사용됨 Intelligent software Lab. 17
filter(foo, list): 무엇인가를걸러낸다는뜻으로, filter 함수도동일한의미를가짐 첫번째인수는함수이름 두번째인수는그함수에차례로들어갈반복가능한자료형 두번째인수인반복가능한자료형요소들이첫번째인수인함수에입력되었을때리턴값이참인것만묶어서 ( 걸러내서 ) 리턴 Intelligent software Lab. 18
hex(x): 정수값을입력받아 16 진수 (hexadecimal) 로변환하여리턴 id(object): 객체를입력받아객체의고유주소값 ( 레퍼런스 ) 을리턴 Intelligent software Lab. 19
input([prompt]): 사용자입력을받는함수 int(x): 문자열형태의숫자나소수점이있는숫자등을정수형태로리턴하는함수 Intelligent software Lab. 20
isinstance(object, class): 입력으로받은인스턴스가그클래스의인스턴스인지를판단하여참이면 True, 거짓이면 False 를리턴 첫번째인수로인스턴스, 두번째인수로클래스이름을받음 Intelligent software Lab. 21
len(s): 입력값 s 의길이 ( 요소의전체개수 ) 를리턴하는함수 list(s): 반복가능한자료형 s 를입력받아리스트로만들어리턴하는함수 Intelligent software Lab. 22
map(f, iterable): map 은입력받은자료형의각요소가함수 f 에의해수행된결과를묶어서리턴하는함수 함수 (f) 와반복가능한 (iterable) 자료형을입력으로받음 Intelligent software Lab. 23
max(iterable): 인수로반복가능한자료형을입력받아그최대값을리턴하는함수 min(iterable): max 함수와반대로, 인수로반복가능한자료형을입력받아그최소값을리턴하는함수 Intelligent software Lab. 24
oct(x): 정수형태의숫자를 8 진수문자열로바꾸어리턴하는함수 open(filename, [mode]): " 파일이름 " 과 " 읽기방법 " 을입력받아파일객체를리턴하는함수 Intelligent software Lab. 25
ord(c): 문자의아스키코드값을리턴하는함수 pow(x, y): x 의 y 제곱한결과값을리턴하는함수 Intelligent software Lab. 26
range([start,] stop [,step]): 입력받은숫자에해당되는범위의값을반복가능한객체로만들어리턴 Intelligent software Lab. 27
round(number[, ndigits]): 숫자를입력받아반올림해주는함수 Intelligent software Lab. 28
sorted(iterable): 입력값을정렬한후그결과를리스트로리턴 Intelligent software Lab. 29
str(object): 문자열형태로객체를변환하여리턴하는함수 tuple(iterable): 반복가능한자료형을입력받아튜플형태로바꾸어리턴하는함수 Intelligent software Lab. 30
type(object): 입력값의자료형이무엇인지알려주는함수 zip(*iterable): 동일한개수로이루어진자료형을묶어주는역할을하는함수 Intelligent software Lab. 31
감사합니다 박천음강원대학교 Email: parkce3@gmail.com Intelligent software Lab. 32