간략히 설명하자면, 내장함수
는파이썬 내부에 정의가 되어 있으면 내장함수 내부에 없어서 외부에서 가져다가 쓰면 외장함수
이다
내장함수
파이썬에서 기본적으로 포함하고 있는 함수 ex) print(), type()
>>> abs(-1.2)
1.2
>>> abs(-3)
3
>>> all([1,2,3])
True
>>> all([1,2,3,4,0])
False
>>> any([1,2,3,0])
True
>>> any([0,""])
False
>>> chr(97)
'a'
>>> chr(48)
'0'
*ASCII(아스키코드) = 0~127 사이의 숫자를 각 문자에 대응
>>> dir([1,2,3])
['append','count','extend', 'index', 'insert', 'pop', ...]
>>> dir({'1':'a'})
['clear', 'copy','get', 'has_key', 'items', 'keys', ...]
>>> divmod(7,3)
(2,1)
>>> divmod(1.3,0.2)
(6.0,0.00000000999999978)
>>> for i, name in enumerate(['body', 'foo', 'bar']):
>>> print(i,name)
0 body
1 foo
2 bar
>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4,3)')
(1,1)
>>> 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]
>>> a = 3
>>> id(3)
135072304
>>> id(a)
135072304
>>> b = a
>>> id(b)
135072304
>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi
>>> b
'hi'
>>> int('3')
3
>>> int(3.4)
3
>>> int('11',2)
3
>>> int('1A',16)
26
>>> len("python")
6
>>> len([1,2,3])
3
>>> len((1,'a'))
2
>>> 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]
>>> 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([1,2,3])
3
>>> max("python")
'y'
>>> min([1,2,3])
1
>>> min('python')
'h'
>>> 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(4.6)
5
>>> round(5.678,2)
5.67
>>> round(4.2)
4
>>> sorted([3,1,2])
[1,2,3]
>>> sorted((3,2,1))
[1,2,3]
>>> sorted('zero')
['e','o','r','z']
>>> str(3)
'3'
>>> str('hi',upper())
'HI'
>>> tuple('abc')
('a','b','c')
>>> tuple([1,2,3])
(1,2,3)
>>> tuple((1,2,3))
(1,2,3)
>>> 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 해서 쓰는 것
#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는 기존에 깔려있는 라이브러리로 시스템을 다룰 때 이용
>>> 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에 저장하여 언제든지 꺼내와 사용이 가능하다
>>> import time
>>> print(time.time())
1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간 초
>>> 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)
#sleep1.py
>>> import time
>>> for i in range(5):
>>> print(i)
>>> time.sleep(1)
0
1
2
3
4
time.sleep(1) -> 1초 쉬어라
>>> 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]
>>> import webbrowser
>>> webbrowser.open("http://google.com")
>>> webbrower.open_new("http://google.com")
이러한 외장함수들은 외우는 것이 아니라 필요시 검색하여 가져가 사용하면 된다