>>Point=type('Point'" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python的__builtin__模塊中的一些要點(diǎn)知識(shí)

系統(tǒng) 1761 0

1.isinstance函數(shù):除了以一個(gè)類型作為參數(shù),還可以以一個(gè)類型元組作為參數(shù)。

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


          

2.getattr函數(shù):可以給一個(gè)默認(rèn)值,以免觸發(fā)錯(cuò)誤。

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


          

3.type函數(shù):即可以得到一個(gè)對(duì)象的類型,也可以直接由它創(chuàng)建一個(gè)新類型:

            
>>> 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 "
            
              ", line 1, in 
              
                
 p=Point(3,8)
TypeError: object() takes no parameters
>>> pprint.pprint(dir(Point))
['__class__',
 '__delattr__',
 '__dict__',
 '__doc__',
 '__format__',
 '__getattribute__',
 '__hash__',
 '__init__',
 '__module__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'x',
 'y']
>>> p.name='source point'
>>> p.name
'source point'
>>> pprint.pprint(dir(p))
['__class__',
 '__delattr__',
 '__dict__',
 '__doc__',
 '__format__',
 '__getattribute__',
 '__hash__',
 '__init__',
 '__module__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'name',
 'x',
 'y']
>>> def tostr(self):
 return '(%s,%s)'%(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是所有數(shù)字類型的基類

6.type(None)==NoneType,None是一個(gè)常量

7.iter函數(shù)除了iter(object)形式,還有iter(callable,sentinel)也是返回一個(gè)iterator對(duì)象

            
>>> def getrand():
 import random
 return random.randint(1,100)
>>> for i in iter(getrand,50):print i,#獲取第一次得到50之前的所有1-100的隨機(jī)數(shù)
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的隨機(jī)數(shù)
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是一切exceptions的基類,Exception只是一切不exit的exceptions的基類

9.locals/globals/vars/dir:

[1]locals/globals很簡單,是相對(duì)于當(dāng)前作用域的本地/全局對(duì)象dict;

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

[3]沒有參數(shù),set(dir())==set(locals().keys());if hasattr(obj,'__dir__')=>dir(obj)==obj.__dir__();否則,如果obj是模塊對(duì)象,dir(obj)返回的是模塊的所有屬性;如果obj是類對(duì)象,dir(obj)返回的是類的所有屬性,然后是從基類繼承來的屬性;如果obj是實(shí)例對(duì)象,dir(obj)返回的是實(shí)例對(duì)象專有的屬性、其所屬類的屬性、其所屬類基類繼承來的屬性?!緦?duì)類對(duì)象的任何修改,必將反映到其實(shí)例對(duì)象上;對(duì)基類的任何修改,也必將反映到派生類上。當(dāng)然,屬性遮蔽的情況除外?!?

10.enumerate函數(shù):enumerate(obj,[start]),如果定義了start,則序數(shù)將從start開始,而不是從默認(rèn)的零開始。

            
>>> for i,name in enumerate(['C','C++','CSharp','Java','Python'],1):
 print '%d.%s'%(i,name)
1.C
2.C++
3.CSharp
4.Java
5.Python
>>>

          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 资阳市| 中方县| 无锡市| 宿迁市| 南木林县| 泰宁县| 西宁市| 沙河市| 安多县| 新源县| 冕宁县| 荣成市| 普洱| 罗田县| 蛟河市| 息烽县| 谢通门县| 海宁市| 遵义县| 津南区| 青田县| 布拖县| 孟连| 商都县| 新宁县| 日喀则市| 偏关县| 桑植县| 灵宝市| 南召县| 渝北区| 浦县| 永胜县| 凤山县| 高安市| 巴林左旗| 利辛县| 松江区| 邢台市| 察雅县| 浦东新区|