日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中定义类

發布時間:2025/5/22 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中定义类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3.2. 定義類

Python是完全面向對象的:可以定義自已的類,從自已的或內置類進行繼承,然后對生成的類進行實例化。

在Python中定義類很簡單;就象定義函數,沒有獨立的定義接口。只要定義類,然后編碼就可以了。Python類以保留字 class 開始,跟著是類的名字。從技術上說,有這些就足夠了,因為一個類不需要從任何其它類繼承而來。

例 3.3. 最簡單的Python類

class foo: pass
這個類的名字是 foo,它沒有從任何其它的類繼承而來。

這個類沒有定義任何方法或屬性,但是從語法上,需要在定義中有些東西,所以我們使用了 pass。這是一個Python保留字,僅僅表示“向前走,不要往這看”。它相當于C++中的大括號空集({})或者是Java中的單個分號。它是一條什么都不做的語句,當你刪除函數或類時,它是一個很好的占位符。

你可能猜到了,在類中的每條語句都是縮排的,就象函數內的代碼, if 語句, for 循環,等等。第一條不縮近的語句不屬于這個類。

當然,實際上大多數的類將從其它的類繼承來的,并且它們將定義自已的類方法和屬性。但是如你所見,除了名字以外,沒有什么東西是一個類必須擁有的。特別是,C++程序員可能會感到奇怪,Python的類沒有明確的構造器和析構器。Python類的確存在同一個構造器相似的東西: __init__ 方法。

例 3.4. 定義 FileInfo 類

from UserDict import UserDict class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename

類的祖先被列在立即跟在類名字后面的小括號里。所以 FileInfo 類是從 UserDict 類(這個類從 UserDict 中導入)繼承而來。UserDict 是一個象字典一樣動作的類,它允許你完全子類化字典數據類型,同時增加你自已的行為。(也存在相似的類 UserList 和 UserString ,它們允許你子類化列表和字符串。)在這個類的背后有一些“巫術”,我們將在本章的后面,隨著更進一步地研究 UserDict 類,揭開這些秘密。

類也可以有文檔字符串,就象模塊和函數。

__init__ 在類的實例創建后立即被調用。它可能會誘使你,但是不正確地,叫它為類的構造器。說它誘使,是因為它看上去象構造器(按照習慣, __init__ 是類中第一個定義的方法),象構造器一樣動作(在一個新創建的類實例中,它是首先被執行的代碼),并且聽起來也象構造器(“init”當然意味著構造的本性)。說它不正確,是因為對象在 __init__ 被調用的時刻已經被構造出來了,你已經有了對類的新實例一個有效的引用。

每一個類方法的第一個參數,包括 __init__,總是指向類的當前實例的一個引用。按照習慣這個參數被命名為 self。(除了 self 不要把它命名為別的東西,這是一個非常強烈的習慣。) self 象C++中的保留字 this。在 __init__ 方法中, self 指向新創建的對象;在其它的方法中,它指向方法被調用的對象。

__init__ 方法可以接受任意個數的參數,就象函數一樣,參數可以用缺省值定義,可以設置成對于調用者可選。在本例中, name 有一個缺省值 None,即Python的空值。

一些偽面向對象語言,象Powerbuilder有一種“擴展”構造器和其它事件的概念,即父類的方法在子類的方法執行前被自動調用。Python不這樣做,你必須總是顯示調用在父類中適合的方法。同樣,當調用父類方法時,你必須包含 self 參數,跟著類方法所接受的任何其它類型。在本例中,我們沒有使用參數(除了 self)調用 UserDict 類的 __init__ 方法。

我對你說過,這個類的象字典一樣動作,那么這里就是第一個印象。我們將參數 filename 賦值給對象 name 關鍵字,作為它的值。

注意 __init__ 方法從不返回一個值。

噢。我知道有很多知識需要吸收,但是你要掌握它。所有的Python類以相同的方式工作,所以一旦你學會了一個,就是學會了全部。再加上,在Python社區中有強烈的習慣,對于每個類方法的第一個參數都命名為“self”,所以你不會浪費大量時間去習慣他人的風格。如果你忘了別的任何事,也要記住這件事,因為我認定它會讓你出錯:

__init__ 方法是可選的,但是一旦你定義了一個,就必須記得顯示調用父類的 __init__ 方法。這樣更是正確的:何時一個子類想擴展父類的行為,后代方法必須在適當的時機,使用適當的參數,顯式調用父類方法。

轉載于:https://www.cnblogs.com/starspace/archive/2008/12/11/1353231.html

總結

以上是生活随笔為你收集整理的python中定义类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天色综网 | 男人插女人的网站 | 永久免费无码av网站在线观看 | 裸体黄色片 | av电影在线播放 | 四川丰满妇女毛片四川话 | 欧洲日韩一区二区三区 | 国产区视频在线观看 | 中文字幕在线1 | av网站导航 | 国产一区二区福利 | 国产femdom调教7777 | 亚洲激情视频在线观看 | 九九精品视频在线观看 | 国产这里只有精品 | 国产视频手机在线 | 欧美视频直播网站 | 日本www高清视频 | 日本免费一区二区三区四区 | 国产成人精品免费网站 | 日本高清视频免费看 | 精品国产一级片 | 男ji大巴进入女人的视频 | 超碰极品| 久久久高清免费视频 | 少妇又紧又爽视频 | 超碰在线一区 | 美女三级黄色片 | 亚洲最大的成人网站 | 少妇床戏av | 999精品| 国产精品一区二区三区在线免费观看 | 天天操天天干天天干 | 成年网站在线播放 | 久久精品国产一区二区 | 丰满雪白极品少妇流白浆 | 亚洲精品粉嫩小泬20p | 国产字幕av | 国产精品入口a级 | 日韩激情图片 | 日本欧美韩国国产精品 | 成人在线观看黄色 | 天天曰天天爽 | 国产三级在线播放 | 欧美三级午夜理伦 | 免费黄色片网站 | 国产av人人夜夜澡人人爽麻豆 | 伊人网免费视频 | 日韩成人av免费在线观看 | 国产日日夜夜 | www.色com| 大j8黑人w巨大888a片 | 婷婷五月在线视频 | 久久精品色 | 啪一啪在线 | 1000部多毛熟女毛茸茸 | a级大片在线观看 | 91精品国产自产91精品 | 看av网 | 欲色网站| 国产富婆一区二区三区 | 三级成人在线 | 色综合视频网 | 色七七桃花影院 | 成人免费高清视频 | 超碰人人草 | 亚洲av日韩av不卡在线观看 | 亚洲视频免费看 | 性色av一区二区三区红粉影视 | 欧美亚洲色综久久精品国产 | 成人av高清在线观看 | 精品国产乱码久久久久夜深人妻 | 国产99久久久国产精品免费看 | 成人福利在线免费观看 | 福利一二三区 | 久草色视频 | 欧美成人免费视频 | 91国模少妇一区二区三区 | 制服.丝袜.亚洲.中文.综合懂 | 色婷婷国产精品久久包臀 | 欧美丝袜脚交 | 视频区小说区 | 黄色大片网址 | 亚洲高清网站 | 国产精品天美传媒入口 | 欧美日韩国产精品综合 | 亚洲国产电影在线观看 | 人人艹视频 | 2024男人天堂 | 手机看片福利在线 | 在线能看的av网站 | 性高潮久久久久 | 成人在线精品视频 | 国产三级a | 欧美人吸奶水吃奶水 | 色花堂在线 | 伊人一区二区三区四区 | gogo亚洲国模私拍人体 | 高潮毛片无遮挡高清免费 |