코딩배우기

파이썬 함수 전체 69개 총정리 - 파이썬 내장함수

탁이 2019. 11. 20. 09:02

python에 포함되어있는 "내장 함수" 에 대한 간단한 설명과 사용법을 설명합니다. 공식 문서 에 기재되어있는 69 개의 함수와 형태를 말합니다. 즐겨찾기로 설정해서 레퍼런스로 사용하시면 좋겠습니다.

1. abs ()

수의 절대 값을 반환합니다. 인수는 정수, 부동 소수점 복소수를 받아들입니다.

>>> abs ( 10 ) 
10 
>>> abs ( 10.0 ) 
10.0 
>>> abs ( - 10 ) 
10 
>>> abs ( complex ( 3 , 4 )) 
5.0

 

2-3. all (), any ()

  • all()인수의 요소가 모든 True 라면 True을 반환 하나라도 False 라면 False를 반환해 줍니다.
  • any()인수 중 하나의 요소가 True 라면 True를 반환 모두가 False 라면 False를 반환해 줍니다.
>>>  array  =  [] 

# 빈 배열의 경우 all True
 >>>  all ( array ),  any ( array ) 
( True ,  False ) 

>>>  array  =  [ 1 , 2 , 3 ] 
>> >  all ( array ),  any ( array ) 
( True ,  True ) 

# 0 Flase
 >>>  array  =  [ 0 , 1 , 2 ]
>>>  all ( array ),  any ( array ) 
( False ,  True ) 

>>>  array  =  [ 0 , 0 , 0 ] 
>>>  all ( array ),  any ( array ) 
( False ,  False ) 

>>>  array  =  [ True ,  True ] 
>>>  all ( array ),  any ( array )
( True ,  True ) 

>>>  array  =  [ True ,  False ] 
>>>  all ( array ),  any ( array ) 
( False ,  True ) 

>>>  array  =  [ False ,  False ] 
>>>  all ( array )  any ( array ) 
( False ,  False )

 

4-5. ascii (), repr ()

eval() 평가하는 인수와 같은 객체가 될 문자열을 생성합니다.

  • ascii()비 ascii 문자열을 Unicode로 이스케이프.
  • repr()비 ascii 문자열을 이스케이프하지 않습니다.
>>>  n  =  1 
>>>  ascii ( n ),  repr ( n )   # 숫자에 대한 거동 동일
 ( '1' ,  '1' ) 
>>>  eval ( ascii ( n )),  eval ( repr ( n )) 
( 1 ,  1 ) 

>>>  s  =  '문자열' 
>>>  ascii ( s ),  repr ( s )   # 문자열은 ascii 만 Unicode 로 이스케이프 된다
 ( " '\\u6587 \\ u5b57 \\ u5217 ' " ,  "'문자열 ' " ) 
>>>  eval ( ascii ( s )),  eval ( repr ( s )) 
( '문자열 ' ,  '문자열 ' )

 

6-8. bin () oct (), hex ()

  • bin()정수를 2 진수 문자열 로 변환합니다.
  • oct()정수를 8 진수 문자열 로 변환합니다.
  • hex()정수를 16 진수 문자열 로 변환합니다.
>>>  bin ( 2 )  oct ( 2 ),  hex ( 2 ) 
( '0b10' ,  '0o2' ,  '0x2' ) 

>>>  bin ( - 10 )  oct ( - 10 ),  hex ( - 10 ) 
( '-0b1010' ,  '-0o12' ,  '-0xa' ) 

>>>  bin ( 2 )  +  bin ( - 10 )  oct (2 )  +  oct ( - 10 ),  hex ( 2 )  +  hex ( - 10 )   # 문자열이므로 + 연산자는 문자열 결합으로 작동
 ( '0b10-0b1010' ,  '0o2-0o12' ,  '0x2-0xa ' )

 

9. bool ()

인수에 대한 진리 값 판정 절차에 따라 True 나 False를 반환합니다.

진리 값 판정 절차는 조금 까다롭지만 대체로 다음과 같이 결정됩니다.

  • False, 0, None 은 False
  • 빈 목록 빈 문자열 빈 사전 False
  • 뭔가 들어가 있으면 대략 True
>>>  bool () 
False 
>>>  bool ( None ),  bool ( False ),  bool ( 0 )  bool ([])  bool ( '' ),  bool ({}) 
( False ,  False ,  False ,  False ,  False ,  False ) 
>>>  bool ( True )  bool ( 1 )  bool ( False ),  bool ( 'None')  bool ({ 'key' :  None }) 
( True ,  True ,  True ,  True ,  True )

 

10. breakpoint ()

해당 부분에서 python 표준 디버거를 호출합니다.

>>>  array  =  [ 1 , 2 , 3 ] 
>>>  total  =  sum ( array ) 
>>>  breakpoint () 
- Return - 
>  < stdin > ( 1 ) < module > () -> None 
( Pdb )  total 
6

 

