Fork me on GitHub

寒假生活(16)

今天继续面向对象编程的进程,因为这是学会利用python的基础,所以多学一些。

  1. 构造函数和析构函数

构造函数(Constructor)是在创建一个类的实例时自动调用的方法。在Python中,构造函数的名称固定为__init__,它用于初始化对象的属性。

例如,下面的代码定义了一个具有两个属性的类,并在构造函数中初始化这些属性:

class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

在创建类的实例时,可以传入参数来初始化对象的属性:

pythonCopy Code
my_object = MyClass("Alice", 25)

析构函数(Destructor)是在删除一个类的实例时自动调用的方法。在Python中,析构函数的名称固定为__del__

  1. 访问控制

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.")
  1. 类方法和静态方法

类方法(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.")

类方法可以通过类名或实例调用,而静态方法只能通过类名调用。

  1. 属性访问器和修改器

属性访问器(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

通过定义属性访问器和修改器,可以对属性的读取和赋值进行更多的控制。

posted @   (该昵称暂可见)  阅读(9)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
点击右上角即可分享
微信分享提示