python 기초 기교
python 내장 함수
모든 내장 함수 보기
dir(__builtin__)
이상 및 경고: 모두 BaseException 하위 클래스입니다.
ArithmeticError,AssertionError,AttributeError,Exception,BaseException,BufferError,BytesWarning,DeprecationWarning,EOFError,EnvironmentError,FloatingPointError,FutureWarning
IOError,ImportError,ImportWarning,IndentationError,IndexError,KeyError,LookupError,MemoryError,NameError,NotImplementedError,OSError
OverflowError,PendingDeprecationWarning,ReferenceError,RuntimeError,RuntimeWarning,StandardError,SyntaxError
SyntaxWarning,SystemError,TabError,TypeError,GeneratorExit,KeyboardInterrupt,StopIteration,SystemExit
UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError
abs: 절대값 가져오기In [162]: abs(-1)
Out[162]: 1
all:매개 변수list 모두 true 반환In [163]: all([1,2,3])
Out[163]: True
In [164]: all([1,2,0])
Out[164]: False
any: 매개 변수 목록이 true로 되돌아옵니다.In [165]: any([1, 0, False])
Out[165]: True
In [166]: any([0, False])
Out[166]: False
basestring: 문자열 부류strunicode가 어떤 대상이 문자열인지 확인할 때 isinstance를 참고합니다
callable: 어떤 대상이 함수로 호출될 수 있는지 판단In [172]: callable(True)
Out[172]: False
In [173]: callable(abs)
Out[173]: True
classmethod: 장식기는 클래스 이름을 첫 번째 매개 변수로 은밀하게 전달합니다class Hello(object):
@classmethod
def print_hello(cls):
print "Hello World"
In [175]: Hello.print_hello()
Out[175]: Hello World
cmp: 비교 함수In [176]: cmp(1,1)
Out[176]: 0
In [177]: cmp(1,2)
Out[177]: -1
In [178]: cmp(2,1)
Out[178]: 1
delattr: 속성 삭제
dir: 객체의 등록 정보 보기 방법
divmod: 나눗셈 값과 여수In [179]: divmod(5,2)
Out[179]: (2, 1)
eval: 문자열을 코드로 실행하면 위험합니다In [197]: eval('2+3')
Out[197]: 5
In [198]: exec 'a=1'
In [199]: a
Out[199]: 1
file:open
filter: sequence의 item에 대해 순서대로 function (item) 을 실행하고, 실행 결과가 True item으로 구성된 List/String/TupleIn [202]: filter(lambda x: x != 2, [1, 2, 3])
Out[202]: [1, 3]
getattr: 호출 대상의 속성
hasattr: 대상에 어떤 속성이 있는지 판단
hash: 해시 함수
help: 대상의 도움말 정보 보기
id: 객체의 메모리 주소 보기
isinstance: 비교 대상 유형 동일In [206]: isinstance('a', unicode)
Out[206]: False
In [207]: isinstance('a', str)
Out[207]: True
In [208]: isinstance('a', basestring)
Out[208]: True
In [209]: isinstance(u'a', basestring)
Out[209]: True
map: sequence의 item에 대해 순서대로 function (item) 을 실행하고, 실행 결과를 보고 List 반환을 구성합니다In [210]: map(lambda x: x*2, [1,2,3])
Out[210]: [2, 4, 6]
max: 최대값 가져오기In [211]: max([5,2,3])
Out[211]: 5
min: 최소값 가져오기In [212]: min([5,2,3])
Out[212]: 2
object: 기본 클래스
open: 로컬 파일 열기
pow: 성형 N차 계산In [213]: pow(3,2)
Out[213]: 9
range: 질서정연한 성형 목록 얻기
reduce: sequence의 item 순서를 function으로 교체합니다. starting_value, 초기 값으로 호출 가능In [215]: reduce(lambda x,y: x * y, [2,3,4])
Out[215]: 24
reload: 가져온 가방 다시 불러오기
repr: 어떤 대상을 문자열로 표시
reversed: 순서 바꾸기In [220]: list(reversed([1,3,2]))
Out[220]: [2, 3, 1]
round: 소수점 뒷자리 찾기In [224]: round(2.1234, 3)
Out[224]: 2.123
집합In [225]: set([1,2,1,3])
Out[225]: {1, 2, 3}
In [226]: list(set([1,2,1,3]))
Out[226]: [1, 2, 3]
setattr: 어떤 대상의 속성에 값을 부여합니다
sorted: 정렬In [234]: sorted([1,4,3,])
Out[234]: [1, 3, 4]
staticmethod: 정적 장식기 전달 클래스 이름 참조classmethod
sum: 화합 추구In [236]: sum([3,4,5,6])
Out[236]: 18
슈퍼: 상위 클래스 호출
xrange:range와 구별하여 호출할 때 대응하는 값을 생성합니다
zip: 두 개의 데이터를 합쳐서 보통 사전으로 사용합니다In [238]: zip([1,2], [3,4], [5,6])
Out[238]: [(1, 3, 5), (2, 4, 6)]
In [239]: zip(['a','b'], [3,4])
Out[239]: [('a', 3), ('b', 4)]
In [240]: dict(zip(['a','b'], [3,4]))
Out[240]: {'a': 3, 'b': 4}
execfile: 실행 파일의python 코드
iter: 교체 대상 만들기
다음은 자주 쓰지 않거나 한 눈에 알아볼 수 있는 상대를 위해 시간이 있는 사람이 정리해주세요.
이것은 인터넷에서 찾은 링크이다http://jianfeihit.iteye.com/blog/1835272참고로 제공하다
apply: 함수의 매개 변수가 목록에 존재하거나 그룹에 apple (tset, (1,2)) 이test (1,2) 와 같을 때
Ellipsis: 생략해도 소용없어요.
False
None
NotImplemented: 비현실적인 함수는 reutrn NotImplemented 변수를 사용하여 성형 문자열과 비교할 수 있습니다.
True
tuple
type
unicode
vars
str
슬라이스: 슬라이스
raw_input
print
property
oct
next
bin: 성형 2진
bool
buffer
bytearray
bytes
issubclass
len
license
list
locals: 국역 변수
long
chr:0-255 정수 반환에 대응하는 문자
unichr: 같은 chr에서 unicode 형식으로 되돌아오기
ord:chr 배합 함수
coerce: 두 개의 매개 변수를 같은 유형의 작은 대상으로 큰 대상으로 전환합니다. 예를 들어 성형 부동점 수입니다.
compile:
complex: 소스를 코드 또는 AST 객체로 컴파일합니다.코드 대상은 exec 문장을 통해 실행하거나 eval () 을 통해 값을 구할 수 있습니다.
input
int
intern
dict
enumerate
float
format
frozenset
globals: 전역 변수
memoryview
hex
python 기교
1. 문자열 포맷
python의 모든 형식을 문자열로 바꿀 수 있기 때문에%s만 사용할 수 있습니다
형식
묘사
%%
백분율 표시
%c
문자 및 ASCII 코드
%s
문자열
%d
기호 정수 있음(10진수)
%u
기호 정수 없음(10진수)
%o
기호 정수 없음(8진수)
%x
기호 정수 없음(16진수)
%X
기호 정수 없음 (16진수 대문자)
%e
부동 소수점 숫자(과학 계수법)
%E
부동 소수점 숫자(e 대신 E 사용)
%f
부동 소수점 숫자(소수 점 기호 사용)
%g
부동 소수점 숫자(값 크기에 따라%e 또는%f)
%G
부동 소수점 숫자(%g 유사)
%p
포인터 (16진수로 출력된 값의 메모리 주소)
%n
출력 문자의 수를 매개 변수 목록의 다음 변수에 저장합니다
코드 예In [244]: "%s:%s" % ('name', 'age', )
Out[244]: 'name:age'
In [245]: "%(name)s: %(age)s" % {'name': 'xiaoming', 'age': 18}
Out[245]: 'xiaoming: 18'
2.ipython과 인터럽트
ipython은 인터랙티브 해석기입니다
인터럽트 방식from IPython import embed
embed()
import pdb
pdb.set_trace()
3.python 슬라이스
In [255]: st
Out[255]: 'abcdefg'
In [256]: st[:2]
Out[256]: 'ab'
In [257]: st[::2]
Out[257]: 'aceg'
In [258]: li
Out[258]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [259]: li[:5]
Out[259]: [0, 1, 2, 3, 4]
In [260]: li[:5:3]
Out[260]: [0, 3]
In [261]: li[::-1]
Out[261]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
In [262]: li[::-2]
Out[262]: [9, 7, 5, 3, 1]
4. 목록 밀어내기
In [264]: li
Out[264]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [265]: [x*3 for x in li]
Out[265]: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
In [267]: [x*3 for x in li if x%2 == 0]
Out[267]: [0, 6, 12, 18, 24]
5. 정규 표현식
자세한 내용은 링크를 참조하십시오.
6.3원 표현식
In [269]: 1 if True else 2
Out[269]: 1
In [270]: 1 if False else 2
Out[270]: 2
7.lambda 익명 함수
In [271]: lambda x,y : x + y
Out[271]: <function __main__.<lambda>>
In [272]: def test(x,y):
.....: return x + y
.....:
In [273]: test
Out[273]: <function __main__.test>
In [275]: (lambda x,y : x + y)(1,2)
Out[275]: 3
In [276]: test(1,2)
Out[276]: 3
8. 변수와 사전 키
In [162]: abs(-1)
Out[162]: 1
In [163]: all([1,2,3])
Out[163]: True
In [164]: all([1,2,0])
Out[164]: False
In [165]: any([1, 0, False])
Out[165]: True
In [166]: any([0, False])
Out[166]: False
In [172]: callable(True)
Out[172]: False
In [173]: callable(abs)
Out[173]: True
class Hello(object):
@classmethod
def print_hello(cls):
print "Hello World"
In [175]: Hello.print_hello()
Out[175]: Hello World
In [176]: cmp(1,1)
Out[176]: 0
In [177]: cmp(1,2)
Out[177]: -1
In [178]: cmp(2,1)
Out[178]: 1
In [179]: divmod(5,2)
Out[179]: (2, 1)
In [197]: eval('2+3')
Out[197]: 5
In [198]: exec 'a=1'
In [199]: a
Out[199]: 1
In [202]: filter(lambda x: x != 2, [1, 2, 3])
Out[202]: [1, 3]
In [206]: isinstance('a', unicode)
Out[206]: False
In [207]: isinstance('a', str)
Out[207]: True
In [208]: isinstance('a', basestring)
Out[208]: True
In [209]: isinstance(u'a', basestring)
Out[209]: True
In [210]: map(lambda x: x*2, [1,2,3])
Out[210]: [2, 4, 6]
In [211]: max([5,2,3])
Out[211]: 5
In [212]: min([5,2,3])
Out[212]: 2
In [213]: pow(3,2)
Out[213]: 9
In [215]: reduce(lambda x,y: x * y, [2,3,4])
Out[215]: 24
In [220]: list(reversed([1,3,2]))
Out[220]: [2, 3, 1]
In [224]: round(2.1234, 3)
Out[224]: 2.123
In [225]: set([1,2,1,3])
Out[225]: {1, 2, 3}
In [226]: list(set([1,2,1,3]))
Out[226]: [1, 2, 3]
In [234]: sorted([1,4,3,])
Out[234]: [1, 3, 4]
In [236]: sum([3,4,5,6])
Out[236]: 18
In [238]: zip([1,2], [3,4], [5,6])
Out[238]: [(1, 3, 5), (2, 4, 6)]
In [239]: zip(['a','b'], [3,4])
Out[239]: [('a', 3), ('b', 4)]
In [240]: dict(zip(['a','b'], [3,4]))
Out[240]: {'a': 3, 'b': 4}
1. 문자열 포맷
python의 모든 형식을 문자열로 바꿀 수 있기 때문에%s만 사용할 수 있습니다
형식
묘사
%%
백분율 표시
%c
문자 및 ASCII 코드
%s
문자열
%d
기호 정수 있음(10진수)
%u
기호 정수 없음(10진수)
%o
기호 정수 없음(8진수)
%x
기호 정수 없음(16진수)
%X
기호 정수 없음 (16진수 대문자)
%e
부동 소수점 숫자(과학 계수법)
%E
부동 소수점 숫자(e 대신 E 사용)
%f
부동 소수점 숫자(소수 점 기호 사용)
%g
부동 소수점 숫자(값 크기에 따라%e 또는%f)
%G
부동 소수점 숫자(%g 유사)
%p
포인터 (16진수로 출력된 값의 메모리 주소)
%n
출력 문자의 수를 매개 변수 목록의 다음 변수에 저장합니다
코드 예
In [244]: "%s:%s" % ('name', 'age', )
Out[244]: 'name:age'
In [245]: "%(name)s: %(age)s" % {'name': 'xiaoming', 'age': 18}
Out[245]: 'xiaoming: 18'
2.ipython과 인터럽트
ipython은 인터랙티브 해석기입니다
인터럽트 방식
from IPython import embed
embed()
import pdb
pdb.set_trace()
3.python 슬라이스
In [255]: st
Out[255]: 'abcdefg'
In [256]: st[:2]
Out[256]: 'ab'
In [257]: st[::2]
Out[257]: 'aceg'
In [258]: li
Out[258]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [259]: li[:5]
Out[259]: [0, 1, 2, 3, 4]
In [260]: li[:5:3]
Out[260]: [0, 3]
In [261]: li[::-1]
Out[261]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
In [262]: li[::-2]
Out[262]: [9, 7, 5, 3, 1]
4. 목록 밀어내기
In [264]: li
Out[264]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [265]: [x*3 for x in li]
Out[265]: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
In [267]: [x*3 for x in li if x%2 == 0]
Out[267]: [0, 6, 12, 18, 24]
5. 정규 표현식
자세한 내용은 링크를 참조하십시오.
6.3원 표현식
In [269]: 1 if True else 2
Out[269]: 1
In [270]: 1 if False else 2
Out[270]: 2
7.lambda 익명 함수
In [271]: lambda x,y : x + y
Out[271]: <function __main__.<lambda>>
In [272]: def test(x,y):
.....: return x + y
.....:
In [273]: test
Out[273]: <function __main__.test>
In [275]: (lambda x,y : x + y)(1,2)
Out[275]: 3
In [276]: test(1,2)
Out[276]: 3
8. 변수와 사전 키
그 중에서 7, 8, 9는 값이 변할 수 있기 때문에 사전 형식의 키로 사용할 수 없다
9. 변수 부울 유형의 판단
In [284]: bool(1),bool(0),bool(-1)
Out[284]: (True, False, True)
In [285]: bool(1.1),bool(0.0),bool(-1.1)
Out[285]: (True, False, True)
In [286]: bool(None)
Out[286]: False
In [287]: bool(''),bool('a')
Out[287]: (False, True)
In [288]: bool(()),bool((1, ))
Out[288]: (False, True)
In [289]: bool([]),bool([1, ])
Out[289]: (False, True)
In [290]: bool({}),bool({'name': 'xiaoming'})
Out[290]: (False, True)
In [291]: bool(set([])),bool(set([1]))
Out[291]: (False, True)
python 클래스 내장 함수 상세 설명
함수
설명하다
__init__(self, *args, **kwargs)
객체 초기화 시 실행
__del__(self)
객체 삭제 실행
__new__(self, *args, *kwargs)
실례의 생성 작업은 실례를 되돌려야 합니다.object 단일 모드 (같은 클래스) 를 계승해야 합니다.
__str__(self)
문자열 변환 또는 print 실행 호출
__getitem__(self, key)
색인을 통해 대응하는 값
__setitem__(self, key, value)
인덱스와 대응하는 값 증가
__len__(self)
len () 호출
__cmp__(src, dst)
src와 dst 비교
__gt__(self,other)
보다 크다
__lt__(self,other)
보다 작다
__ge__(self,other)
보다 크면 같음
__le__(self,other)
보다 작다
__eq__(self,other)
같다
__call__(self, **args)
대상이 함수로 호출되다
__iter__(self)
교체 대상 호출
__getattr__(self, key)
속성 가져오기
__setattr__(self, key, value)
속성 추가
__delattr__(self, key)
속성 삭제
__getattribute__
유사__getattr__
코드 인스턴스# -*- coding: utf-8 -*-
class classGetSet(object):
kk = {}
def __init__(self):
print '__init__'
def __getitem__(self, key):
print '__getitem__'
return self.kk[key]
def __setitem__(self, key, value):
print '__setitem__'
self.kk[key] = value
def __del__(self):
print '__del__'
def __str__(self):
print '__str__'
return '__str__'
def __len__(self):
print '__len__'
return len(self.kk.keys())
def __cmp__(src, src2):
return True
def __iter__(self):
print "__iter__ called"
for x in range(10):
yield x
if __name__ == '__main__':
# __init__
cla = classGetSet()
# __setitem__
cla[0] = 'key1'
cla['second'] = 'key2'
# __getitem__
print cla[0]
# __iter__
for c in cla:
print c
# __str__
print str(cla)
# __len__
print len(cla)
# __cmp__
print 2 > cla
# __del__
del cla
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# -*- coding: utf-8 -*-
class classGetSet(object):
kk = {}
def __init__(self):
print '__init__'
def __getitem__(self, key):
print '__getitem__'
return self.kk[key]
def __setitem__(self, key, value):
print '__setitem__'
self.kk[key] = value
def __del__(self):
print '__del__'
def __str__(self):
print '__str__'
return '__str__'
def __len__(self):
print '__len__'
return len(self.kk.keys())
def __cmp__(src, src2):
return True
def __iter__(self):
print "__iter__ called"
for x in range(10):
yield x
if __name__ == '__main__':
# __init__
cla = classGetSet()
# __setitem__
cla[0] = 'key1'
cla['second'] = 'key2'
# __getitem__
print cla[0]
# __iter__
for c in cla:
print c
# __str__
print str(cla)
# __len__
print len(cla)
# __cmp__
print 2 > cla
# __del__
del cla
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.