【Python】类的声明和使用

1、类的声明

语法:

class MainWindow:
    """class information
    """
    pass # class body

2、特殊方法

2.1 init

构造函数,类会调用该方法构造对象。
语法:

class Test:
    def __init__(self, args...):
	    pass

2.2 del

析构函数,在对象销毁时调用。
语法:

def __del__(self):
    pass

2.3 str

将对象转为适合人读的字符串
语法:

def __str__(self):
    pass

2.4 cmp

对象比较
语法:

def __cmp__(self, x):
    pass

3、创建对象

使用函数式调用的方法创建对象。
语法:

obj = class_name(args...)

4、访问对象

使用.操作符访问、添加、修改对象属性。
语法:

obj.age = 14 # 添加
obj.age = 17 # 修改
del obj.age  # 删除

5、内置类属性

属性名 描述
__dict__ 类的所有属性字典
__doc__ 类的文档字符串
__name__ 类名
__module__ 类定义所在模块
__bases__ 类的所有父类元组

6、垃圾回收

python使用引用计数实现对象销毁和垃圾回收。

当对象引用计数为0时,解释器会在合适的时机,销毁对象,回收占用的内存空间。

7、继承

语法:

class sub_class(parent1, parent2, ...):
    pass

如果子类的构造器需要使用父类的构造器,那么需要显式调用父类的构造器super().__init__(args..)

子类调用父类方法有两种:使用super().method(args..)调用父类方法和类名调用父类方法Parent.method(self, args...)

8、python运算符重载

运算符 重载函数
+ __add__(self, p2)
- __sub__(self, p2)
* __mul__(self, p2)
求幂** __pow__(self, p2)
/ __truediv__(self, p2)
整除// __floordiv__(self, p2)
取余% __mod__(self, p2)
<< __lshift__(self, p2)
>> __rshift__(self, p2)
& __and__(self, p2)
| __or__(self, p2)
^ __xor__(self, p2)
~ __invert__(self, p2)

9、python比较运算符重载

比较运算符 重载函数
< __lt__(self, p2)
<= __le__(self, p2)
== __eq__(self, p2)
!= __ne__(self, p2)
> __gt__(self, p2)
>= __ge__(self, p2)

10、保护与私有属性

单下划线开头的属性声明为protected,只能子类访问,外部不能访问;
双下划线开头的属性声明为private,只能本类访问,子类和外部均不能访问。

posted @ 2023-11-29 22:34  NotReferenced  阅读(34)  评论(0编辑  收藏  举报