如何从类中的函数内部调用变量?

时间:2019-12-30 01:48:06

标签: python

我想调用在函数(func)中创建的变量,该函数也在类(A)中。下面是我想在较大代码中完成的非常基本的版本。我是编码的新手,所以可以提供任何帮助。

_Layout.cshtml

1 个答案:

答案 0 :(得分:1)

您需要阅读有关static var的内容:(复制/粘贴)

ref:https://www.geeksforgeeks.org/g-fact-34-class-or-static-variables-in-python/

您可以在此处运行代码以了解更多信息

Python中的类或静态变量

类或静态变量由所有对象共享。不同对象的实例变量或非静态变量不同(每个对象都有一个副本)。 例如,让计算机科学学生用类CSStudent表示。该类可能具有一个静态变量,其所有对象的值均为“ cse”。而且班级也可能有非静态成员,例如名称和名册。

在C ++和Java中,我们可以使用static关键字将变量作为类变量。没有前面的static关键字的变量是实例变量。参见Java示例和C ++示例。

Python方法很简单,不需要静态关键字。在类声明中被赋值的所有变量都是类变量。在类方法中分配值的变量是实例变量。

# Python program to show that the variables with a value  
# assigned in class declaration, are class variables 

# Class for Computer Science Student 
class CSStudent: 
    stream = 'cse'                  # Class Variable 
    def __init__(self,name,roll): 
        self.name = name            # Instance Variable 
        self.roll = roll            # Instance Variable 

# Objects of CSStudent class 
a = CSStudent('Geek', 1) 
b = CSStudent('Nerd', 2) 

print(a.stream)  # prints "cse" 
print(b.stream)  # prints "cse" 
print(a.name)    # prints "Geek" 
print(b.name)    # prints "Nerd" 
print(a.roll)    # prints "1" 
print(b.roll)    # prints "2" 

# Class variables can be accessed using class 
# name also 
print(CSStudent.stream) # prints "cse"
CSStudent.stream = "foo"
print(a.stream)         # prints "foo" (this variable litterally is CSStudent.stream)