11 ~ 12. bytes (), bytearray ()

함께 byte 배열을 돌려줍니다.
문자열을 인수에 취하는 경우는 byte 배열로 변환하기위한 encoding 방법을 지정해야합니다.
또한 정수를 인수에 취하는 경우 지정된 정수 길이의 하늘 byte 배열을 돌려줍니다.

  • bytes()는 immutable (변경 불가능)
  • bytearray()는 mutable (변경 가능)
>>>  b1 ,  b2  =  bytes ( 'abcde' ,  encoding = 'utf-8' ),  bytearray ( 'abcde' ,  encoding = 'utf-8' ) 
>>>  b1 ,  b2 
( b 'abcde' ,  bytearray ( b 'abcde' )) 
>>>  b1 [ 0 ],  b2 [ 0 ] 
( 97 ,  97 ) 

>>> b1 [ 0 ]  = 110   # immutable 이므로 값을 대입할 수 없다
 Traceback  ( most  recent  call  last ) : 
  File  "<stdin>" ,  line  1 ,  in  < module > 
TypeError :  'bytes'  object  does  not  support  item  assignment 

>>>  b2 [ 0 ]  =  110   # mutable 이므로 값을 대입할 수 있다
 
>>>  b1 ,  b2 
( b 'abcde' ,  bytearray ( b 'nbcde' ))

>>>  bytes ( 5 ),  bytearray ( 5 )   # 정수 값을 인수로 가지고 빈 바이트로 초기화
 ( b ' \ x00 \ x00 \ x00 \ x00 \ x00 ' ,  bytearray ( b ' \ x00 \ x00 \ x00 \ x00 \ x00 ' ))

 

13. callable ()

인수가 호출 가능한 객체이면 True를, 그렇지 않으면 False를 반환합니다.
또한 클래스는 항상 호출 가능하며, 인스턴스 __call__메소드를 가지는 경우에 호출 할 수 있습니다.

>>>  class  CallableObject : 
...      def  __init__ ( self ) : 
...              pass 
...      def  __call__ ( self ,  x ) : 
...              return  x  **  2 
...  
>>>  class  NotCallableObject : 
...      def  __init__ ( self ) : 
...              pass 
...  
>>>  callable ( CallableObject ),  callable ( NotCallableObject )   # 클래스 자체는 호출 가능
( True ,  True ) 
>>>  callable ( CallableObject ()),  callable ( NotCallableObject ())   # 인스턴스는 __call__ 방법이 있으면 호출 가능
 ( True ,  False )

 

14 ~ 15. chr (), ord ()

  • chr정수를 받아서 Unicode 코드 포인트가 일치하는 문자를 반환합니다.
  • ord문자를 받아서 Unicode 코드 포인트를 돌려줍니다.
>>>  chr ( 97 ) 
'a' 
>>>  ord ( 'a' ) 
97 
>>>  chr ( 12354 ) 
'a' 
>>>  ord ( 'a' ) 
12354

 

16 ~ 17. classmethod () staticmethod ()

  • classmethod()이 클래스에 정의되어있는 일반 메소드를 클래스 메소드로 변환합니다.
  • staticmethod()이 클래스에 정의되어있는 일반 메소드를 정적 메소드로 변환합니다.
>>>  class  SampleObject : 
...      def  __init__ ( self ) : 
...              self . name  =  'sample object' 
...      def  normal_method ( self ) : 
...              print ( self . name ) 
...              print ( self . __name__ ) 
...      @ classmethod 
...      def  class_method ( cls ) : 
...              print ( cls .__name__ ) 
...      @ staticmethod 
...      def  static_method () : 
...              print ( 'static method' ) 
...  

>>>  SampleObject . normal_method ()   # 일반 메소드는 클래스에서 부를 수 없다
 Traceback  ( most  recent  call  last ) : 
  File  "<stdin>" ,  line  1 ,  in  < module > 
TypeError :  normal_method ()  missing  1  required  positional  argument:  'self' 

>>>  SampleObject . class_method ()   # 클래스에서 부를수 있다 __name__ 부를 수 있다
 SampleObject 

>>>  SampleObject . static_method ()   # 클래스에서 부를 수 있다
 static  method 

>>>  SampleObject () . normal_method ()   # 인스턴스에서 부를 수 있다 self를 인수 데리고 있기 때문에 __name__는 부를 수없다
 sample  object 
Traceback  ( most  recent  call  last ) : 
  File  "<stdin>" ,  line  1 ,  in  < module > 
  File "<stdin>" ,  line  6 ,  in  normal_method 
AttributeError :  'SampleObject'  object  has  no  attribute  '__name__' 

>>>  SampleObject () . class_method ()   # 인스턴스에서 부를수 있다, __name__ 부를 수 있다
 SampleObject 

