名称 | 描述 | |
---|---|---|
特殊属性 | 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))