pythonclass變數
1. python 類裡面怎麼使用動態的變數名
class ToolbarFrame(wx.Frame):
def __init__(self,id):
self.__dict__['test_%d'%1] = 1
2. Python類里的類變數和實例對象變數的區別
類變數也叫靜態變數,也就是在變數前加了static 的變數; 實例變數也叫對象變數,即沒加static 的變數; 區別在於: 類變數和實例變數的區別在於:類變數是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變後的結果;而實例變數則屬對象私有,某一個對象將其值改變,不影響其他對象; 例: public class A{ static int a = 0; //類變數 private int b = 0; //實力變數 } public class B{ public void main (String[] args){ A a1 = new A(); A a2 = new A(); a1.a = 3; // 等同於 A.a = 3; a1.b = 4 ; System.out.println(a2.a); //結果為3 //類變數是針對所有對象的,所以a1改變a,a2的a也改變 System.out.println(a2.b); //結果為0 //實例只改變自身的,所以a1對象的b改變,不影響對象a2的b變數 } }
3. Python里類變數和實例變數的區別
其實,從名字就能看出來,Python的類變數和實例變數的區別:
類變數:
是可在類的內所有實例之間共享的值(也就容是說,它們不是單獨分配給每個實例的)。例如下例中,num_of_instance 就是類變數,用於跟蹤存在著多少個Test 的實例。
實例變數:
實例化之後,每個實例單獨擁有的變數。
[python] view plain
class Test(object):
num_of_instance = 0
def __init__(self, name):
self.name = name
Test.num_of_instance += 1
if __name__ == '__main__':
print Test.num_of_instance
t1 = Test('jack')
print Test.num_of_instance
t2 = Test('lucy')
print t1.name , t1.num_of_instance
print t2.name , t2.num_of_instance
4. python class裡面的全局變數問題
你在ex裡面定義的oo,所以你得先執行過ex之後才能執行start。
classTest:
def__init__(self,name='testA'):
self.x='age'
self.name=name
self.ex()#加上這個
self.start()
defex(self):
globaloo
oo='thisistest'
defstart(self):
printoo
t=Test()
如果不適用全局變數的話,你可以self.oo:
classTest:
def__init__(self,name='testA'):
self.x='age'
self.name=name
self.ex()
self.start()
defex(self):
self.oo='thisistest'
defstart(self):
printself.oo
t=Test()
5. python 類方法中變數如何使用
data=gdal.Open(file_path)
改成 data=gdal.Open(self.file_path)
__init__會初始化實例, self.file_path = fl 是把 fl 的值賦到 實例裡面,你訪問 file_path,這個根本沒定義過,肯定報錯。
抽空補一下基礎吧,還是非常重要的。我現在也還在基礎中掙扎
6. python中如何傳遞不同類中的變數
在類的定義的變數是屬於類的屬性的,在類外是可以直接引用的,但在引用時必須帶上類,使用方法:類名.屬性(注意,屬性即是類中的變數,類名和屬性之間有個英文的小圓點)。
比如說:類a中有個變數(屬性)attri,在類b中使用方法為:a.attri。注意,在其他地方引用類的屬性時,只能是引用,即使用類的屬性的值,不能對他賦值;否則,將對本地作用域新增或修改本地作用域的變數。
7. python中一個類的方法中怎樣使用另一個類的方法中的一個變數
class a()
def bf(self,event)
name = 'bf'
# 這里的name是局部變數,不是class.a的變數, 當a.bf(event)執行完後就不存在了。
如果希望保持該回變答量的值在class.a中,:
class a(object):
name = ''
def bf(self, event):
a.name = 'bf'
class b(object):
def exe(self, event):
a.bf(event)
print a.name
8. python如何在一個類中訪問另一個類的變數
1234def aaa(): s = 5 return sprint aaa()
或者:
12345def aaa(): global s s = 5aaa()print s
要在函數外部訪問函數的內部變數,要麼使用return將其返回到外部,要麼用回global定義為全局變數。推薦前答一種。
def只是定義函數,你還沒有調用和執行該函數。此外,要在控制台輸出,你可以在函數內部寫上print s+3 ,然後調用函數aaa()。
或者定義一個類:
1234class aaa: s = 5b = aaa #初始化一個類的實例print b.s #當然,你也可以直接使用aaa.s
9. 請教:Python類里的類變數和實例對象變數的區別
類變數和實例變數的區別在於:類變數是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變後的結果;而實例變數則屬對象私有,某一個對象將其值改變,不影響其他對象; 例: public class A{ static int a = 0; //類變數 private int b = 0; //實力變數 } public class B{ public void main (String[] args){ A a1 = new A(); A a2 = new A(); a1.a = 3; // 等同於 A.a = 3; a1.b = 4 ; System.out.println(a2.a); //結果為3 //類變數是針對所有對
10. python中的類數據變數變化
#我討厭網路不能很規范的書寫代碼,也可能是我不會
s = 100
print('村子裡原有水', s)
i = 0 # 每次喝水量的和內
while i < s:
he = int(input('本次容要喝的水量'))
i += he
print('現在水井中剩下水量是', (s - i))
print("喝完了,這井水就是不能自覺一點,用多少產多少")