[파이썬] 내장함수, 외장함수

osdsoonhyun·2022년 1월 31일
0

파이썬

목록 보기
8/10
post-thumbnail

간략히 설명하자면, 내장함수는파이썬 내부에 정의가 되어 있으면 내장함수 내부에 없어서 외부에서 가져다가 쓰면 외장함수이다

내장함수

파이썬에서 기본적으로 포함하고 있는 함수 ex) print(), type()

abs => 절대값

>>> abs(-1.2)
1.2
>>> abs(-3)
3

all => 모두 참인지 검사

>>> all([1,2,3])
True
>>> all([1,2,3,4,0])
False

any => 하나라도 참이 있는가?

>>> any([1,2,3,0])
True
>>> any([0,""])
False

chr => ASCII 코드를 입력받아 문자 출력

>>> chr(97)
'a'
>>> chr(48)
'0'

*ASCII(아스키코드) = 0~127 사이의 숫자를 각 문자에 대응
아스키코드

dir => 자체적으로 가지고 있는 변수나 함수를 보여줌

>>> dir([1,2,3])
['append','count','extend', 'index', 'insert', 'pop', ...]
>>> dir({'1':'a'})
['clear', 'copy','get', 'has_key', 'items', 'keys', ...]

divmod => 몫과 나머지를 튜플 형태로 돌려줌

>>> divmod(7,3)
(2,1)
>>> divmod(1.3,0.2)
(6.0,0.00000000999999978)

enumerate => 열거하다

>>> for i, name in enumerate(['body', 'foo', 'bar']):
>>>		print(i,name)

0 body
1 foo
2 bar

eval => 실행 후 결과값을 돌려줌

>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4,3)')
(1,1)

filter => 함수를 통과하여 참인 것만 돌려줌

>>> def positive(x):
		return x > 0
>>> a = list(filter(positive,[1,-3,2,0,-5,6]))
>>> print(a)
[1,2,6]

>>> a = list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6]))
>>> print(a)
[1,2,6]

id => 주소 값

>>> a = 3
>>> id(3)
135072304
>>> id(a)
135072304
>>> b = a
>>> id(b)
135072304

input => 사용자 입력 받는 함수

>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi

>>> b
'hi'

int => 10진수 정수 형태로 전화

>>> int('3')
3
>>> int(3.4)
3
>>> int('11',2)
3
>>> int('1A',16)
26 

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]

map => 각 요소가 수행한 결과를 돌려줌

>>> def two_times(x): return x*2
>>> a = list(map(two_times,[1,2,3,4]))
>>> print(a)
[2,4,6,8]
>>> a = list(map(lambda a: a*2, [1,2,3,4]))
>>> print(a)
[2,4,6,8]

max => 최대값

>>> max([1,2,3])
3
>>> max("python")
'y'

min => 최소값

>>> min([1,2,3])
1
>>> min('python')
'h'

range => 범위

>>> list(range(5))
[0,1,2,3,4]

>>> list(range(1,10,2))
[1,3,5,7,9]

>>> list(range(0,-6,-1))
[0,-1,-2,-3,-4,-5]

round => 반올림

>>> round(4.6)
5
>>> round(5.678,2)
5.67
>>> round(4.2)
4

sorted => 정렬

>>> sorted([3,1,2])
[1,2,3]
>>> sorted((3,2,1))
[1,2,3]
>>> sorted('zero')
['e','o','r','z']

str => 문자열 반환

>>> str(3)
'3'
>>> str('hi',upper())
'HI'

tuple => 튜플 반환

>>> tuple('abc')
('a','b','c')
>>> tuple([1,2,3])
(1,2,3)
>>> tuple((1,2,3))
(1,2,3)

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')]

외장함수

라이브러리 함수, import 해서 쓰는 것

sys.argv

#argv_test.py
>>> import sys
>>> print(sys.argv)
C:/Python/Mymodules>python argv_test.py you need python['argv_test.py','you','need','python']

sys는 기존에 깔려있는 라이브러리로 시스템을 다룰 때 이용

pickle

>>> import pickle
>>> p = open("test.txt",'wb')
>>> data = {1: 'python', 2: 'you need'}
>>> pickle.dump(data,f)
>>> f.close()

>>> import pickle
>>> f = open("test.txt",'rb')
>>> data = pickle.load(f)
>>> print(data)
{2: 'you need', 1:'python'}

파일 형태로 저장할 수 있는데 딕셔너리와 같이 파이썬에만 있는 데이터를 pickle을 통해서 dump에 저장하여 언제든지 꺼내와 사용이 가능하다

time

>>> import time
>>> print(time.time())
197011000초를 기준으로 지난 시간 초

>>> print(time.localtime(time.time()))
>>> time.struct_time(tm_year=2013, tm_mon=5, tm_mday=21, tm_hour=16, tm_min=48, tm_sec=42, tm_wday=1, tm_yday=141, tm_isdst=0)

time.sleep

#sleep1.py
>>> import time
>>> for i in range(5):
>>> 	print(i)
>>> 	time.sleep(1)
0
1
2
3
4

time.sleep(1) -> 1초 쉬어라

random

>>> import random
>>> print(random.random())

# 0~1 사이의 난수
>>> random.randint(1,10)
6

>>> data = [1,2,3,4,5]
>>> random.shuffle(data)
>>> data
[5, 1, 3, 4, 2]

>>> import random
>>> lotto = sorted(random.sample(range(1,46),6))
>>> print(lotto)
[4,5,8,25,39,42]

webbrowser

>>> import webbrowser
>>> webbrowser.open("http://google.com")

>>> webbrower.open_new("http://google.com")

이러한 외장함수들은 외우는 것이 아니라 필요시 검색하여 가져가 사용하면 된다

0개의 댓글