>>>  SampleObject () . static_method ()   # 인스턴스에서 부를 수 있다
 static  method

 

18. compile ()

인수를 코드 개체 또는 AST 객체로 컴파일합니다. 3 개의 인수가 필요합니다.

  • source (문자열, AST 개체 바이트)
  • filename (파일 이름 또는 <string>)
  • mode (일련의 문장이라면 exec단일 식이면 eval단일 대화 형 문장이라면 single)


문장 (Statement)는 값을 반환하지 않는다
식 (Expression)은 값을 반환 한다

 

>>>  statement  =  '' ' 
... a = 5 
... b = 3 
... c = a + b 
...' '' 
>>>  code  =  compile ( statement ,  '<string>' ,  ' exec ' ) 

# exec 문장을 실행하기
 >>>  exec ( code ) 
# 출력되지 않지만 실행 된 변수가 메모리에 존재하는
 >>>  a ,  b ,  c 
( 5 ,  3 ,  8 ) 

# eval에서 식을 평가하기
>>>  expression  =  'a + b' 
>>> code  =  compile (expression ,  '<string>' ,  'eval' ) 
# 값이 반환되는
>>>  eval ( code ) 
8

19 ~ 21 : int () float () complex ()

  • int()숫자 또는 문자열에서 생성 된 정수 객체를 반환합니다.
  • float()몇 또는 문자열에서 생성 된 부동 소수점 수를 돌려줍니다.
  • complex()문자열이나 숫자를 복소수로 변환합니다.

>>> int () # 인수 없음이라 0 0 >>> int ( 10.5 ) # 약간은 잘라 10 >>> int ( False ), int ( True ) # bool 형식을 변환 할 수 ( 0 , 1 ) >>> float () 0.0 >>> float ( False ), float ( True ) ( 0.0 , 1.0 ) >>> float ( 'nan' ), float ( 'Infinity' ), float ( '-infinity' ) # 한 부 문자열을 받아 ( nan , inf , - inf ) >>> float ( '1e-003' ), float ( + 1E6 ' ) ( 0.001 , 1000000.0 ) >>> complex () 0j >>> complex ( '1 + 2j' ) ( 1 + 2j ) >>> complex ( 1 , 2 ) ( 1 + 2j ) >>> complex ( 1 ) ( 1 + 0j )

22 ~ 25. setattr () getattr () delattr () hasattr ()

  • setattr()개체에 값을 설정합니다. 인수는 객체, 문자열, 임의의 값입니다.
  • getattr()개체의 값을 가져옵니다. 인수는 객체 속성의 이름입니다.
  • delattr()객체의 값을 삭제합니다. 인수는 객체 속성의 이름입니다.
  • hasattr()개체가 속성을 가지고 있는지 확인합니다. 인수는 객체 속성의 이름입니다.

>>> class SampleObject : ... def __init__ ( self ) : ... self . name = 'sample object' >>> so = SampleObject () >>> getattr ( so , 'name' ) 'sample object' >>> setattr ( so , 'name' , 'set attribute' ) >>> getattr ( so , 'name' ) 'set attribute' >>> hasattr ( so , 'name' ) True >>> delattr ( so , 'name' ) >>> hasattr ( so , 'name' ) False >>> getattr ( so , 'name' ) # 삭제되어 있기 때문에 오류가 발생하는 Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > AttributeError : 'SampleObject' object has no attribute 'name' >>> getattr ( so , 'name' , 'No Attribute' ) # 세 번째 인수에 속성이없는 경우의 반환 값을 지정 'No Attribute'

26. dict ()

내장 클래스 dict를 만듭니다.

>>> dict () # 인수없이 빈 사전을 만들 {} >>> dictionary = { 'a' : [ 1 , 2 , 3 , 'b' : None , 'c' : '문자열' } >>> dictionary [ 'd' ] = True >>> dictionary { 'a' : [ 1 , 2 , 3 , 'b' : None , 'c' : '문자열', 'd' : True }

27. dir ()

인수가없는 경우 현재 범위에있는 이름의리스트를 돌려줍니다.
인수가있는 경우 해당 개체의 유효한 속성의 목록을 반환하려고 시도합니다.

인수가있는 경우 기재가 애매하지만, 대화 형으로의 이용을 전제로하고 있기 때문에 완전한리스트를 돌려 준다고는없는 것 같습니다.
하지만 가장 중요한 정보를 반환하도록 작성되어 있다는 것입니다 때문에 평소에는 미처 신경 쓰지 않아도 좋을까 생각합니다.

>>> dir () [ '__annotations__' , '__builtins__' , '__doc__' , '__loader__' , '__name__' , '__package__' , '__spec__' ] >>> a , b , c = 1 , 2 , 3 > >> dir () [ '__annotations__' , '__builtins__' , '__doc__' , '__loader__' , '__name__' , '__package__ ' , '__spec__ ' , 'a ', 'b' , 'c' ] >>> [ i for i in dir ( list ) if '_' not in i ] # list 형이 어떤 방법이 있는지 조사 [ "append ' , 'clear ' , 'copy ' , 'count ' , 'extend' , 'index' , 'insert' , 'pop' , 'remove' , 'reverse' , 'sort' ]

