List
- 파이썬 날개달기
- 클래스(class)
- 모듈(module)
- 패키지(package)
- 예외처리(exception)
- 내장함수
- 라이브러리(library)
- 연습문제
abs(x)
는 어떤 숫자를 입력 받았을 때, 그 숫자의 절대값을 돌려주는 함수>>> abs(3)
3
>>> abs(-3)
3
>>> abs(-1.2)
1.2
all(x)
반복가능한(utterable) 자료형 x를 인수로 받으며, 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.반복 가능한 자료형이란?
- for 문을 그 값으로 출력 할 수 있는 것을 의미
- ex) 리스트, 튜플, 문자열, 딕셔너리, 집합 등. .
>>> all([1, 2, 3])
True
>>> all([1, 2, 3, 0])
False # 0 은 거짓이기 때문
>>> all([])
True # 빈 값이면 True리턴
all(x)
반복가능한(utterable) 자료형 x를 인수로 받으며, 이 x의 요소가 하나라도 참이 있으면 True를 돌려주고, 모두 거짓이면 False를 돌려준다
all(x)
와 반대
>>> any([1, 2, 3, 0])
True # 1, 2, 3, 이 참이기 때문에
>>> any([0, ""])
False # 0과 “” 는 모두 거짓임
>>> any([])
False # 빈 값인 경우 false 리턴
chr(i)
는 아스키(ASCII)코드 값을 입력 받아 그 코드에 해당하는 문자를 출력
아스키(ASCII)코드 : 0 에서 127 사이의 숫자를 각각 하나의 문자 or 기호로 대응시켜놓은 것
>>> chr(97)
'a'
>>> chr(48)
'0'
ord(‘문자’)
문자의 아스키 코드값을 돌려주는 함수
ord 함수
는chr
함수와 반대
>>> ord('a')
97
>>> ord('0')
48
dir(반복 가능한(iterable) 자료형))
은 객체가 자체적으로 가지고 있는 변수 or 함수를 보여준다.
***리스트와 딕셔너리의 객체 관련 함수(메서드)를 보여주는 예
>>> dir([1, 2, 3])
['append', 'count', 'extend', 'index', 'insert', 'pop',...]
>>> dir({'1':'a'})
['clear', 'copy', 'get', 'has_key', 'items', 'keys',...]
divmod(a,b)
는 숫자 2개를 입력받아 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려준다.
>>> divmod(7, 3)
(2, 1)
>>> 7 // 3 # 몫을 구하는 연산자 “ // “
2
>>> 7 % 3 # 나머지를 구하는 연산자 “ % “
1
enumerate
는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력받아 인덱스(자료형의 현재 순서)값을 돌려준다.
보통
enumerate
함수는for문
과 자주 사용한다.
for문
처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할 때 유용하다.>>> for i, name in enumerate(['body', 'foo', 'bar']):
print(i, name)
0 body
1 foo
2 bar
eval(expression)
은 (expression)
에 실행 가능한 문자열을 입력 받아 실행한 결괏값을 돌려준다.
주로 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용
>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4, 3)')
(1, 1)
filter
함수는 결과 값이 참인 것만을 걸러낸다.
첫 번째 인수
로 함수이름을, 두 번째 인수
로 그 함수에 들어갈 반복 가능한 자료형을 받음
***아래의 positive 함수는 리스트를 입력값으로 받아 각각의 요소를 판별해서 양수 값만 돌려주는 함수 이다.
def positive(l):
result = []
for i in l:
if i > 0:
result.append(i)
return result
>>>print(positive([1,-3,2,0,-5,6]))
[1, 2, 6]
***filter 함수 사용
def positive(x):
return x > 0
>>>print(list(filter(positive, [1, -3, 2, 0, -5, 6])))
[1, 2, 6]
*** filter 과 lambda 사용
>>> list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6]))
[1, 2, 6]
hex(x)
정수 값을 입력 받아 16진수(hexacemical)로 변환해서 돌려주는 함수
>>> hex(234)
'0xea'
>>> hex(3)
'0x3'
id(object)
객체를 입력받아 객체의 고유 주소 값(레퍼런스)를 돌려주는 함수
>>> a = 3
>>> id(3)
135072304
>>> id(a)
135072304
>>> b = a
>>> id(b)
135072304
>>> id(4)
135072292
input(“문자열”)
사용자의 입력을 받는 함수, 매개변수로 문자열을 주면 그 문자열은 프롬프트가 된다.
>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi
>>> b
'hi'
int(x)
문자열 형태의 숫자, 소숫점이 있는 숫자를 정수형태로 돌려줌
>>> int('3')
3
>>> int(3.4)
3
int(‘x’, radix
)는 ’x’
자리엔 숫자, radix
자리엔 진수로 표현된 문자열이 들어가며, x
를 10진수
로 변환하여 돌려줌>>> int('11', 2) # 2진수 11는 10진수 3
3
>>> int('1A', 16) # 16진수 1A는 10진수 26
26
isinstance(object, class)
첫 번째 인수로 인스턴스, 두 번째 인수로 클래스를 받음 / 입력된 인스턴스가 입력된 클래스의 인스턴지인지 판단해서 True, False를 돌려준다.
>>> class Person:
pass
>>> a = Person()
>>> isinstance(a, Person)
True
>>> b = 3
>>> isinstance(b, Person)
False
list(반복 가능한 자료형)
반복 가능한 자료형을 인수로 받아 리스트로 돌려주는 함수
>>> list("python")
['p', 'y', 't', 'h', 'o', 'n']
>>> list((1,2,3))
[1, 2, 3]
>>> a = [1, 2, 3]
>>> b = list(a)
>>> b
[1, 2, 3]
map(함수, 반복가능한 자료형)
은 첫번째 인수로 함수(f)를 받고, 두번째 인수로 반복 가능한 자료형(utterable)을 입력받는다. 두번째 인수인 반복가능한 자료형을 첫 번쨰 인수인 함수가 수행해서 결과를 묶어서 돌려준다.
# two_times 함수는 리스트 요소를 입력받아 각 요소에 2를 곱한 결괏값을 돌려준다.
def two_times(numberList):
result = [ ]
for number in numberList:
result.append(number*2)
return result
result = two_times([1, 2, 3, 4])
print(result)
[2, 4, 6, 8]
*** map 함수 사용
>>> def two_times(x):
... return x*2
...
>>> list(map(two_times, [1, 2, 3, 4]))
[2, 4, 6, 8]
***map과 lambda 사용
>>> list(map(lambda a: a*2, [1, 2, 3, 4]))
[2, 4, 6, 8]
max(반복 가능한 자료형)
인수로 반복 가능한 자료형을 받아 그 최댓값을 돌려준다.
>>> max([1, 2, 3])
3
>>> max("python")
'y'
min(반복 가능한 자료형)
인수로 반복 가능한 자료형을 받아 그 최솟값을 돌려준다.>>> min([1, 2, 3])
1
>>> min("python")
'h'
oct(정수)
인수로 정수를 받고, 정수를 8진수 문자열로 돌려준다
>>> oct(34)
'0o42'
>>> oct(12345)
'0o30071'
open(“파일이름”, ‘읽기 방법’)
두번째 인수인 읽기 방법(mode)를 생략하면 기본값인 읽기 전용(r)로 진행된다.
읽기 방법(mode) 의 종류
w
: write, 쓰기 모드로 파일열기r
: read, 읽기 모드로 파일열기a
: add, 추가 모드로 파일열기b
: binary(2진법), 바이너리모드로 파일열기
***b
는w
r
a
와 함께 사용
>>> f = open("binary_file", "rb") # 바이너리모드로 파일 열기
>>> fread = open("read_mode.txt", 'r') # 읽기 모드로 파일 열기
>>> fread2 = open("read_mode.txt") # 읽기 모드로 파일 열기
*** 두번째 인수를 생략하면 기본값인 r모드가 된다.
>>> fappend = open("append_mode.txt", 'a') # 추가 모드로 파일 열기
pow(숫자1, 숫자2)
숫자1의 숫자2 제곱한 결과값을 돌려주는 함수다.
>>> pow(2, 4)
16
>>> pow(3, 3)
27
range(시작 숫자, 끝 숫자+1, 숫자사이의 거리)
range
함수는 for문과 함께 자주 사용
>>> list(range(5)) #인수가 하나일 경우 (끝 숫자+1)을 뜻한다.
[0, 1, 2, 3, 4] # range 함수는 0부터 시작한다.
>>> list(range(5, 10)) # 인수가 2개일 경우 (시작 숫자, 끝 숫자+1)을 뜻한다.
[5, 6, 7, 8, 9]
>>> list(range(1, 10, 2)) # 3번 째 인수는 숫자사이의 거리를 말한다.
[1, 3, 5, 7, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
round(숫자, 반올림하고 표시하고싶은 소숫점 자리 수(ndigits))
반올림하고 표시하고싶은 소숫점 자리 수(ndigits)
는 없을 수도 있다.
>>> round(4.6)
5
>>> round(4.2)
4
>>> round(5.678, 2) # 소숫점 2자리 까지 표시하겠다.
5.68
sorted(반복가능한 자료형)
반복가능한 자료형을 솔팅해서 리스트로 돌려주는 함수
리스트 자료형에도 sort 함수가 있긴 하지만 리스트 객체 그 자체를 정렬만 할 뿐 정렬된 결과를 돌려주지는 않는다.
>>> sorted([3, 1, 2])
[1, 2, 3]
>>> sorted(['a', 'c', 'b'])
['a', 'b', 'c']
>>> sorted("zero")
['e', 'o', 'r', 'z']
>>> sorted((3, 2, 1))
[1, 2, 3]
str(숫자 또는 문자)
인수를 문자열 형태로 객체변환해서 돌려준다.
>>> str(3)
'3'
>>> str('hi')
'hi'
>>> str('hi'.upper())
'HI'
sum(반복가능한 문자열)
입력받은 반복가능한 문자열(리스트, 튜플)의 모든 요소의 합을 돌려준다
>>> sum([1,2,3])
6
>>> sum((4,5,6))
15
tuple(반복가능한 자료형)
반복가능 자료형을 튜플형태로 돌려준다.튜플형태의 리스트는 수정이나 추가가 불가하다
>>> tuple("abc") # 문자열형태 -> 튜플 형태
('a', 'b', 'c')
>>> tuple([1, 2, 3]) # 리스트 형태 -> 튜플 형태
(1, 2, 3)
>>> tuple((1, 2, 3)) # 튜플 형태 -> 튜플 형태
(1, 2, 3)
type(문자 또는 숫자)
입력된 값의 자료형이 무엇인지를 알려준다
>>> type("abc")
<class 'str'>
>>> type([ ])
<class 'list'>
>>> type(open("test", 'w'))
<class '_io.TextIOWrapper'>
zip(반복가능한 자료형 여려개 입력 가능)
은 동일한 개수로 이루어진 자료형들을 묶어 주는 함수다.
>>> list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)]
>>> list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]