All is well 3 idiots

AC小小常

2020年4月15日

【Python面向对象】(11)生成器

摘要: 介绍 1. 是使用一种普通函数语法定义的迭代器 2. 包含yield语句的函数都被称为生成器 3. 不使用returen返回一个值,而是每次可以生成多个值,每次一个 4. 每次使用yield生成一个值后,函数都将冻结,即在此停止执行 5. 被重新唤醒后,函数将从停止的地方开始继续执行 """ 生成器 阅读全文

posted @ 2020-04-15 20:43 AC小小常 阅读(134) 评论(0) 推荐(0) 编辑

【Python面向对象】(10) 迭代器

摘要: 一、介绍 1. 迭代意味着多次重复,如同循环(list,tuple) 2. 实现了__iter__的对象是可迭代的,而实现了方法__next__的对象是迭代器 3. 调用__next__(或next()),迭代器返回下一个值 4. 如果迭代器没有可供返回的值,触发StopIteration异常 二、 阅读全文

posted @ 2020-04-15 20:06 AC小小常 阅读(196) 评论(0) 推荐(0) 编辑

【Python面向对象】(9) 装饰器之类装饰器

摘要: 类的上方装饰方法,那么该方法会成为该类的方法,可以通过实例调用 """ 类的装饰器 """ def f(self): print("{}要吃东西".format(self.name)) print("0000000") def eat(cls): """ 吃东西装饰器 """ # cls.eat = 阅读全文

posted @ 2020-04-15 19:13 AC小小常 阅读(112) 评论(0) 推荐(0) 编辑

【Python面向对象】(8) 装饰器之@wraps

摘要: @wraps能保证使用过该装饰器的方法能够拥有它原本的属性,例如__name__之类的 """ 带参数的装饰器 """ from functools import wraps def log(name=None): """ 记录函数执行的日志 """ def decorator(func): # * 阅读全文

posted @ 2020-04-15 19:08 AC小小常 阅读(221) 评论(0) 推荐(0) 编辑

【Python面向对象】(7) 带参数的装饰器

摘要: (1)实现简单的带参 """ 带参数的装饰器 """ def log(name=None): """记录函数执行的日志""" def decorator(func): def wrapper(): print("{0}.start...".format(name)) func() print("{0 阅读全文

posted @ 2020-04-15 16:27 AC小小常 阅读(203) 评论(0) 推荐(0) 编辑

【Python面向对象】(6) 装饰器(decorator)

摘要: 1. 用于拓展原来函数功能的一种函数 2. 返回函数的一种函数 3. 在不用更改原函数代码的前提下给函数添加新的的功能 (1)没有装饰器时的实现 """ 不用装饰器的情况 """ def hello(): print("hello...") def test(): print("test...") 阅读全文

posted @ 2020-04-15 16:22 AC小小常 阅读(128) 评论(0) 推荐(0) 编辑

【Python面向对象】(5) @staticmethod和@classmethod

摘要: 1. @staticmethod:静态方法 2. @classmethod:类方法 class Cat(object): tag = "猫科动物" def __init__(self, name): self.name = name # 静态方法,不需要实例化,直接类名.方法就可以调用,当然,实例化 阅读全文

posted @ 2020-04-15 14:55 AC小小常 阅读(230) 评论(0) 推荐(0) 编辑

【Python面向对象】(4) @property和__slots__

摘要: 1. @property:将类的方法当做属性来使用,常用于对私有变量的访问方法上 class PetCat(object): """ 宠物猫 """ def __init__(self, name, age): """ 构造方法 :param name: 猫的姓名 :param age: 猫的年龄 阅读全文

posted @ 2020-04-15 14:53 AC小小常 阅读(238) 评论(0) 推荐(0) 编辑

导航