28. divmod ()

두 (복소수 제외) 수치 인수를 나누기 결과의 몫과 나머지를 반환합니다.

>>> divmod ( 10 , 3 ) ( 3 , 1 )
>>> divmod ( 10 , 2 ) ( 5 , 0 )
>>> divmod ( 10 , 11 ) ( 0 , 10 )
>>> divmod ( 10.0 , 3.0 ) # 부동 소수로도 계산 가능 ( 3.0 , 1.0 )

29. enumerate ()

iterable (루프 가능) 개체를 개체의 위치 번호 및 요소의 iterable (루프 지원) 객체로 변환합니다.

>>> array = [ 'a' , 'b' , 'c' , 'd' ]
>>> [( i , v ) for i , v in enumerate ( array )] [( 0 , 'a' ) ( 1 , 'b' ), ( 2 , 'c' ), ( 3 , 'd' )]

30 ~ 31. eval () exec ()

앞서 언급 compile()대한 설명으로 등장했습니다.

  • eval()주어진 문자열 표현식을 평가합니다. 결과는 식의 평가 결과입니다.
  • exec()주어진 문자열의 문장을 실행합니다. 반환 값은 없습니다. ( None입니다.)

>>> a , b = 5 , 3
>>> eval ( 'a + b' ) # 결과가 8
>>> exec ( 'a, b = 4, 6; c = a + b' ) # 결과는없는
>>> c 10 >>> eval ( 'c = a + b' ) # 문장은 평가할 수없는 Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > File "<string>" , line 1 c = a + b ^ SyntaxError : invalid syntax

32 ~ 33. filter (), map ()

  • filter()함수와 iterable (루프 가능) 객체를 인수로 함수의 조건에 일치하는 요소만을 추출한 목록을 반환합니다.
  • map()함수와 iterable (루프 가능) 객체를 인수로 함수를 적용한 요소의 목록을 반환합니다.

>>> array = [ 0 , 1 , 2 , 3 , 4 , 5 ]
>>> list ( filter ( lambda x : x > 2 , array )), list ( map ( lambda x : x * 2 , array )) ( 3 , 4 , 5 , [ 0 , 2 , 4 , 6, 8 , 10 )
>>> list ( filter ( None , [ 0 , 1 , 2 , 3 , 4 , 5 ])) # 요소가 False 로 사라진다 [ 1 , 2 , 3 , 4 , 5 ] 
>>> array1 = [ 1 , 2 , 3 , 4 , 5 ]
>>> array2 = [ 1 , 3 , 5 , 4 , 2 ]
>>> list ( map ( lambda x , y : int ( x == y ) array1 , array2 )) [ 1 , 0 , 0 , 1, 0 ]

34. format ()

첫 번째 인수의 문자열을 두 번째 인수의 템플릿으로 포맷 된 문자열을 반환합니다.

>>> format ( '문자열' ) # 인수 없음이라고 그대로 '문자열'
>>> format ( 100 , '0> 12d' ) # 0 묻어 오른쪽 막 12 자리 '000000000100' >>> format ( 10.3648573 , '.4f' ) # 유효 숫자 4 자리 '10 .3649 '
>>> format ( 168 , 'X ' ) # 16 진수 된 'A8 '

35 ~ 36 : set () frozenset ()

내장 클래스 set를 돌려줍니다.
- set()는 mutable (변경 가능)
- frozenset()은 imutable (변경 불가능)

>>> s1 , s2 = set ( 1 , 1 , 2 , 3 ]) frozenset ( 1 , 1 , 2 , 3 ]) >>> s1 , s2 ({ 1 , 2 , 3 }, frozenset ({ 1 , 2 , 3 })) >>> s1 . add ( 5 ), s2 . add ( 5 ) Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > AttributeError : 'frozenset' object has no attribute 'add' >>> s1 , s2 ({ 1 , 2 , 3 , 5 }, frozenset ({1 , 2 , 3 })) >>> s1 . remove ( 1 ) s2 . remove ( 1 ) Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > AttributeError : 'frozenset' object has no attribute 'remove' >>> s1 , s2 ({ 2 , 3 , 5 }, frozenset ({ 1, 2 , 3 }))

37 ~ 38. globals () locals ()

>>> def local_method () : ... n , s = 1 , '문자열' ... print ( 'g variables' , [( k , v ) for k , v in globals () . items () if '_' not in k ]) ... print ( 'l variables' , [( k , v ) for k , v in locals() . items () if '_' not in k ]) >>> n , s = 1000000 , 'Global 문자열' # global 공간에서 globals ()와 locals ()에서 얻을 수있는 변수는 같은 >>> print ( 'g variables' , [( k , v ) for k , v in globals () . items () if '_' not in k ]) g variables [( 'n' , 1000000 ) ( 's' , 'Global 문자열' ) >>> print ( 'l variables' , [( k , v ) for k , v in locals () . items () if '_' not in k ]) l variables [( 'n' , 1000000 ) ( ' s ' , 'Global 문자열 ' ) # 메서드 공간에서 globals ()와 locals ()에서 얻을 수있는 변수가 다름 >>> local_method () g variables [( 'n' , 1000000 ) ( 's' , 'Global 문자열' ) l variables [( 'n' , 1 ), ( 's' , '문자열' )

39. hash ()

객체의 해시 값을 반환합니다.
해시 값에 고유하게 정해져 있습니다.

>>> hash ( 1 ) 1
>>> hash ( 1.0 ) 1
>>> hash ( 'a' ) - 4467320059549433340

40. help ()

대화 형 사용을위한 도움말 시스템을 시작합니다.
내장 함수뿐만 아니라 타사 라이브러리의 문서도 확인 할 수 있습니다.

>>> import numpy as np
>>> help ( np ) Help on package numpy : NAME numpy DESCRIPTION NumPy ===== Provides 1. An array object of arbitrary homogeneous items 2. Fast mathematical operations over arrays 3. Linear Algebra , Fourier Transforms , Random Number Generation How to use the documentation 

41. id ()

객체 식별자를 돌려줍니다.

  • mutable 변수는 값이 바뀌어도 식별자는 변하지 않는다
  • immutable 변수는 값이 바뀌면 식별자도 변화

# 식별자는 변하지 않는
>>> array1 = [ 1 , 2 , 3 ] >>> id ( array1 ) 4542258248 >>> array1 [ 2 ] = 4 >>> id ( array1 ) 4542258248 # 식별자가 변화 >>> n = 1 >>> id ( n ) 4425035920 >>> n = 2 >>> id ( n ) 4425035952 >>> array1 = [ 1 , 2 , 3 ] #이 나와 같은 참조를 보는 것을 의미한다 (다른 메모리 공간에 데이터를 복사하는 것은 아니다) >>> array2 = array1 >> > id ( array1 ), id ( array2 ) ( 4548004680 , 4548004680 ) # 한편의 변경이 두 변수에 영향을주는 >>> array1 [ 2 ] = 10000 >>> array1 , array2 ( 1 , 2 , 10000 , [ 1 , 2 , 10000 )

42. input ()

인수가 있으면, 표준 출력에 그것을 출력합니다. 그 후, 입력에서 한 줄을 읽어 들여 돌려줍니다.

>>> input ( '뭔가 입력 :' ) 뭔가 입력 : abc 'abc'

43 ~ 44. isinstance () issubclass ()

  • isinstance()는 첫번째 파라미터 객체 두 번째 인수에 클래스를 취하고 객체가 클래스의 인스턴스인지를 판정합니다.
  • issubclass()는 첫 번째 인수, 두 번째 인수에 클래스를 취하여 첫 번째 인수가 두 번째 인수의 서브 클래스를 판정합니다.

>>> isinstance ( 1 , int ) isinstance ( 1.0 , float ) isinstance ( 'string' , str ) isinstance ( True , bool ) ( True , True , True , True ) >>> isinstance ( 1 , float ) , isinstance ( 1.0 , int ) isinstance ( 'string' , bool) isinstance ( True , str ) ( False , False , False , False ) # int는 int의 서브 클래스이며, float의 서브 클래스 아니라 object의 서브 클래스 >>> issubclass ( int , int ) issubclass ( int , float ) issubclass ( int , object ) ( True , False , True )

45 ~ 46. iter (), next ()

  • iter()인수가 하나의 경우 반복자 오브젝트를 돌려줍니다.
  • iter()인수가 두 경우 첫 번째 인수의 객체를 두 번째 인수의 결과를 얻을 때까지 계속 호출합니다.
  • next()는 이터레이터 객체의 __next__메소드를 호출합니다.

반복자 객체는 __next__함수를 가지고 있으며, 이것을 호출하면 요소를 0부터 차례로 취득 할 수 있습니다.
요소가 부족하면 StopIteration예외 raise합니다.

# next ()와 함께 사용 >>> array = [ 1 , 2 , 3 ] >>> it = iter ( array ) >>> while True : ... try : ... print ( next ( it )) ... except StopIteration : ... break ... 1 2 3 # input의 결과가 exit 때까지 입력을 받아 계속 >> for _ in iter ( input , 'exit' ) : ... pass ... a ba e exit >>>

47. len ()

객체의 길이 또는 요소의 수를 돌려줍니다.
인수로받을 수있는 것은, 문자열, 바이트 튜플, 목록 range(), 사전, 집합입니다.

>>> len ( 'ABC' ) 3 >>> len ( 'a' , 'b' , 'c' ]) 3 >>> len (( 1 , 2 , 3 )) 3 >>> len ( 1 , 2 , 3 ) 3 >>> >>> len ({ 'a' : 'apple' , 'b' : 'banana' }) 2

48. list ()

내장 클래스 list를 돌려줍니다.

>>> list () [] >>> list ( 'ABC' ) [ 'A' , 'B' , 'C' ] >>> list (( 1 , 2 , 3 )) [ 1 , 2 , 3 ] >>> list ({ 'a' : 'apple' , 'b' : 'banana' }) [ 'a' , 'b' ] >>>

49 ~ 50. max (), min ()

  • max()는 iterable (루프 가능한 객체)의 가장 큰 요소 또는 2 개 이상의 인수 중 최대의 것을 돌려줍니다.
  • min()는 iterable (루프 가능한 객체)에서 최소의 요소, 또는 2 개 이상의 인수 중 최소의 것을 돌려줍니다.

key 인수에 수치 비교를 할 때 적용하는 함수를 지정할 수 있습니다.
default 인수로 빈 list가 입력되었을 때의 결과를 지정할 수 있습니다.

>> array = [ 1 , 2 , 3 , 4 , 5 ] >>> max ( array ), min ( array ) ( 5 , 1 ) >>> max ( 1 , 2 , 3 , 4 , 5 ), min ( 1 , 2 , 3 , 4 , 5 ) ( 5 , 1 ) >>> max ( array , key = lambda x : x % 4 ), min ( array , key = lambda x : 10 - x ) ( 3 , 5 ) >>> max ( list ( filter ( lambda x : x > 10 , array ))) Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > ValueError : max () arg is an empty sequence >>> max ( list ( filter ( lambda x : x> 10 , array )) default = - 1 ) - 1

51. memoryview ()

주어진 개체에서 만들어진 메모리 뷰 오브젝트를 돌려줍니다.
버퍼 프로토콜을 이용하고 있기 때문에, bytes (), bytearray ()보다 빠르게 바이너리 데이터를 처리 할 수 있습니다.

>>> v = memoryview ( bytes ( 'abcdefg' , encoding = 'utf-8' )) >>> v [ 0 ] 97 >>> ord ( 'a' ) 97

52. object ()

특징이없는 새로운 객체를 돌려줍니다.
덧붙여 object는 모든 클래스의 base class입니다.
이 함수는 어떠한 인수도 허용하지 않습니다.

53. open ()

첫 번째 인수 파일을 두 번째 인수의 모드 (기본값 r입니다)에서 열고 파일 오브젝트를 돌려줍니다.

# 현재 디렉토리에 abc.txt라는 이름의 파일을 만들고 파일 개체를 반환 >>> f = open ( 'abc.txt' , 'w' ) >>> f . write ( 'ABC \ n ' ) 4 > >> f . close () # with 구문에서 범위 지정하여 파일을 명시 적으로 닫을 필요가 없어 >>> with open ( 'abc.txt' ) as f : ... f . read () ... 'ABC \ n '

54. pow ()

첫 번째 인수의 두 번째 인수 제곱을 반환합니다.
세 번째 인수를 취하면 결과의 나머지를 빨리 돌려줍니다.

# 멱 제곱 연산자와 동일한 >>> pow ( 2 , 10 ), 2 ** 10 ( 1024 , 1024 ) # 결과가 동일하지만 왼쪽이 더 이른 >>> pow ( 2 , 10 , 10 ), 2 ** 10 % 10 ( 4 , 4 )

55. print ()

받은 객체를 (기본적으로 표준 출력에) 출력합니다.
여러 키워드를받은 경우는 sep인수로 구분하면서 출력합니다.
end인수를 지정하면 마지막으로 지정한 문자열로 끝납니다. (기본값은 '\ n')
file인수를 지정하면 파일 출력 및 오류 출력에도 쓸 수 있습니다.

>>> print ( 'ABC' ) ABC # 여러 인수를받을 수있다. sep에 결합하고 end 마지막에 추가 >>> print ( 'A' , 'B' , 'C' , sep = '/' , end = 'end \ n ' ) A / B / C end # 파일 객체를 지정하면 파일 출력 할 수 >>> with open ( 'abc.txt' , 'w' ) as f : ... print ( 'A' , 'B' , 'C' , sep = '/' , end = 'end \ n ' , file = f ) ... >>>

56. property ()

객체가 가지는 속성의 행동을 결정하는 property 속성을 반환합니다.
주로 장식으로 사용됩니다.

