완전 기초부터 시작하는 파이썬
# abs()
>>> abs(3)
3
>>> abs(-3)
3
>>>abs(-1.2)
1.2
# all()
>>> all([1, 2, 3])
True
>>> all([1, 2, 3, 0])
False
0이 거짓이므로 반환되는 값은 False이다.
all()과 반대
# any()
>>> any([1, 2, 3, 0])
True
>>> any([0, ""])
False
#chr()
>>> chr(97)
'a'
>>> chr(48)
'0'
# dir()
>>> dir([1, 2, 3])
['clear', 'copy', 'count', 'extend', 'index', 'insert', ...]
>>> dir ({'1':'a'})
['get', 'items', 'keys', 'pop', 'popitem', 'setdefault', ...]
# divmod()
>>> divmod(7, 3)
(2, 1)
# enumarate
for i, name in enumerate(['body', 'face', 'head']):
print(i, name)
0 body
1 face
2 head
# eval()
>>> eval('1 + 2')
3
>>> eval("'Kim' + 'Sang' + 'Woo'")
'KimSangWoo'
>>> eval('divmod(4, 3)')
(1, 1)
보통입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용
# filter()를 사용하기 위한 예시
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]
# hex()
>>> hex(234)
'oxea'
>>> hex(3)
'0x3'
# id()
>>> a = 3
>>> id(3)
140591459658096
>>> id(a)
140591459658096
>>> b = 3
140591459658096
>>> id(4)
140591459658128
# input()
>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi
>>> b
hi
# int()
>>> int('3')
3
>>> int(3.4)
3
# int(x, radix)
>>> int('11', 2)
3
>>> int('1A' 16)
26
int(x, radix)에서 첫 번째 예시는 2진수로 표현된 11의 10진수 값이고, 두 번째 예시는 16진수로 표현된 1A의 10진수 값이다.
# isinstance
class person():
pass
a = person()
b = 3
print(isinstance(a, person))
print(isinstance(b, person))
True
False
# len()
>>> len("python")
6
>>> len([1, 2, 3])
3
>>> len([1, 'a'])
2
# 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]
list함수에 리스트를 입력으로 주면 똑같은 리스트를 복사하여 반환한다.
# map()을 사용하지 않은 예시
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
print(list(map(two_times, [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()
>>> oct(34)
'0042'
>>> oct(12345)
'0o30071
# ord()
>>> ord('a')
97
>>> ord('0')
48
# pow()
>>> pow(2, 4)
16
>>> pow(3, 3)
27
# range() - 인수가 1개인 경우
>>> list(range(5))
[0, 1, 2, 3, 4]
# range() - 인수가 2개인 경우
>>> list(range(5, 10))
[5, 6, 7, 8, 9]
# range() - 인수가 3개인 경우
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>> list(range(0, 10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
인수가 1개인 경우 : 시작 숫자를 지정해주지 않으면 0부터 시작한다.
인수가 2개인 경우 : 첫 번째 인수는 시작 숫지, 두 번째 인수는 끝 숫자을 나타내며, 끝 숫자는 해당 범위에 포함되지 않는다.
인수가 3개인 경우 : 세 번째 인수는 숫자 사이의 거리를 말한다.
# round()
>>> round(4.6)
5
>>> round(4.2)
4
>>> round(5.678, 2)
5.68
세 번쩨 예시에서는 두번째 매개변수는 반올림하여 표시하고 싶은 소수점의 자릿수이다.
# sorted()
>>> 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]
리스트 자료형에도 sort함수가 있지만 리스트 객체 그 자체를 정렬할 뿐 정렬된 결과를 돌려주지 않는다.
# 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')]