在python中的用法 在Python中使用

2021-10-11 10:15:01 字數 1512 閱讀 6085

這篇文章主要介紹了在

python

中使用__slots__

方法的詳細教程

,__slots__

方法是python

的乙個重要內建類方法

**基於

python2.x

版本需要的朋友可以參考下

正常情況下,當我們定義了乙個

class

,建立了乙個

class

的例項後,我們可以給該例項

繫結任何屬性和方法,這就是動態語言的靈活性。先定義

class

>>> class student(object):

... pass

然後,嘗試給例項繫結乙個屬性:

>>> s = student()

>>> s.name = 'michael' #

動態給例項繫結乙個屬性

>>> print s.name

michael

還可以嘗試給例項繫結乙個方法:

>>> def set_age(self, age): #

定義乙個函式作為例項方法

... self.age = age

>>> from types import methodtype

>>> s.set_age = methodtype(set_age, s, student) #

給例項繫結乙個方法

>>> s.set_age(25) #

呼叫例項方法

>>> s.age #

測試結果

但是,給乙個例項繫結的方法,對另乙個例項是不起作用的:

>>> s2 = student() #

建立新的例項

>>> s2.set_age(25) #

嘗試呼叫方法

traceback (most recent call last):

file "", line 1, in 

attributeerror: 'student' object has no attribute 'set_age'

為了給所有例項都繫結方法,可以給

class

繫結方法:

>>> def set_score(self, score):

... self.score = score

>>> student.set_score = methodtype(set_score, none, student)

給class

繫結方法後,所有例項均可呼叫:

>>> s.set_score(100)

>>> s.score

>>> s2.set_score(99)

>>> s2.score

通常情況下,上面的

set_score

方法可以直接定義在

class

中,但動態繫結允許我們在程

序執行的過程中動態給

class

加上功能,這在靜態語言中很難實現。

使用__slots__

在 C string 中的用法

1。c 中 字串常量可以以 開頭聲名,這樣的優點是轉義序列 不 被處理,按 原樣 輸出,即我們不需要對轉義字元加上 反斜扛 就可以輕鬆coding。如 string filepath c docs source a.txt rather than c docs source a.txt 2。如要在乙...

int在python中的含義以及用法

python int 函式描述 int 函式用於將乙個字串或數字轉換為整型。語法以下是 int 方法的語法 class int x,base 10 引數 x 字串或數字。base 進製數,預設十進位制。返回值返回整型資料。例項以下展示了使用 int 方法的例項 234 5678 9101112 in...

在python中合法的變數 在python中的變數

當為乙個值起名字的時候,它將會儲存在記憶體中,我們把這塊記憶體稱為變數 variable 在大多數語言中,把這種行為稱為 給變數賦值 或 把值儲存在變數中 不過,python與大多數其他計算機語言的做法稍有不同,它並不是把值儲存在變數中,而更像是把名字 貼 在值的上邊。所以,有些 python 程式...