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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python基础10 反过头来看看

發(fā)布時(shí)間:2025/4/16 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础10 反过头来看看 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉(zhuǎn)載,也請(qǐng)保留這段聲明。謝謝!

?

從最初的“Hello World”,走到面向?qū)ο蟆T摶剡^(guò)頭來(lái)看看,教程中是否遺漏了什么。

我們之前提到一句話(huà),"Everything is Object". 那么我們就深入體驗(yàn)一下這句話(huà)。

?

需要先要介紹兩個(gè)內(nèi)置函數(shù),dir()help()

dir()用來(lái)查詢(xún)一個(gè)類(lèi)或者對(duì)象所有屬性。你可以嘗試一下

>>>print dir(list)

help()用來(lái)查詢(xún)的說(shuō)明文檔。你可以嘗試一下

>>>print help(list)

(list是Python內(nèi)置的一個(gè)類(lèi),對(duì)應(yīng)于我們之前講解過(guò)的列表)

?

list是一個(gè)類(lèi)

在上面以及看到,表是Python已經(jīng)定義好的一個(gè)類(lèi)。當(dāng)我們新建一個(gè)表時(shí),比如:

>>>nl = [1,2,5,3,5]

實(shí)際上,nl是類(lèi)list的一個(gè)對(duì)象。

?

實(shí)驗(yàn)一些list的方法:

>>>print nl.count(5)?????? # 計(jì)數(shù),看總共有多少個(gè)5

>>>print nl.index(3)?????? # 查詢(xún) nl 的第一個(gè)3的下標(biāo)

>>>nl.append(6)??????????? # 在 nl 的最后增添一個(gè)新元素6

>>>nl.sort()?????????????? # 對(duì)nl的元素排序

>>>print nl.pop()????????? # 從nl中去除最后一個(gè)元素,并將該元素返回。

>>>nl.remove(2)??????????? # 從nl中去除第一個(gè)2

>>>nl.insert(0,9)????????? # 在下標(biāo)為0的位置插入9

總之,list是一個(gè)類(lèi)。每個(gè)列表都屬于該類(lèi)。

Python補(bǔ)充中有l(wèi)ist常用方法的附錄。

?

運(yùn)算符是特殊方法

使用dir(list)的時(shí)候,能看到一個(gè)屬性,是__add__()。從形式上看是特殊方法(下劃線(xiàn),下劃線(xiàn))。它特殊在哪呢?

這個(gè)方法定義了"+"運(yùn)算符對(duì)于list對(duì)象的意義,兩個(gè)list的對(duì)象相加時(shí),會(huì)進(jìn)行的操作。

>>>print [1,2,3] + [5,6,9]

?

運(yùn)算符,比如+, -, >, <, 以及下標(biāo)引用[start:end]等等,從根本上都是定義在類(lèi)內(nèi)部的方法

?

嘗試一下

>>>print [1,2,3] - [3,4]

會(huì)有錯(cuò)誤信息,說(shuō)明該運(yùn)算符“-”沒(méi)有定義。現(xiàn)在我們繼承l(wèi)ist類(lèi),添加對(duì)"-"的定義

class superList(list):def __sub__(self, b):a = self[:] ? ??# 這里,self是supeList的對(duì)象。由于superList繼承于list,它可以利用和list[:]相同的引用方法來(lái)表示整個(gè)對(duì)象。b = b[:] ? ? ? ?while len(b) > 0:element_b = b.pop()if element_b in a:a.remove(element_b)return aprint superList([1,2,3]) - superList([3,4])

內(nèi)置函數(shù)len()用來(lái)返回list所包含的元素的總數(shù)。內(nèi)置函數(shù)__sub__()定義了“-”的操作:從第一個(gè)表中去掉第二個(gè)表中出現(xiàn)的元素。如果__sub__()已經(jīng)在父類(lèi)中定義,你又在子類(lèi)中定義了,那么子類(lèi)的對(duì)象會(huì)參考子類(lèi)的定義,而不會(huì)載入父類(lèi)的定義。任何其他的屬性也是這樣。

(教程最后也會(huì)給出一個(gè)特殊方法的清單)

?

定義運(yùn)算符對(duì)于復(fù)雜的對(duì)象非常有用。舉例來(lái)說(shuō),人類(lèi)有多個(gè)屬性,比如姓名,年齡和身高。我們可以把人類(lèi)的比較(>, <, =)定義成只看年齡。這樣就可以根據(jù)自己的目的,將原本不存在的運(yùn)算增加在對(duì)象上了。

?

下一步

希望你已經(jīng)對(duì)Python有了一個(gè)基本了解。你可能躍躍欲試,要寫(xiě)一些程序練習(xí)一下。這會(huì)對(duì)你很有好處。

但是,Python的強(qiáng)大很大一部分原因在于,它提供有很多已經(jīng)寫(xiě)好的,可以現(xiàn)成用的對(duì)象。我們已經(jīng)看到了內(nèi)置的比如說(shuō)list,還有tuple等等。它們用起來(lái)很方便。在Python的標(biāo)準(zhǔn)庫(kù)里,還有大量可以用于操作系統(tǒng)互動(dòng),Internet開(kāi)發(fā),多線(xiàn)程,文本處理的對(duì)象。而在所有的這些的這些的基礎(chǔ)上,又有很多外部的庫(kù)包,定義了更豐富的對(duì)象,比如numpy, tkinter, django等用于科學(xué)計(jì)算,GUI開(kāi)發(fā),web開(kāi)發(fā)的庫(kù),定義了各種各樣的對(duì)象。對(duì)于一般用戶(hù)來(lái)說(shuō),使用這些庫(kù),要比自己去從頭開(kāi)始容易得多。我們要開(kāi)始攀登巨人的肩膀了。

?

謝謝你的關(guān)注,

歡迎來(lái)到Python的世界。

?

總結(jié)

len() dir() help()

數(shù)據(jù)結(jié)構(gòu)list(列表)是一個(gè)類(lèi)。

運(yùn)算符是方法

總結(jié)

以上是生活随笔為你收集整理的Python基础10 反过头来看看的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。