2017-01-17 70 views
-1

如何some_module.Var.b的值更改爲Numbers.a如何更改模塊中某個類的變量?

價值

主要代碼:

import some_module 

class Number: 

    a = 2 

Number.a = some_module.Var.b 
print("some_module.Var.b =", some_module.Var.b) 
print("Number.a =", Number.a) 

some_module:

class Var: 
    b = 0 

通緝輸出:

>>> some_module.Var.b = 2 
>>> Number.Var.a = 2 

實際產量:

>>> some_module.Var.b = 0 
>>> Number.Var.a = 0 
+2

包括一些預期和實際的結果,目前還不清楚什麼是你問及究竟是不是工作 – user3012759

+0

是否要改寫存儲'Variabler'值在文件中。或者當你開始你的程序時,改變'Variabler'的值,以便在你的程序期間保持改變,然後重置爲0,然後下次運行?另外請注意:你可以'輸入abcFormelModul as abcf' –

回答

-1

更改Number.a = some_module.Var.bsome_module.Var.b = Numbers.a瞭解更多關於課程。

import some_module 

class Number: 

    a = 2 

some_module.Var.b = Number.a 
print("some_module.Var.b =", some_module.Var.b) 
print("Number.a =", Numbers.a) 

輸出:

>>> some_module.Var.b = 2 
>>> Number.a = 2 
0

沒有更多的去,我想你遇到的錯誤是,在

class Variabler: 
    a = 0 
    b = 0 
    c = 0 

A,B和C是類變量。這些對於你實例化的任何類都是一樣的。這可能會導致意想不到的後果。

你想要的是有一個__init__方法,

class Variabler: 
    def __init__(self): 
     a = 0 
     b = 0 
     c = 0 

現在你實例化這個類的一個實例:

var_name = Variabler() 

,你可以改變或您認爲合適的,而不訪問此變量修改任何其他實例。

other_var = Variabler() 
other_var.a = 100 
>>> var_name.a 
>>> 0 

您可能不想在程序中使用類變量。你可以在python documentation here

+0

對不起,但我不完全明白。現在,我該如何使用變量?這不起作用了:v.a + v.b + v.c – Andreas

+0

我想使用類之外的變量。 – Andreas

+0

v代表什麼? – cssko

相關問題