python程式設計小結 python物件導向程式設計小結

2021-10-11 13:14:32 字數 4296 閱讀 6388

這個是跟著教程一步一步走過來的,所以記下自己學習的過程。

一、類基礎

1、類的定義

class :

class (父類名):

>>>classhuman:

...     age=0

...     ***=''

...     name =''

>>>classstudent(human):

...     school =''

...     number =0

...     grade =0

2、類的使用

如果直接使用類名修改其屬性,那麼將影響已經例項化的物件。

>>>classa:

...     name ='a'

...     num =2

>>> a.name

'a'>>> a = a()#例項化a物件

>>> a.name

'a'>>> a.name ='b'

>>> a.name

'b'>>> a.name

'b'二、類的屬性和方法

1、類的屬性:

如果類的屬性是以兩條下劃線開始則該屬性為類的私有屬性,不能在類外部被訪問。

私有屬性的命名形式: __privateattrs

如果在類內部的方法中使用類的私有屬性,則應該以如下方式呼叫。

self.__privateattrs

>>>classbook:  

...     __author ='' 

...     __name ='' 

...     __page =0 

...     price =0 

>>> a = book()  

>>> a.__author  

traceback (most recent call last):  

file"", line1,in  

attributeerror: book instance has no attribute'__author' 

>>> a.price  

0 2、類的方法

在類的內部使用def關鍵字可以為類定義乙個方法。與函式定義不同的是,類的方法必須包含引數 'self 』 ,

且'self'必須為第乙個引數。和類的私有屬性命名相同,類的私有方法名也要以兩條下劃線開始。

>>>classbook:

...     __author =''

...     __name =''

...     __page =0

...     price =0

...defshow(self):

...printself.__author

...printself.__name

...defsetname(self,name):

...self.__name = name

>>> a = book()

>>> a.show()

>>> a.setname('tom')

>>> a.show()

tom在python中有一類以兩條下劃線開始並且以兩條下劃線結束的類方法,稱之為專有方法。

__init__  建構函式,生成物件時呼叫

__del__  析構函式,釋放物件時呼叫

__add__ 加運算

__mul__  乘運算

__cmp__ 比較運算

__repr__ 列印、轉換

__setitem__ 按照索引賦值

__getitem__ 按照索引獲取值

__len__ 獲得長度

__call__ 函式呼叫

>>>classbook:

...     __author =''

...     __name =''

...     __page =''

...     price =0

...def__check(self,item):

...ifitem =='':

...return0

...else:

...return1

...defshow(self):

...ifself.__check(self.__author):

...printself.__author

...else:

...print'no value'

...ifself.__check(self.__name):

...printself.__name

...else:

...print'no value'

...defsetname(self,name):

...self.__name = name

...def__init__(self,author,name):

...self.__author = author

...self.__name = name

三、類的繼承

1)單繼承

>>>classparent:

...     __a =''

...     __b =0

...def__init__(self,a,b):

...self.__a = a

...self.__b = b

...defshow(self):

...printself.__a

...printself.__b

>>> a = parent('a',2)

>>> a.show()

a>>>classchild(parent):

...     __c =''

...     __d =4

...defshowinfo(self):

...self.show()

>>> b = child('c',3)

>>> b.show()

c>>> b.showinfo()

c2)多重繼承

# -*- coding:utf-8 -*-

classa:#定義類a

name ='a'

__num =1

defshow(self):

printself.name

printself.__num

defsetnum(self,num):

self.__num = num

classb:#定義類b

nameb ='b'

__numb =2

defshow(self):

printself.nameb

printself.__numb

defsetname(self,name):

self.__name = name

classc(a,b):

defshowall(self):

printself.name

printself.nameb

show = b.show#在這裡表明show方法為b類的show方法,後來修改加上的

>>>importjicheng

>>> a = jicheng.a()

>>> a.show()

a>>> c = jicheng.c()

>>> c.showall()ab

>>> c.show()#預設呼叫a類的show方法

a>>> d =jicheng.c()

>>> d.show()

b五)過載

1)方法的過載實際上就是在類中使用def關鍵字過載父類的方法。如果過載父類中的方法,但又需要

在類中使用父類的該方法,可以使用父類名加『 .』加方法名的形式呼叫。

# -*- coding:utf-8 -*-

classmylist:

__mylist = 

def__init__(self,*args):

self.__mylist = 

forarginargs:

def__add__(self,n):#過載『+』運算子

foriinrange(0, len(self.__mylist)):

self.__mylist[i] =self.__mylist[i] + n

defshow(self):

printself.__mylist

>>>importchongzai

>>> l = chongzai.mylist(1,2,3,4,5)

>>> l.show()

[1,2,3,4,5]

>>> l +2

>>> l.show()

[3,4,5,6,7]

python程式設計小結 Python程序程式設計小結

1.有兩種方式來實現併發性,一種方式是讓每個 任務 或 程序 在單獨的內在空間中工作,每個都有自已的工作記憶體區域。不過,雖然程序可在單獨的記憶體空間中執行,但除非這些程序在單獨的處理器上執行,否則,實際並不是 同時 執行的。是由作業系統把處理器的時間片分配給乙個程序,用完時間片後就需退出處理器等待...

python是高階動態程式語言 Python語言

python是一門跨平台 開源 免費的解釋型高階動態程式語言。python支援命令式程式設計 how to do 函式式程式設計 what to do 完全支援物件導向程式設計,擁有大量擴充套件庫。膠水語言 可以把多種不同語言編寫的程式融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同...

Python程式設計學習第十二課之Python的注釋

當我們編寫的程式 量很大,而且內部邏輯關係非常複雜的時候,閱讀 是非常吃力的。所以我們的程式設計師寧願自己重新寫 也不願意去熟悉別人的 那麼,實際編寫 的過程之中,對 加筆記說明就顯得尤為重要了。在這裡,針對 的筆記被稱為注釋。在之前的幾節課裡面,我們已經不止一次用過注釋了,如下圖所示,以 符號開頭...