내장함수
파이썬 라이브러리 안에 이미 내장되어 있는 내장함수들은 별도의 import 필요없이 사용가능하다.
abs
: 어떤 숫자를 입력으로 받았을때, 그 숫자의 절대값을 돌려주는 함수
>>>abs(3)
3
>>>abs(-2)
2
>>>abs(-1.2)
1.2
all
: 반복가능한 자료형(for문으로 그 값을 출력할 수 있는 것을 의미_리스트, 튜플, 문자열, 딕셔너리, 집합)을 입력인수로 받아서,
참이면 True, 거짓이 하나라도 있으면 False
>>>all([1,2,3])
True
>>>all([1,2,3,0])
False
- 리스트 자료형에서 0은 거짓이다.
any
하나라도 참이 있을 경우 True, 모두 거짓일 경우에만 False (all과 반대개념)
>>>any([1,2,3,0])
True
>>>any([0,""])
False
- 리스트 자료형에서 1,2,3이 True임으로 True
- 리스트 자료형에서 0, ""이 둘다 거짓임으로 False
chr
아스키 코드값(ASCII)을 입력으로 받아 그 코드에 해당하는 문자를 출력하는 함수
* 아스키 코드: 0-127 사이에 숫자들을 각각 하나의 문자 또는 기호에 대응시켜놓은것
>>>chr(97)
'a'
>>>chr(48)
'0'
dir
:객체가 자체적으로 가지고 있는 변수나 함수를 보여준다
>>>print(dir())
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
>>>import random
print(dir())
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'random']
>>>import pickle
print(dir())
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'pickle', 'random']
>>>lst = [1,2,3]
>>>print(dir(lst))
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>dic = ({1:'a'})
>>>print(dir(dic))
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
divmod(a,b)
: 2개의 숫자를 입력으로 받아서 a를 b로 나눈 몫과 나머지를 튜플 형태로 리턴한다
>>>print(divmod(5,4))
(1, 1)
>>>print(divmod(3.9,1.2))
(3.0, 0.30000000000000004)
enumerate
: 순서가 있는 자료형을 입력값으로 받아서 인덱스와 값을 포함하는 enumerate 객체를 리턴한다
-> 순서형 자료의 인덱스와 값을 전달하는 기능을 하는 함수
>>>s1 = ["eat", "sleep", "pray"]
>>>print(list(enumerate(s1))
...
[(0, 'eat'), (1, 'sleep'), (2, 'pray')]
>>>for i,name in enumerate(['eat','sleep','pray']):
... print(i,name)
...
0 eat
1 sleep
2 pray
- 반복되는 구간에서 해당객체의 위치값까지 알 수 있기 때문에 매우 유용하다.
eval
: 실행가능한 문자열(1+2, 'hi' + 'a') 을 입력으로 받아 실행한 결과값을 리턴한다.
입력받은 문자열 형태의 자료형을 숫자로 변형하여 연산할 수 있게 해주는 것이다.
>>>eval('1+1')
2
>>>eval('"he" + "llo"')
hello
>>>eval('divmod(5,4)')
(1,1)
#만약에 eval이 없다면
>>>print('1+1')
1+1
filter
: 두개의 인수를 받는데, (첫번째 인수 - 함수 이름), (두번째 인수 - 그 함수에 차례로 들어갈 반복가능한 자료형)
그리고 두번째 인수가 첫번째 인수인 함수에 입력되었을때 리턴값이 참인 것만 묶어서 돌려준다.
<1~10까지의 리스트중에 5보다 큰 숫자만 출력하기>
>>>def filter_func(x):
... return x>5
...
print(list(filter(filter_func,[1,2,3,4,5,6,7,8,9,10])
[6,7,8,9,10]
hex
: 정수값을 받아서 16진수로 변환하여 리턴하는 함수
>>>print(hex(123))
0x7b
>>>print(hex(3))
0x3
id
: 객체를 입력받아 객체의 고유 주소값을 리턴하는 함수
>>>a = b = c = 1
>>>print(id(a))
>>>print(id(b))
>>>print(id(c))
>>>print(id(1))
140730407454368
140730407454368
140730407454368
140730407454368
input
: 사용자 입력을 받는 함수
입력인수로 문자열을 주면 해당 문자열을 실행한다
>>>First = input("안녕이라고 인사하세요")
>>>print(First)
안녕이라고 인사하세요 Hello
Hello
int
: 문자열 형태의 숫자나 소수점이 있는 숫자를 정수 형태로 리턴한다
>>>int('1')
1
>>>int(-1)
1
>>>int(1.2)
1
isinstance
: isinstance(object, class) 의 형태로 (첫번째 인수: 인스턴스), (두번째 인수:클래스) 가 오는데 입력받은 인스턴스가 그 클래스의 인스턴스인지 판단하여 True나 False를 리턴한다.
>>>class Snow:
... pass
>>>a = Snow()
>>>b = 4
>>>print(isinstance(a,Snow))
True
>>>print(isinstance(b,Snow))
False
lambda
: 함수를 생성할 때 사용하는 예약어(= def)
def를 사용해야할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다.
<lamba 인수1, 인수2, ... : 인수를 이용한 표현식>
>>>sum = lambda a,b:a+b
>>>print(sum(1,1))
2
def 를 사용할 수 없는 경우, (리스트 요소로 lamda 함수를 넣을 수 있다)
>>>example = [lambda a,b:a+b, lambda a,b:a-b]
>>>print(example[0](1,2))
3
>>>print(example[1](5,4))
1
len
: 입력값의 길이(요소의 전체 개수)를 리턴한다
>>>print(len('Hello'))
5
>>>print(len([1,2,3,4,5]))
5
>>>print(len((1,'a')))
2
list
: 반복가능한 자료형을 입력받아서 리스트로 만들어 리턴한다
* 리스트를 입력하면 그대로 리스트를 리턴한다
>>>print(list('Hello'))
['H','e','l','l','o']
>>>print(list((1,2,3,4,5)))
[1,2,3,4,5]
>>>a = ['a','b','c']
>>>print(list(a))
['a','b','c']
map
: 두개의 인수를 입력받는데,
(첫번째 인수 : 함수), (두번째 인수 : 반복가능한 자료형) 을 받아서 입력받은 자료형이 함수에 의해 수행된 결과를 리턴한다.
def one_plus_one(numlist):
result = []
for number in numlist:
result.append(number+1)
return result
print(one_plus_one([1,2,3,4,5]))
위와 같은 함수를 map을 이용해 표현하면,
def one_plus_one(x):
return x+1
print(list(map(one_plus_one,[1,2,3,4,5])))
* map의 결과를 리스트로 보여주기 위해 list함수를 이용하여 출력한다
그리고 lambda를 이용해 표현하면 다음과 같다.
print(list(map(lambda x:x+1, [1,2,3,4,5])))
min/max
: 반복가능한 자료형을 입력받아 그 최솟값/ 최댓값을 리턴한다.
>>>print(min([1,2,3,4,5]))
1
>>>print(max([1,2,3,4,5]))
5
>>>print(min('hello'))
e
>>>print(max('hello'))
o
open
: open('filename', 'mode') 을 입력받아 파일 객체를 리턴한다.
여기서 mode -> 읽기방법이 생략되면 기본값이 r로 적용된다.
모드 | 설명 |
w | 쓰기모드로 파일열기 |
r | 읽기모드로 파일열기 |
a | 추가모드로 파일열기 |
b | 바이너리 모드로 파일열기 |
>>>f = open("Binary file","rb")
* 바이너리 모드일때는 w,r,a 모드 뒤에 'b'를 붙여주면 된다.
>>>file = open("filename.txt" , "r")
>>>file = open("filename.txt")
* '읽기방법'이 생략되면 기본값이 r이기 때문에 위 아래 결과값은 똑같다.
pow
: pow(x,y) x의 y제곱한 결과값을 리턴한다.
>>>pow(2,5)
32
>>>pow(3,3)
27
range
: for문과 함께 자주사용되는 함수로, 입력받은 숫자 범위의 값을 반복가능한 객체로 만들어 리턴한다.
- 인수가 1개일 경우
시작숫자를 정하지 않으면 range함수는 0부터 시작한다.
>>>list(range(5))
[0,1,2,3,4]
- 인수가 2개일 경우
시작 숫자와 끝 숫자를 나타내는데, 끝 숫자는 해당 범위에 포함되지 않는다.
>>>list(range(5,10))
[5,6,7,8,9]
- 인수가 3개일 경우
세번째 인수는 숫자 사이 거리를 의미한다.
>>>list(range(2,10,2))
[2,4,6,8]
>>>list(range(-10,-15,-1))
[-10,-11,-12,-13,-14]
sorted
: 입력값을 정렬해서 리스트로 리턴한다.
>>>sorted([3,5,2,1,4])
[1,2,3,4,5]
>>>sorted(['b','d','c','e','a'])
['a','b','c','d','e']
>>>sorted("one")
['e','n','o']
* 리스트 자료형에 sort라는 함수가 있는데, 이는 리스트 자체를 정렬만 하고 결과를 리턴하지 않는다.
>>>a = [2,1,4,5,3]
>>>result = a.sort()
>>>print(result)
None #리턴값이 없어서 result 변수에 저장되는 값이 없다/ None이 출력된다
>>>print(a)
[1,2,3,4,5]
str
: 문자열 형태로 객체를 변환하여 리턴한다
>>>str(1)
'1' # 숫자가 아닌 문자열인 상태
>>>str('HELLO')
'HELLO'
tuple
: 반복가능한 자료형을 입력받아 튜플형태로 바꿔서 리턴한다
>>>tuple("HELLO")
('H','E','L','L','O')
>>>tuple([1,2,3,4,5])
(1,2,3,4,5)
type
: 입력받은 값의 자료형이 뭔지 알려준다.
>>>type("HELLO")
<class 'str'>
>>>type(12345)
<class 'int'>
>>>type([1,2,3,4,5])
<class 'list'>
>>>type(open("file","r"))
<class '_io.TextIOWrapper'>
zip
: 동일한 개수로 이뤄진 자료형을 묶어주는 역할을 한다.
>>>list(zip([1,2,3],[4,5,6]))
[(1,4),(2,5),(3,6)]
>>>list(zip('abc','def'))
[('a','d'),('b','e'),('c','f')]
>>>list(zip([1,2],['a','b']))
[(1,'a'),(2,'b')]
>>>A = [1,2,3]
>>>B = ['a','b','c']
>>>for i in zip(A,B):
... print(i)
...
(1,'a')
(2,'b')
(3,'c')
'Programming > Python' 카테고리의 다른 글
파이썬 코딩 따라하기(기본) - 외장함수 (0) | 2021.01.29 |
---|---|
파이썬 코딩 따라하기(기본) - 패키지 (2) | 2021.01.14 |
파이썬 코딩 따라하기(기본) - 모듈 (0) | 2021.01.12 |
파이썬 코딩 따라하기(기본) - 에러/예외처리(try) (0) | 2021.01.06 |
파이썬 코딩 따라하기(기본) - 클래스 (0) | 2020.12.30 |