>>> class SampleObject : ... def __init__ ( self ) : ... self . __num = 100 ... self . word = 'camera' ... >>> so = SampleObject () # 일반적으로 "__" 접두사가 붙은 변수는 외부에서 액세스 할 수 없으므로 안전하게 사용할 수 >>> so . __num Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module> AttributeError : 'SampleObject' object has no attribute '__num' # 보통 변수는 당연히 액세스 할 >>> so . word 'camera' >>> class SampleObject : ... def __init__ ( self ) : ... self . __num = 100 ... @ property ... def num ( self ) : ... "" "It is the 'num'property "" " ... return self . __num ... @ num . setter ... def num ( self , num ) : ... self . __num = num ... @ num . deleter ... def num ( self ) : ... del self . __num ... >>> so = SampleObject () # property가 정의되어 있으면 변수에 액세스 할 수 >>> so . num 100 # setter가 정의되어 있으면 변수를 변경할 수 >>> so . num = 150 >>> so . num 150 # deleter가 정의되어 있으면 변수를 제거 할 수 >>> del so . num >>> so . num Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > File " <stdin> " , line 7 , in num AttributeError : 'SampleObject' object has no attribute '_SampleObject__num' # property에 document를 언급이 포함되어 있다고 볼 수 >>> SampleObject . num . __doc__ "It is the 'num'property"

57. range ()

첫 번째 인수에서 두 번째 인수까지의 정수의 연속 값을 iterable (루프 가능한 객체)로 돌려줍니다.
첫 번째 인수는 기본적으로 0같습니다.
또한 세 번째 인수에 연속 값의 폭을 지정할 수 있습니다.

>>> range ( 5 ) range ( 0 , 5 ) # 가독성을 위해 list 형식 cast >>> list ( range ( 5 )) [ 0 , 1 , 2 , 3 , 4 ] >> list ( range ( 1 , 5 )) [ 1 , 2 , 3 , 4 ] >>> list ( range ( 1 , 5 , 2 )) # 하나 날려 [ 1 , 3 ]

58. reversed ()

요소를 역순으로 추출 반복자 오브젝트를 돌려줍니다.

>>> array = [ 1 , 2 , 3 , 4 , 5 ] # 결과는 반복자 객체 >>> rit = reversed ( array ) >>> while True : ... try : ... print ( next ( rit )) ... except StopIteration : ... break ... 5 4 3 2 1 # 다음과 같이 사용하는 경우가 많다 >>> for a in reversed ( array ) : ... print ( a ) ... 5 4 3 2 1

59. round ()

첫 번째 인수를 두 번째 인수의 자리에서 반올림 한 값을 반환합니다.
반올림이 아닌 점에주의하십시오

실제로는 짝수 반올림이 이루어집니다.

단수가 0.5 미만이면 잘라 버려
단수가 0.5보다 크면 반올림,
반올림 다만 0.5이라면 잘라내기로 절상 중 결과가 짝수가되는 분에 둥근.

또한 python2 하강 round()는 반올림합니다

>>> round ( 123.456 , 1 ) # 소수 첫째 자리에서 반올림 123.5 >>> round ( 123.456 , - 1 ) # 십 단위에서 반올림 120.0 >>> round ( 0.5 ), round ( - 0.5 ) # 1이 아닌 0이 ( 0 , 0 ) >>> round ( 1.5 ), round ( - 1.5 ) # 2가된다 ( 2 , - 2 ) >> > round ( 2.675 , 2 ) # 부동 소수점 정확하게 표현할 수 없기 때문에 짝수 반올림에 들어 맞지 않는 경우도있다 2.67

60. slice ()

range()뿐만 아니라 시작점 종료 위치, 간격의 3 개의 인수를 취합니다.
배열 등의 iterable (루프 가능한 객체)에 적용하여 해당 위치의 요소를 얻을 수 있습니다.

>>> slice ( 1 , 5 , 2 ) slice ( 1 , 5 , 2 ) >>> array = [ 0 , 1 , 2 , 3 , 4 , 5 ] >>> array [ slice ( 1 , 5 , 2 )] [ 1 , 3 ] # 다음과 같은 >>> array [ 1 : 5 : 2 ] [ 1 , 3 ]

61. sorted ()

iterable (루프 가능한 객체)의 요소를 정렬 된 새로운리스트를 돌려줍니다.
key인수를 지정하면 지정된 메서드를 적용한 결과에 대해 정렬 할 수 있습니다.
reverse인수 True의 경우 역순 정렬하여 결과를 반환합니다.

정렬은 같은 값의 순서가 원래 목록과 동일 안정 정렬 입니다.

>>> array = [ 3 , 4 , 2 , 1 , 5 ] >>> sorted ( array ) [ 1 , 2 , 3 , 4 , 5 ] >>> sorted ( array , reverse = True ) [ 5 , 4 , 3 , 2 , 1 ] >>> sorted ( array , key = lambda x : x % 3 ) # 같은 값 (4 1), (2 5)의 순서가 원래 목록과 변함없는 안정적인 정렬 [ 3 , 4, 1 , 2 , 5 ]

62. str ()

인수의 캐릭터 라인을 돌려줍니다.

