Python学习笔记Task11.魔法方法

魔法方法格式__init__
1.基本
init(self[,…])
new(cls[,…])
del(self)
str(self)
repr(self)

2.生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。

  1. 迭代器
    迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。字符串,列表或元组对象都可用于创建迭代器:

4.定制序列协议(Protocols)与其它编程语言中的接口很相似,它规定你哪些方法必须要定义。然而,在 Python 中的协议就显得不那么正式。事实上,在 Python 中,协议更像是一种指南。容器类型的协议如果说你希望定制的容器是不可变的话,你只需要定义__len__()和__getitem()方法。如果你希望定制的容器是可变的话,除了__len()和__getitem__()方法,你还需要定义__setitem__()和__delitem()__两个方法。编写一个不可改变的自定义列表,要求记录列表中每个元素被访问的次数。

Python学习笔记Task11.魔法方法相关推荐

  1. 小甲鱼Python学习笔记之魔法方法

    什么是魔法方法 构造和析构 __init__方法 __new__方法 __del__方法 工厂函数 通过对魔法方法的重写,还可以自定义对象间的算术运算 反运算方法 实现一个计时器的类 time模块的l ...

  2. python学习笔记——引号使用方法

    添加链接描述 添加链接描述 添加链接描述 1.python的注释是用#号表示单行注释,多行注释时使用三个单引号或者三个双引号,实际上只有用#时才是真正的注释,解释器不会运行,否则解释器还是会运行的. ...

  3. python学习笔记之函数(方法)

    def func(x):print 'x is', xx = 2print 'Changed local x to', xx = 50 func(x) print 'x is still', x 结果 ...

  4. 【天池龙珠计划寒假训练营】python学习笔记(三):从函数到高级魔法方法

    十二. 函数与Lambda表达式 12.1 函数 还记得 Python 里面"万物皆对象"么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如: 参 ...

  5. 刻意练习:Python基础 -- Task11. 魔法方法

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  6. python学习笔记4(对象/引用;多范式; 上下文管理器)

    python学习笔记4(对象/引用:多范式; 上下文管理器) ### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 21. 动态类型:对象/引用 对象和引用: 对象是 ...

  7. Python 学习笔记——入门

    文章目录 〇.Python 是什么 一.推荐的教程 二.这篇学习笔记适合什么人 三.环境 1. 操作系统 对于 Windows 对于 Ubuntu 对于其他操作系统 2. Python 对于 Wind ...

  8. Python学习笔记 (类与对象)

    Python学习笔记 (类与对象) 1.类与对象 面向对象编程语言类: 一个模板, (人类)-是一个抽象的, 没有实体的对象: (eg: 张三, 李四) 属性: (表示这类东西的特征, 眼睛, 嘴巴, ...

  9. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

最新文章

  1. 镜像save保存和镜像重命名tag
  2. Oracle 常见的33个等待事件
  3. IT服务管理(ITSM):IT行业变革的思考(4)
  4. 阿里工作流引擎_免费开源,一款快速开发模块化脚手架,含工作流引擎
  5. python二维列表做参数_python sum函数iterable参数为二维list,start参数为“[]”该如何理解...
  6. c# 低功耗蓝牙_c# - 如何使用C#手动绑定到WinForm中的蓝牙低能耗设备? - 堆栈内存溢出...
  7. 2021,我的年终总结......
  8. mybatis比mysql安全吗_MyBatis 和 SQL 注入的恩恩怨怨
  9. 20210311 plecs to file 功能
  10. R60笔记本电脑风扇清理加油过程
  11. 小米手机miui截图后游戏重启的问题
  12. Gmail注册时手机号无法验证
  13. 添加IIS FTP站点密码
  14. Android实现Twitter登录分享
  15. Tomcat的使用(详细流程)
  16. MD5加密(纯代码)
  17. TextGrabber重大更新,识别文字并实时离线翻译,支持中文
  18. Win7-64 重装 Anaconda3
  19. PHP用户自定义函数的语法结构,调用自定义函数(PHP语法)
  20. 谷歌、亚马逊、IBM和微软的云计算平台

热门文章

  1. Library Module详解
  2. 工作压力与情绪管理读书笔记二
  3. 厦大C语言上机 1488 判断素数
  4. 心田花开php面试,心田花开面试试题是什么?心田花开怎么面试的?
  5. 井下人员定位系统建立数字化矿山
  6. android 根据区号判断手机号码是否符合格式
  7. 【转】FC(红白机)游戏nes文件的汉化技术
  8. 爬虫工程师面试题有哪些
  9. Java多key单value的Map应用场景
  10. Excel 实用小技巧:如何复制出使用公式后得到的数据