今天继续面向对象编程的进程,因为这是学会利用python的基础,所以多学一些。
- 构造函数和析构函数
构造函数(Constructor)是在创建一个类的实例时自动调用的方法。在Python中,构造函数的名称固定为__init__
,它用于初始化对象的属性。
例如,下面的代码定义了一个具有两个属性的类,并在构造函数中初始化这些属性:
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
在创建类的实例时,可以传入参数来初始化对象的属性:
pythonCopy Codemy_object = MyClass("Alice", 25)
析构函数(Destructor)是在删除一个类的实例时自动调用的方法。在Python中,析构函数的名称固定为__del__
。
- 访问控制
Python中的属性和方法默认是公开的,即可以在类的外部直接访问。但是,可以使用下划线来约定某些属性和方法应该被视为私有的或受保护的。
- 以单下划线
_
开头的属性或方法被视为受保护的,表示它们是类内部使用的,外部应尽量避免直接访问。 - 以双下划线
__
开头的属性或方法被视为私有的,表示它们只能在类的内部访问。
例如:
class MyClass:
def __init__(self):
self._protected_attribute = "protected"
self.__private_attribute = "private"
def _protected_method(self):
print("This is a protected method.")
def __private_method(self):
print("This is a private method.")
- 类方法和静态方法
类方法(Class Method)是与类相关联的方法,而不是与对象相关联的方法。类方法使用装饰器@classmethod
进行定义,并使用第一个参数cls
表示类本身。
静态方法(Static Method)是独立于类和对象的方法,它们与特定的类或对象无关。静态方法使用装饰器@staticmethod
进行定义,不需要传递额外的参数。
例如:
class MyClass:
@classmethod
def class_method(cls):
print("This is a class method.")
@staticmethod
def static_method():
print("This is a static method.")
类方法可以通过类名或实例调用,而静态方法只能通过类名调用。
- 属性访问器和修改器
属性访问器(Getter)和修改器(Setter)是用于访问和修改类的属性的方法。在Python中,可以使用装饰器@property
和@attribute_name.setter
来定义属性访问器和修改器。
例如:
class MyClass:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name
@name.setter
def name(self, new_name):
self._name = new_name
通过定义属性访问器和修改器,可以对属性的读取和赋值进行更多的控制。
标签:__,生活,name,16,self,寒假,method,def,属性 From: https://www.cnblogs.com/zjsdbk/p/17992349