Python 如何从类中的函数内部调用变量?
我想调用在函数(func)中创建的变量,该函数也在类(a)中。下面是我希望在更大的代码中实现的一个非常基本的版本。我是相当新的编码,所以任何帮助将不胜感激Python 如何从类中的函数内部调用变量?,python,Python,我想调用在函数(func)中创建的变量,该函数也在类(a)中。下面是我希望在更大的代码中实现的一个非常基本的版本。我是相当新的编码,所以任何帮助将不胜感激 class A: def func(self): self.number = 1 print(A.number) 您需要阅读静态变量:(复制/粘贴) 参考: 您可以在那里运行代码以了解更多信息 Python中的类或静态变量 类或静态变量由所有对象共享。实例或非静态变量对于不同的对象是不同的(每个对象都有一个副本)
class A:
def func(self):
self.number = 1
print(A.number)
您需要阅读静态变量:(复制/粘贴) 参考: 您可以在那里运行代码以了解更多信息 Python中的类或静态变量 类或静态变量由所有对象共享。实例或非静态变量对于不同的对象是不同的(每个对象都有一个副本)。 例如,让计算机科学学生由CSStudent班级代表。对于所有对象,该类可能有一个静态变量,其值为“cse”。类也可能有非静态成员,比如name和roll <>在C++和java中,我们可以使用静态关键字来将变量作为类变量。前面没有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)
您需要阅读静态变量:(复制/粘贴) 参考: 您可以在那里运行代码以了解更多信息 Python中的类或静态变量 类或静态变量由所有对象共享。实例或非静态变量对于不同的对象是不同的(每个对象都有一个副本)。 例如,让计算机科学学生由CSStudent班级代表。对于所有对象,该类可能有一个静态变量,其值为“cse”。类也可能有非静态成员,比如name和roll <>在C++和java中,我们可以使用静态关键字来将变量作为类变量。前面没有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)
我同意@AyoubBenayache,您应该查看Python上的OOP指南。我同意@AyoubBenayache,您应该查看Python上的OOP指南。