python學習44 使用 slots

2021-09-13 14:24:58 字數 1146 閱讀 3821

python可以在執行期間,動態新增屬性, __slots__可以限定物件的屬性,不讓隨意新增,比如下面這個例子,就是限定了score,name屬性,所以下面s1.score是成功的,s2.age就是失敗的。(**1)

slots限定只對當前的類有效,對子類無效,如果想子類也有限定,需要子類裡面去定義slots。(**2)

**1:

class student(object):

__slots__ = ('score','name')

## right

s1 = student()

s1.score = 99

print(s1.score)

#### wrong

s2 = student()

s2.age = 27

print(s2.age)

##

執行結果:

*************************=== restart: e:/slot.py *************************===

99traceback (most recent call last):

file "e:/slot.py", line 12, in s2.age = 27

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

**2:

class student(object):

__slots__ = ('score','name')

## right

s1 = student()

s1.score = 99

print(s1.score)

##class graduatestudent(student):

pass

s3 = graduatestudent()

s3.age = 27

print(s3.age)

執行結果:

*************************=== restart: e:/slot.py *************************===

9927

使用slot scope複製vue中slot內容

有時候我們的vue元件需要複製使用者傳遞的內容。比如我們工程裡面的輪播元件需要使用複製的slot來達到迴圈滾動的效果 使用者關注輪播內容的靜態效果,元件負責讓其滾動起來 元件 使用者 123這種實現方式對於初始化的資料是沒問題的,但是不支援slot內容的動態繫結,這是因為 因此當元件使用者在宣告節點...

iOS開發學習44 使用UIScrollView

import viewcontroller.h inte ce viewcontroller end implementation viewcontroller void viewdidload void didreceivememorywarning end注意點 uiscrollview使用步驟...

如何使用好pyqt的signal和slot

如果你是使用pyqt 4.5之後的版本,除了傳統的signal slot的連線方式外,你還多了一種比較符合python樣式的寫法。這種寫法是透過下面兩種新的pyqt物件來達成 正如其名,pyqtsingal是用來定義signal,而 pyqtslot 則是用於slot。首先,我們來了解如何利用pyq...