日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python基础10 反过头来看看

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

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

?

從最初的“Hello World”,走到面向對象。該回過頭來看看,教程中是否遺漏了什么。

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

?

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

dir()用來查詢一個類或者對象所有屬性。你可以嘗試一下

>>>print dir(list)

help()用來查詢的說明文檔。你可以嘗試一下

>>>print help(list)

(list是Python內(nèi)置的一個類,對應于我們之前講解過的列表)

?

list是一個類

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

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

實際上,nl是類list的一個對象。

?

實驗一些list的方法:

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

>>>print nl.index(3)?????? # 查詢 nl 的第一個3的下標

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

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

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

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

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

總之,list是一個類。每個列表都屬于該類。

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

?

運算符是特殊方法

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

這個方法定義了"+"運算符對于list對象的意義,兩個list的對象相加時,會進行的操作。

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

?

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

?

嘗試一下

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

會有錯誤信息,說明該運算符“-”沒有定義。現(xiàn)在我們繼承l(wèi)ist類,添加對"-"的定義

class superList(list):def __sub__(self, b):a = self[:] ? ??# 這里,self是supeList的對象。由于superList繼承于list,它可以利用和list[:]相同的引用方法來表示整個對象。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()用來返回list所包含的元素的總數(shù)。內(nèi)置函數(shù)__sub__()定義了“-”的操作:從第一個表中去掉第二個表中出現(xiàn)的元素。如果__sub__()已經(jīng)在父類中定義,你又在子類中定義了,那么子類的對象會參考子類的定義,而不會載入父類的定義。任何其他的屬性也是這樣。

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

?

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

?

下一步

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

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

?

謝謝你的關注,

歡迎來到Python的世界。

?

總結

len() dir() help()

數(shù)據(jù)結構list(列表)是一個類。

運算符是方法

總結

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

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