python学习--特殊方法和属性

名称 描述
特殊属性 dict 获得类对象或实例对象所绑定的所有属性和方法的字典
特殊方法 len() 通过重写_len_()方法,让内置函数len()的参数可以是自定义的类型
特殊方法 add() 通过重写_add_()方式,,可使自定义对象有'+'的功能
特殊方法 new() 用于创建对象
特殊方法 init() 对创建的对象进行初始化

特殊属性

python 复制代码
class A:
  pass
class B:
  pass
class C(A,B):
  def _init_(self,name,age):
    self.name=name
    self.age=age
#创建C类的对象
x=C('Jack',20)
print(x.__dict__)#实例对象属性字典
print(C.__dict__)
print(c.__class__)#输出对象所属的类
print(C.__base__)#类的基类
print(C.__mro__)#类的层次结构
print(A.__subclasses__)#子类的列表

特殊方法

python 复制代码
a=20
b=100
c=a+b
d=a.__add__(b)
print(c)#120
print(d)#120
class Student:
  def __init__(self,name):
    self.name=name
  def __add__(self,other):
    return self.name+other.name
  def __len__(self):
    return len(self.name)
stu1=Student('张三')
stu2=Student('李四')
s=stu1+stu2 #实现了两个对象的加法运算(因为在Student类中编写__add__()特殊的方法)
print(s)
lst=[11,22,33,44]
print(len(lst))#len是内置函数len
print(lst.__len__())
print(len(stu1))

__new__与__init__创建对象过程

相关推荐
YHHLAI1 分钟前
JavaScript 数据结构精讲:数组底层与实战避坑
开发语言·javascript·数据结构
有点。2 分钟前
C++贪心算法一(练习题)
开发语言·c++·贪心算法
一锅炖出任易仙5 分钟前
创梦汤锅学习日记day29
学习·ai·ue5·游戏引擎
xinhuanjieyi9 分钟前
Android 画板应用kotlin实现
android·开发语言·kotlin
xyz_CDragon11 分钟前
OpenClaw 局域网调用 Ollama 本地大模型:完整配置与踩坑指南
python·ai编程·集成学习·ollama·deepseek·openclaw
threelab13 分钟前
Three.js 几何图形变换 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
MartinYeung514 分钟前
[论文学习]无资料选择性遗忘:透过模型反演实现 LLM 的资料免隐私保护(DFSU)
学习
极光代码工作室15 分钟前
基于NLP的论文关键词提取系统
python·深度学习·自然语言处理·nlp
无限进步_15 分钟前
Linux进程等待——wait、waitpid与僵尸进程
linux·运维·服务器·开发语言
野生技术架构师18 分钟前
Java 23 种设计模式:从踩坑到精通 —— 开篇及系列介绍
java·开发语言·设计模式