亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2612 | 回復(fù): 0
打印 上一主題 下一主題

對(duì)象和面向?qū)ο?/a> [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-12-02 14:26 |只看該作者 |倒序?yàn)g覽
使用from module import 導(dǎo)入模塊python有兩種導(dǎo)入模塊的方法。import module, from module import.from module import基本語(yǔ)法from UserDict import UserDict他與import module很類(lèi)似,但是有一個(gè)重要區(qū)別:UserDict被直接導(dǎo)入到局部名字空間去了,所以他可以直接使用,而不需要加入文件名的限制.>>> import types>>> types.FunctionType 1     >>> FunctionType       2Traceback (innermost last):File "", line 1, in ?NameError: There is no variable named 'FunctionType'>>> from types import FunctionType 3>>> FunctionType 41 模塊不包含方法,只表示每種python對(duì)象名字的屬性.這個(gè)屬性必須用模塊名types進(jìn)行限定.2 FunctionType沒(méi)有存在當(dāng)前名字空間,只存在于type上下文中.3 這個(gè)語(yǔ)法直接從type上下文中將FunctionType屬性導(dǎo)入到局部名字空間中.4 現(xiàn)在Function可以直接使用,于type無(wú)關(guān).
類(lèi)的定義python是完全面向?qū)ο蟮,你可以定義自己的類(lèi),也可以從自己的或者內(nèi)置的類(lèi)繼承,然后從你定義的類(lèi)創(chuàng)建實(shí)例。python以保留字class開(kāi)始,后面跟著類(lèi)名。
class Loaf:  pass類(lèi)名第一個(gè)字母一般大寫(xiě)。pass相當(dāng)于C中的{},在類(lèi)中的所有東西都要縮進(jìn),第一條不縮進(jìn)的不屬于這個(gè)類(lèi)。from UserDict import UserDictclass Fileinfo(UserDict):在python中,類(lèi)的基類(lèi)只是簡(jiǎn)單的列在類(lèi)名后面的小括號(hào)里面。所以Fileinfo類(lèi)是從UserDict中繼承來(lái)的。python支持多重繼承,在類(lèi)名后面的小括號(hào)中,你可以列出你想要的列名,以逗號(hào)隔開(kāi)。python必須調(diào)用父類(lèi)中的合適方法。__init__沒(méi)有返回值。
class FileInfo(UserDict):   "store file metadata"   def __init__(self, filename=None): self指向新創(chuàng)建的對(duì)象,在其他的類(lèi)方法中,它指向方法被調(diào)用的類(lèi)實(shí)例。當(dāng)定義方法時(shí)候你要明確指定self,但是調(diào)用時(shí)候不用指定。__init__方法可以接受任意數(shù)目的參數(shù),就像函數(shù)一樣,參數(shù)可以用缺省值定義。
class FileInfo(UserDict):   "store file metadata"   def __init__(self, filename=None):   UserDict.__init__(self)  1   self["name"] = filename1 一些偽面向?qū)ο笳Z(yǔ)言,父類(lèi)的方法在子類(lèi)的方法執(zhí)行之前被自動(dòng)調(diào)用。python不是這樣,你必須顯示的調(diào)用在父類(lèi)中的合適方法。
了解何時(shí)使用self和__init__當(dāng)定義自己的類(lèi)方法時(shí),你必須明確將self作為每個(gè)方法的第一個(gè)參數(shù)列出,包括__init__。當(dāng)從你的類(lèi)中調(diào)用父類(lèi)時(shí)候,你必須包括self參數(shù)。當(dāng)你從外部調(diào)用你的類(lèi)時(shí)候,不用對(duì)self指定任何值。在python中對(duì)類(lèi)進(jìn)行實(shí)例化華很直接。要對(duì)類(lèi)進(jìn)行實(shí)例化,只要調(diào)用類(lèi),傳入定義在__init__方法中的參數(shù)。返回值將是新創(chuàng)建的對(duì)象。__init__方法__init__方法是可選的,一旦你定義了就必須記得顯示調(diào)用父類(lèi)的__init__方法。無(wú)論何時(shí)子類(lèi)想擴(kuò)展父類(lèi)的行為,后代方法必須在適當(dāng)時(shí)機(jī),使用適當(dāng)參數(shù),顯式調(diào)用父類(lèi)方法。類(lèi)的實(shí)例化>>> import fileinfo>>> f = fileinfo.FileInfo("/music/_singles/kairo.mp3")>>> f.__class__>>> f.__doc__'store file metadata'>>> f{'name': '/music/_singles/kairo.mp3'}你正在創(chuàng)建FileInfo的實(shí)例,并且將新創(chuàng)建的實(shí)例賦值給f,你傳入了1個(gè)參數(shù),他將作為最后在FileInfo中__init__方法中的filename參數(shù)。每一個(gè)類(lèi)的實(shí)例有一個(gè)內(nèi)置屬性,__class__,他是對(duì)象的類(lèi)。
垃圾回收如果說(shuō)創(chuàng)建一個(gè)新的實(shí)例是容易的,那么銷(xiāo)毀他甚至更容易。當(dāng)指派給他們的變量超出作用區(qū)域時(shí)候,他們會(huì)自動(dòng)的釋放,內(nèi)存泄露在python中很少見(jiàn)。
探索UserDict : 一個(gè)封裝類(lèi)
專(zhuān)用類(lèi)方法:__getitem__方法__setitem__方法
高級(jí)專(zhuān)用類(lèi)方法__repr__返回一個(gè)對(duì)象的字符串表示,在交互式窗口中,當(dāng)你只敲入變量名,然后按enter,他能顯示變量值。__cmp__在比較類(lèi)實(shí)例時(shí)候被調(diào)用。用于比較。__len__在調(diào)用len(instance)時(shí)被調(diào)用。len是一個(gè)內(nèi)置函數(shù),可以返回一個(gè)對(duì)象的長(zhǎng)度。__delitem__在調(diào)用del instance[key]時(shí)調(diào)用,你可能記得他作為從字典中刪除的方法。
類(lèi)屬性介紹class MP3FileInfo(FileInfo):   "store ID3v1.0 MP3 tags"   tagDataMap = {"title" : ( 3, 33, stripnulls),   "artist" : ( 33, 63, stripnulls),   "album" : ( 63, 93, stripnulls),   "year" : ( 93, 97, stripnulls),   "comment" : ( 97, 126, stripnulls),   "genre" : (127, 128, ord)}>>> import fileinfo>>> fileinfo.MP3FileInfo>>> fileinfo.MP3FileInfo.tagDataMap{'title': (3, 33, ),'genre': (127, 128, ),'artist': (33, 63, ),'year': (93, 97, ),'comment': (97, 126, ),'album': (63, 93, )}
私有函數(shù)私有函數(shù)不可以從他們的模塊外面被調(diào)用。私有類(lèi)方法不能夠從他們的類(lèi)外面被調(diào)用。私有屬性不能夠從他們的類(lèi)外面被訪問(wèn)。如果一個(gè)python函數(shù),類(lèi)方法,或?qū)傩缘拿忠詢(xún)蓚(gè)下劃線開(kāi)始(但不是結(jié)束),他是似有的;其他所有的都是公有的。python沒(méi)有類(lèi)方法保護(hù)的概念(只能用于他們自己的類(lèi)和子類(lèi)中)。


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/103763/showart_2109337.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP