#看另一種!/usr/bin/python
#-*-coding:utf-8-*-
from types import
methodtype
"""檔名 class2.py
methodtype 測試
"""#
首先看第一種方式
#建立乙個方法
defset_age(self, arg):
self.age =arg
#建立乙個類
class
student(object):
pass
#------以上為公共部分
s_one =student()
#給student 建立乙個方法 但這裡不是在class中建立而是建立了乙個鏈結把外部的set_age 方法用鏈結知道student內
s_one.set_age =methodtype(set_age,s_one,student)
s_one.set_age(32) #
呼叫例項方法
s_one.age
#》結果 32
s_two =student()
s_two.set_age(100) #
這裡來驗證下是在類內有方法還是類外有方法。
s_two.age
#》結果traceback (most recent call last):
#》 file "class2.py", line 22, in
#》 s_two.set_age(100) #這裡來驗證下是在類內有方法還是類外有方法。
#》 attributeerror: 'student' object has no attribute 'set_age'
#直接用類來建立乙個方法 不過此時還是用鏈結的方式在類外的記憶體中建立
student.set_age =methodtype(set_age,student)
#此時在建立例項的時候外部方法 set_age 也會複製 這些例項和student類都指向同乙個set_age方法
new1 =student()
new2 =student()
new1.set_age(99)
new2.set_age(98) #
第二個會覆蓋第乙個
print (new1.age,new2.age) #
看結果 2個都是98
#》(98, 98)
python中 python中的 與
這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...
python中否定for 在python中否定函式
有沒有一種方法可以否定乙個函式,使它返回負數。在我的函式中,我有條件句,每個條件句都讓這個 烏龜 移動。有沒有一種方法可以否定這一點,所以烏龜的每乙個動作都是否定的。我說的是 狀況 在def ttinterpret program interpret program as a tinyturtle ...
python中雙重迴圈 加速Python中的雙迴圈
有沒有辦法加快從上一次迭代更新其值的雙迴圈?在 中 def calc n,m x 1.0 y 2.0 container np.zeros n,2 for i in range n for j in range m x np.random.gamma 3,1.0 y y 4 y np.random....