6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)

2024-11-18
| 17页
| 254人阅读
| 36人下载
普通

内容正文:

魔法方法 Simple Easy Open Free Portable 1 问题提出:类专用方法有多么神奇? 类有一些专有方法,类的初始化属性方法_init_就是其中之一,我们会看到程序中没有调用_init_方法的语句,而是在执行创建对象语句触发了init_方法的调用,它让类瞬间生成实例。 2 目录 contents __str__方法△☆ 01 __repr__方法 02 __call__方法 03 __len__方法 04 3 PART 01 __str__方法 概念 分类 4 类的初始化属性方法格式是: def __init__(形参列表): self.属性1=值 self.属性2=值 5 class Foo: def __init__(self,name,age): self.name=name self.age=age def __str__(self): return ‘name is %s’% self.name f=Foo(‘Jack’,18) print(f) 假定f为一个类的实例,print(f)等价于调用str(f),等价调用f._str_(),使用f._str_()可以定制打印方法。 6 1. 以前我们调用方法都是用:对象.方法名,而今天我们学习的是程序中的print语句触发了__str__(self)方法调用。你觉得神奇吗? 2.运行一下,我们惊喜地发现当__str_(_self)方法和__repr__(self)方法同时存在时,只是调用的__str__(self)方法。 体会: 7 PART 02 __call__方法 8 1.初始化属性的方法名为__init__,在init单词左右都有双下划线,名称固定; 2.在__init__方法定义中,形参self必不可少,还必须位于其他形参的前面; 3.在创建实例时自动调用__init__方法; 4.普通方法是在对象调用时才执行。 需要说明的是: 9 class Foo: def _init_(self,name): self.name=name def _call_(self): print(‘我被调用了!’)   obj=Foo(‘luo’ ) obj() 案例:阅读程序写出运行结果 10 体会:你是否体会到:_call_方法把对象当做一个函数用。 11 PART 03 __len__方法 12 _len_方法: 可以返回一个对象的长度,字符串对象返回的是字符个数;字典对象返回的是关键字个数;列表或序列对象返回的是元素的个数。 13 阅读程序,写出运行结果 可以返回一个对象的长度,字符串对象返回的是字符个数;字典对象返回的是关键字个数;列表或序列对象返回的是元素的个数。 class Foo: def _init_(self,name,age): self.name=name self.age=age def _str_(self): return str(self.age) def _len_(self): return len(self.name) f=Foo(‘Jack’,18) print(len(f)) print(f) 14 程序运行结果是: 4 18 15 1.__str__方法和__repr方法 2..__call__方法 3. __len__方法 LOREM 本节小结 16 感谢观看 Thank you for your download and watch 17 $$

资源预览图

6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
1
6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
2
6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
3
6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
4
6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
5
6.4魔法方法 (课件)-《程序设计基础(python)》同步教学(人邮版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。