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

  • 本文关键字:内部 调用 变量 函数 python
  • 更新时间 :
  • 英文 :


我想调用在函数(func(中创建的变量,该函数也在类(A(中。下面是我想在较大代码中完成的非常基本的版本。我对编码相当陌生,所以任何帮助将不胜感激。

class A:
def func(self):
self.number =  1
print(A.number)

你需要阅读静态变量:(复制/粘贴(

参考: 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)

最新更新