魔术方法和类的切片与索引

1.魔术方法之析构函数
class People(object):
# 实例化对象时自动执行
def init(self, name, age):
# 把属性和对象名绑定在一起, 便于访问对象的属性.
self.name = name
self.age = age
print(“创建对象成功…….”)
# 析构函数, 当你删除对象时, 自动调用的方法。
# del 对象名或者程序执行结束之后
def del(self):
print(“删除对象成功…….”)

if name == ‘main‘:
# 创建对象
p1 = People(‘fentiao’, 12)

2.对象 str和repr方法**
魔术方法和类的切片与索引
此处的print(p1) 和print( str (p1) )等价
结果如下
魔术方法和类的切片与索引

3.字符串的formal方法
魔术方法和类的切片与索引
结果为
魔术方法和类的切片与索引
此处用format方法代替了原有值,但个人感觉较麻烦

4.format魔术方法
魔术方法和类的切片与索引
实验结果
魔术方法和类的切片与索引
这是将年月日颠倒顺序输出

5.format简化版本
魔术方法和类的切片与索引
此时的输出结果为:2019-8-25 2019-8-25 25/8/2019

6.类内部装饰器(property)
魔术方法和类的切片与索引

魔术方法和类的切片与索引
这是较为麻烦的一种,但好理解
下面是用内装饰器装饰的
魔术方法和类的切片与索引
返回结果
魔术方法和类的切片与索引

7.类的切片与索引
魔术方法和类的切片与索引
此处较为简单 这是索引的应用 可以修改属性信息
魔术方法和类的切片与索引

这是通过key值获取 并且可以修改里面的属性信息
魔术方法和类的切片与索引
魔术方法和类的切片与索引
第一个输出为字典,报错是因为已经删除了名字,所以找不到会报错

魔术方法和类的切片与索引
这是切片的应用,同时也可以修改属性信息
魔术方法和类的切片与索引

8.重复与连接与成员操作符的实现
魔术方法和类的切片与索引

魔术方法和类的切片与索引
注意这里的第二个输出是400,因为在执行完第一个命令后s1的能量等于s1+s2+s3的能量
成员操作符和for循环迭代应用对象是列表
9.比较大小—— 计算长度
魔术方法和类的切片与索引
这是一些内置的魔术方法,注意,repr方法在没有str方法时会自动调用
魔术方法和类的切片与索引
就这么多了,希望对大家有帮助