>백엔드 개발 >파이썬 튜토리얼 >Python __buildins__ 모듈 수집

Python __buildins__ 모듈 수집

大家讲道理
大家讲道理원래의
2016-11-07 17:27:401261검색

1.isinstance 함수: 유형을 매개변수로 취하는 것 외에도 유형 튜플을 매개변수로 취할 수도 있습니다.

isinstance(obj,basestring)===isinstance(obj,(str,unicode))

2.getattr 함수: 오류 발생을 방지하기 위해 기본값을 지정할 수 있습니다.

writte=getattr(obj,'write',sys.stdout.write)

3.type 함수: 객체의 유형을 가져오거나 객체에서 직접 새 유형을 생성할 수 있습니다.

>>> Point=type('Point',(object,),{'x':0,'y':0})
>>> p=Point()
>>> p.x,p.y
(0, 0)
>>> p=Point(3,8)
Traceback (most recent call last):
  File "<pyshell#55>", line 1, in <module>
    p=Point(3,8)
TypeError: object() takes no parameters
>>> pprint.pprint(dir(Point))
[&#39;__class__&#39;,
 &#39;__delattr__&#39;,
 &#39;__dict__&#39;,
 &#39;__doc__&#39;,
 &#39;__format__&#39;,
 &#39;__getattribute__&#39;,
 &#39;__hash__&#39;,
 &#39;__init__&#39;,
 &#39;__module__&#39;,
 &#39;__new__&#39;,
 &#39;__reduce__&#39;,
 &#39;__reduce_ex__&#39;,
 &#39;__repr__&#39;,
 &#39;__setattr__&#39;,
 &#39;__sizeof__&#39;,
 &#39;__str__&#39;,
 &#39;__subclasshook__&#39;,
 &#39;__weakref__&#39;,
 &#39;x&#39;,
 &#39;y&#39;]
>>> p.name=&#39;source point&#39;
>>> p.name
&#39;source point&#39;
>>> pprint.pprint(dir(p))
[&#39;__class__&#39;,
 &#39;__delattr__&#39;,
 &#39;__dict__&#39;,
 &#39;__doc__&#39;,
 &#39;__format__&#39;,
 &#39;__getattribute__&#39;,
 &#39;__hash__&#39;,
 &#39;__init__&#39;,
 &#39;__module__&#39;,
 &#39;__new__&#39;,
 &#39;__reduce__&#39;,
 &#39;__reduce_ex__&#39;,
 &#39;__repr__&#39;,
 &#39;__setattr__&#39;,
 &#39;__sizeof__&#39;,
 &#39;__str__&#39;,
 &#39;__subclasshook__&#39;,
 &#39;__weakref__&#39;,
 &#39;name&#39;,
 &#39;x&#39;,
 &#39;y&#39;]
>>> def tostr(self):
    return &#39;(%s,%s)&#39;%(self.x,self.y)
>>> Point.__str__=tostr
>>> print p
(0,0)
>>> def init(self,x,y):
    self.x,self.y=x,y
     
>>> Point.__init__=init
>>> p2=Point(6,8)
>>> print p2
(6,8)
>>>

4.issubclass(bool,int)==True

5.numbers.Number는 모든 숫자 유형의 기본 클래스입니다

6.type(None)==NoneType, None은 상수

7. iter(객체) 형식 외에도 iter 함수에는 반복자 객체

>>> def getrand():
    import random
    return random.randint(1,100)
>>> for i in iter(getrand,50):print i,#获取第一次得到50之前的所有1-100的随机数
32 19 82 28 30 41 100 39 71 29 45 30 94 77 62 26 25 19 82 20 55 20 43 73
>>> for i in iter(getrand,50):print i,#获取第一次得到50之前的所有1-100的随机数
22 54 14 25 60 65 16 80 61 5 48 61 2 30 90 98 70 10 55 45 23 72 87 39 70 3 84 85
>>>

8.BaseException은 모든 예외의 기본 클래스이고 Exception은 모든 종료되지 않는 예외의 기본 클래스일 뿐입니다

9.locals/globals/vars/dir:

[1]locals/globals는 매우 간단하며 현재 범위에 상대적인 로컬/전역 개체 딕셔너리입니다.

[2]vars()==locals(), vars(obj) ==obj.__dict__

[3] 매개변수 없음, set(dir())==set(locals().keys()) if hasattr(obj,'__dir__')=>dir(obj )==obj.__dir__(); 그렇지 않으면 obj가 모듈 객체인 경우 dir(obj)는 모듈의 모든 속성을 반환하고, obj가 클래스 객체인 경우 dir(obj)는 클래스의 모든 속성을 반환합니다. 그런 다음 기본 클래스에서 상속된 속성, obj가 인스턴스 Object인 경우 dir(obj)는 인스턴스 객체에 특정한 속성, 해당 개체가 속한 클래스의 속성 및 클래스의 기본 클래스에서 상속된 속성을 반환합니다. 그것이 속한 것입니다. [클래스 객체에 대한 모든 수정 사항은 해당 인스턴스 객체에 반영됩니다. 기본 클래스에 대한 모든 수정 사항은 파생 클래스에도 반영됩니다. 물론 속성 섀도잉은 제외됩니다. 】

10.enumerate 함수: enumerate(obj,[start]), start가 정의된 경우 서수는 기본 0이 아닌 처음부터 시작됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.