이 글의 소스 샘플은 [Google Colab에서 Python 코드 실행하기] 글에서 언급한 환경을 이용하면 Python 프로그램을 PC에 설치하지 않더라도 Chrome, IE, Edge의 Browser에서 쉽게 Python프로그램을 실행하고 따라할 수 있습니다.
함수의 기본 사용 방법
파이썬의 ‘함수’도 다른 프로그래밍 언어의 함수와 비슷합니다. 적절한 값(인수)을 전달하면 정의된 처리를 거쳐 어떤 값을 반환합니다. 호출 방식 역시 다른 언어들과 비슷합니다.
변수명 = 함수명(인수1, 인수2, ...)
함수명(인수1, 인수2, ...)
함수를 호출하기 위해서는 그 함수를 실행하는 데 필요한 인수를 괄호 ‘()’로 감싸고, 인수가 여러 개일 때는 콤마로 구분하여 나열합니다. 함수를 실행한 결과값을 출력하려면 그것을 변수에 대입합니다. 물론 반환값이 없는 함수들은 변수명에 대입할 필요는 없습니다.
사용자 정의 함수
다른 언어와 마찬가지로 내장함수 외의 함수를 직접 정의할 수 있습니다. 기본적인 구조는 다음과 같습니다. 이렇게 지정한 사용자 정의 함수의 사용법은 내장함수와 동일합니다.
def 함수명(매개 변수1, 매개 변수2, ...) :
블록
두개의 인수를 받아 그 인수를 더한 값을 출력하는 함수를 호출하는 예시입니다.
def ex1 (param1, param2) :
print(param1 + param2)
ex1(1,2)
실행 결과는 다음과 같습니다.
3
값을 반환하는 함수
값을 반환할 때는 다른 프로그래밍 언어와 같이 return문을 사용합니다. 함수의 이름에는 영대소문자, 언더바, 숫자를 사용할 수 있습니다.
return 반환값
return문이 실행되면 return문의 다음에 정의된 코드는 실행되지 않고 처리를 종료합니다.
def ex2() :
return '이 문구는 출력됩니다.'
print ('이 문구는 출력되지 않습니다.')
ex2()
실행 결과는 다음과 같습니다.
'이 문구는 출력됩니다.'
자주 쓰는 내장 함수
print()
받은 인수를 그대로 화면에 출력하는 함수입니다.
print('이 메시지가 그대로 출력됩니다.')
input()
인수를 직접 입력받아 그것을 문자열로써 반환하는 함수입니다.
input('숫자를 입력해주세요.:')
실행 결과는 다음과 같습니다.
숫자를 입력해주세요.:1
1
len()
인수로 지정된 문자열이나 리스트 등, 요소의 문자수(길이)를 반환합니다.
len('공백을 포함안 모든 문자의 갯수가 반환됩니다.')
실행 결과는 다음과 같습니다.
25
ord()
인수로 지정된 한 문자를 유니코드 코드 포인트로 반환합니다.
ord('Z')
실행 결과는 다음과 같습니다.
90
chr()
인수로 지정된 정수 값을 유니코드 코드 포인트로 하는 문자를 반환합니다. 인수는 문자형이 아니기 때문에 때문에 싱글쿼테이션으로 감싸주지 않습니다.
chr(90)
실행 결과는 다음과 같습니다.
'Z'
int()
인수로 지정된 문자열 혹은 실수를 정수로 반환합니다. 반올림은 하지 않습니다. 숫자값을 싱글쿼테이션으로 감싸 문자열로써 입력할 수 있지만 숫자 외의 값은 에러가 발생합니다.
int(2.7)
실행 결과는 다음과 같습니다.
2
Int('9')
실행 결과는 다음과 같습니다.
9
float()
인수로 지정된 문자열 혹은 정수를 실수로 반환합니다. 숫자값을 싱글쿼테이션으로 감싸 문자열로써 입력할 수 있지만 숫자 외의 값은 에러가 발생합니다.
float(5)
실행 결과는 다음과 같습니다.
5.0
float('6')
실행 결과는 다음과 같습니다.
6.0
float('test')
실행 결과는 다음과 같습니다.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-3a93abcdf689> in <module>()
----> 1 float('test')
ValueError: could not convert string to float: 'test'
str()
인수로 들어온 값을 문자열로 반환합니다. 인수로 정수를 지정하더라도 문자열로 변환되었기 때문에 산술계산을 하려고 하면 에러가 발생합니다.
num=10
n = str(1345)
print(num + n)
실행 결과는 다음과 같습니다.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-96f8b1d9b8ab> in <module>()
1 num=10
2 n = str(1345)
----> 3 print(num + n)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
num=10
n = str(1345)
print(num, n)
실행 결과는 다음과 같습니다.
10 1345
max()
복수의 인수 중에서 가장 큰 값을 반환합니다. 수치는 물론 문자열도 가장 큰 값을 구할 수 있습니다. 문자열은 사전순 정렬로 크고 작음이 정해져 있습니다.
max(1,5,9)
실행 결과는 다음과 같습니다.
9
max('a', 'A', 'B', 'b')
실행 결과는 다음과 같습니다.
'b'
min()
복수의 인수 중에서 가장 작은 값을 반환합니다. max()와 마찬가지로 수치는 물론 문자열도 가장 큰 값을 구할 수 있으며 문자열은 사전순 정렬로 크고 작음이 정해져 있습니다.
min(1,5,9)
실행 결과는 다음과 같습니다.
1
min('a', 'A', 'B', 'b')
실행 결과는 다음과 같습니다.
'A'
bin()
인수로 지정된 정수를 2진수로 반환합니다. 2진수임을 표시하기 위해 값 앞에 0b가 붙습니다.
bin(5)
실행 결과는 다음과 같습니다.
'0b101'
oct()
인수로 지정된 정수를 8진수로 반환합니다. 8진수임을 표시하기 위해 값 앞에 0o가 붙습니다.
oct(10)
실행 결과는 다음과 같습니다.
'0o12'
hex()
인수로 지정된 정수를 16진수로 반환합니다. 16진수임을 표시하기 위해 값 앞에 0x가 붙습니다.
hex(100)
실행 결과는 다음과 같습니다.
'0x64'
type()
인수로 지정된 값의 타입을 반환합니다.
type(6)
실행 결과는 다음과 같습니다.
int
type('TYPE')
실행 결과는 다음과 같습니다.
str