首页 > 编程语言 >【Python】类的声明和使用

【Python】类的声明和使用

时间:2023-11-29 22:47:11浏览次数:45  
标签:__ p2 Python self pass 使用 父类 声明 class

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,只能本类访问,子类和外部均不能访问。

标签:__,p2,Python,self,pass,使用,父类,声明,class
From: https://www.cnblogs.com/servlet-context/p/17865963.html

相关文章

  • 第三次python笔记
    python中的conditions:1.什么是contions?:所谓的condition即是条件变量,这种机制是在满足了特定的条件后,线程才可以访问相关的数据。这种同步机制就是一个线程等待特定的条件,另一个线程通知它条件已经发生。一旦条件发生,该线程就会获取锁,从而独占共享资源的访问。 Condition......
  • Swagger 3.0使用
    一、Swagger简介Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger让部署管理和使用功能......
  • 麻烦问一下Python采集到的文本列表中有大量的 ', ' 符号 想这种符号怎么删除
    大家好,我是皮皮。一、前言前几天在Python铂金流群【泅渡】问了一个Python字符处理的问题,一起来看看吧。问题描述:麻烦问一下Python采集到的文本列表中有大量的  ','  符号 想这种符号怎么删除?二、实现过程这里【不上班能干啥!】和【瑜亮老师】分别给了一个指导,如下......
  • java和python混编如何实现服务注册和服务发现呢
    在Java和Python混合编程环境中实现服务注册和发现,你可以考虑以下几种方案:使用服务注册表/服务发现工具服务注册表1.Consul:Consul是一个开源的服务网格解决方案,它提供了服务注册和发现的功能。Consul允许你注册服务并发现其他服务的位置信息。服务发现2.NetflixEureka:Eure......
  • 无涯教程-Python爬虫 - 数据处理
    在前面的章节中,无涯教程学习了有关通过各种Python模块从网页中提取数据或进行网页抓取的知识。在本章中研究各种技术来处理已抓取的数据。要处理已抓取的数据,必须将数据以特定格式存储在本地计算机上,例如电子表格(CSV),JSON或有时存储在MySQL等数据库中。CSV和JSON数据处理首先......
  • # yyds干货盘点 # 麻烦问一下Python采集到的文本列表中有大量的 ', ' 符号 想这种符号
    大家好,我是皮皮。一、前言前几天在Python铂金流群【泅渡】问了一个Python字符处理的问题,一起来看看吧。问题描述:麻烦问一下Python采集到的文本列表中有大量的  ','  符号 想这种符号怎么删除?二、实现过程这里【不上班能干啥!】和【瑜亮老师】分别给了一个指导,如下图所示:......
  • 聪明办法学python(3)
    聪明办法学python(3)TASK05:变量与函数一.变量:1.1"="来赋值x=5print(x)#5print(x*2)#25新的值会覆盖掉旧的值新值的数据类型不必与旧值相同1.2变量命名规则:必须以字母或者下划线开头命名可由字母,数字,下划线组成大小写尽量避免使用保留字命名1.3更新......
  • Python3
    Python3条件ifelse语句if条件:执行elif条件:执行else条件:执行matchcase语句match变量名:case条件:执行case条件:执行case_:执行即使匹配到相应的case如果不跳出或return,会继续执行下面的语句。c......
  • Python中raise异常处理的方法
     try:gender=input('请输入您的性别:')ifgender!='男'andgender!='女':#如果输入的不是男或者女,判断为True,那么执行第四刚代码raiseException('性别只能是男或女')#抛出异常对象else:print('您的性别:',gender)#如果是男,或者女......
  • 聪明办法学Python Task05 & 选学01
    聪明办法学Python学习笔记Chapter4条件Conditionalsif语句ifstatementConditionalsMakeDecisionsif语句流程一个例子deff(x):print("A",end="")ifx==0:print("B",end="")print("C",end=&......