在Python中,属性和方法都是类的成员,用于描述类的特征和行为。
简要介绍:
-
属性(Attribute):
- 属性是类的特征或数据。
- 可以是类变量(在整个类实例中共享)或实例变量(每个类实例都有自己的副本)。
- 可以通过点符号访问,例如
obj.attribute
。
-
方法(Method):
- 方法是类的行为或函数。
- 在类中定义的函数通常被称为方法。
- 可以操作类的属性,也可以进行其他操作。
- 有实例方法(第一个参数通常为self,表示实例本身)、类方法(使用@classmethod装饰器,第一个参数为cls,表示类本身)和静态方法(使用@staticmethod装饰器,不需要表示实例或类的特殊参数)之分。
示例代码:
class Person:
def __init__(self, name, age):
self.name = name # 实例属性
self.age = age
def say_hello(self): # 实例方法
print(f"Hello, my name is {self.name}.")
@classmethod
def class_method(cls): # 类方法
print("This is a class method.")
@staticmethod
def static_method(): # 静态方法
print("This is a static method.")
# 创建实例
person = Person("Alice", 30)
# 访问属性
print(person.name) # 输出:Alice
# 调用方法
person.say_hello() # 输出:Hello, my name is Alice.
Person.class_method() # 输出:This is a class method.
Person.static_method() # 输出:This is a static method.