>>> str ( True ), str ( False ) ( 'True' , 'False' ) >>> str ( 1 ), str ( 1.11 ), str ( complex ( '1 + 2j' )) ( '1' , '1.11' , '(1 + 2j)' ) >>> str ([ 1 , 2 , 3 ]) '[1, 2, 3]' >>> str (( 1 , 2 , 3 )) '(1, 2, 3)' >>> str ({ 'a' : 'apple' , 'b' : 'banana' }) "{ 'a': 'apple', 'b': 'banana'}" >>> str ( bytes ( 'a' , encoding = 'utf-8' )) "b'a '"

63. sum ()

첫 번째 인수의 iterable (루프 가능한 객체)의 요소를 왼쪽에서 오른쪽으로 합산하여 합계를 반환합니다.
두 번째 인수에 초기 값을 취합니다. 기본값은 0입니다.

>>> array = [ 1 , 2 , 3 , 4 , 5 ] >>> sum ( array ) 15 >>> sum ( array , 6 ) 21

64. super ()

부모 클래스의 메소드를 호출합니다.

>>> class ParentObject : ... def __init__ ( self ) : ... self . num = 100 ... self . word = '문자' ... >>> class ChildObject ( ParentObject ) : ... def __init__ ( self ) : ... try : ... print ( self . num , self . word ) ... except AttributeError : ... print ( '부모 클래스의 __init__ 내에있는 변수는 볼 수없는' ) ... super () . __init__ () ... print ( self . num , self . word ) ... > >> co = ChildObject () 부모 클래스의 __init__ 내에있는 변수는 볼 수없는 100 문자

65. tuple ()

tuple형태를 생성합니다.
튜플은 immutable (변경 불가능) 시퀀스에서 일반적으로 서로 다른 데이터 집합을 저장하는 데 사용됩니다.

>>> tuple () ()
>> tuple ([ 1 , 2 , 3 , 1 , 'a' , 'b' , 'c' ]) ( 1 , 2 , 3 , 1 , 'a' , 'b' , 'c' ) >>> tuple ( 'abc' ) ( 'a' , 'b' , 'c' ) >>> t = ( 'abc' ) >>> t [ 0 ] 'a' >>> t [ 0 ] = 'z' # 변경 불능 Traceback ( most recent call last ) : File "<stdin>" , line 1 , in < module > TypeError : 'str' object does not support item assignment

66. type ()

인수 한 경우는 인수의 형태를 돌려줍니다.

인수 3 가지 경우 클래스 객체를 돌려줍니다.

>>> n = 10 # 다음 구문 강조가 무너 지므로 출력의 class에 _를 추가합니다. 사실은 없습니다. >>> type ( n ) < class_ 'int' > >>> type ( n / 3 ) < class_ 'float' > >>> type ( True ) < class_ 'bool' > >>> type ( True - 1 ) < class_ 'int' > # SampleObject 클래스를 정의 >>> SampleObject = type ( 'SampleObject' , ( object ), dict ( num = 100 )) >>> SampleObject . num 100 # 다음과 같은 개체가 만들어지는 >>> class SampleObject : ... num = 100 ... >>> SampleObject . num 100

67. vars ()

인수의 객체가 가지는 속성의리스트를 돌려줍니다.
인수 없음의 경우 locals()와 동일한 결과를 반환합니다.

>>> class SampleObject : ... def __init__ ( self ) : ... self . num = 100 ... self . word = '문자' ... >>> so = SampleObject () >>> vars ( so ) { 'num' : 100 , 'word' : '문자' } >> a , b , c = 1 , 2 , 3 >>> [( k , v ) for k , v in vars () . items () if '_' not in k ] [( 'a' , 1 ) , ( 'b' , 2 ), ( 'c' , 3 )] >>> vars () == locals () True

68. zip ()

각각의 이테라부루에서 요소를 모은 반복자를 만듭니다.
길이가 다른 이테라부루을 인수 준 경우 짧은 길이로 조정되기 때문에주의가 필요합니다.

>>> array1 = [ 1 , 2 , 3 , 4 , 5 ] >>> array2 = [ 'a' , 'b' , 'c' , 'd' , 'e' ] >>> for i , j in zip ( array1 , array2 ) : ... print ( i , j ) ... 1 a 2 b 3 c 4 d 5 e >>> >>> array3 = [ 'x' , 'y' , 'z' ] >>> for i , j , k in zip ( array1 , array2 , array3 ) : ... print ( i , j , k ) .. . 1 a x 2 b y 3 c z

69. __import __ ()

import문에서 호출되는 함수입니다.
직접 사용하는 것은 권장되지 않습니다.
일반적으로 import 문에서 지정할 수없는 특수한 문자열 ( "-"등)가 포함 된 파일을 import하는 것이 가능하지만,
표준 라이브러리의 importlib.import_module()권장되고 있습니다.