在Python类中,函数和变量都是成员,都可以被定义在类的内部。
在类中定义函数
在类中定义函数与定义普通函数有点不同,需要使用def关键字,并在函数名前加上self参数。在类中定义的函数通常被称为方法。定义方法的语法格式如下:
class ClassName:
def method_name(self, args...):
# do something
其中,self参数表示这个方法是类的成员,可以访问类中的变量和函数。
下面是一个简单的示例代码:
# 定义一个名为Person的类
class Person:
def say_hello(self):
print("Hello, I'm a person.")
# 创建Person类的一个实例
p = Person()
# 调用Person类的say_hello方法
p.say_hello() # 输出:Hello, I'm a person.
在类中定义变量
在类中定义变量与定义函数类似,只需要将变量名写在类的内部即可。在类中定义的变量称为类变量,这些变量可以被这个类的所有实例共享。定义类变量的语法格式如下:
class ClassName:
variable_name = value
下面是一个简单的示例代码:
# 定义一个名为Person的类
class Person:
nationality = "China"
# 创建Person类的两个实例
p1 = Person()
p2 = Person()
# 打印p1和p2的国籍
print(p1.nationality) # 输出:China
print(p2.nationality) # 输出:China
# 修改p1的国籍
p1.nationality = "USA"
# 打印p1和p2的国籍
print(p1.nationality) # 输出:USA
print(p2.nationality) # 输出:China
在上面的代码中,我们定义了一个Person类,并在其中定义了nationality变量。在创建两个Person实例对象p1和p2后,我们可以看到它们都有一个相同的国籍“China”。后面我们修改了p1的国籍为“USA”,由于类变量可以被所有实例共享,这时p1的国籍发生了变化,但是p2的国籍仍然是“China”。