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__创建对象过程

相关推荐
CyrusYiVPP3 分钟前
手写 MCP Server:给问答机器人接上本地文件工具,Python 实战第 13 期
人工智能·python
前进的李工14 分钟前
Agent 学习笔记 12:Agent 的工具应该怎么设计
人工智能·笔记·学习·agent·工具调用·skill·工具设计
Delightrs19 分钟前
Rust LeetCode238 算法题解
开发语言·算法·rust
特立独行的猫A34 分钟前
cj-tauri:用仓颉写桌面与鸿蒙 PC 应用
java·后端·python
li星野37 分钟前
从 DICOM 到声学属性学习记录:HU 值怎么变成密度和声速
学习
云上工程笔记41 分钟前
SRT字幕一键转手绘动画:srt-whiteboard-animation的复刻实录
大数据·开发语言·javascript·人工智能·机器学习
自信1504130575943 分钟前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
zhanghaha131443 分钟前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
eggwyw44 分钟前
PHP8.5怎么用ffmpeg提取视频里的字幕轨道
开发语言·php
架构师伯子明1 小时前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg