随笔分类 - Python笔记
2020.1.23
摘要:示例代码 创建schedule_tasks.py文件 from celery import Celery from celery.schedules import crontab app = Celery("SchedulerTasks", broker='pyamqp://admin:admin@
阅读全文
摘要:转载:https://www.jianshu.com/p/7029a449b4de Celery架构 1.用好celery beat 如果你想更好的管理项目的定时任务,可以用celery beat代替crontab管理。celery不仅支持动态的异步任务(通过delay调用),也支持定时任务执行。当
阅读全文
摘要:__getattr__ : 如果某个类定义了__getattr__方法,同时系统在该类对象的实例字典中又找不到待查询的属性时,系统会自动调用__getattr__方法。 __getattribute__ : 程序每次访问对象的属性时,Python系统都会调用这个特殊的方法,即使属性字典里面已经有了该
阅读全文
摘要:前戏: 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。 既然@staticmetho
阅读全文
摘要:基于类的装饰器,思路跟基于函数的装饰器类似,但是需要注意类中的 getattr return 下面看一个示例: def authentication(func): class Auth(object): def __init__(self, *args, **kwargs): print("Pre-
阅读全文
摘要:Logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式。 logger:提供日志接口,
阅读全文
摘要:Python反射 - 通过字符串映射或修改程序运行时的状态、属性、方法。 - 通常用于框架或库的开发。 反射的4个方法 hasattr (常用) 判断对象(属性或方法)是否存,返回布尔值 getattr (常用) 获取对象(属性或方法),返回对象方法的内存地址 setattr 设置对象(属性或方法)
阅读全文
摘要:# 类的特殊成员 类中有字段、方法和属性三大类成员,并且成员名前如果有两个下划线,则表示该成员是私有成员,私有成员只能由类内部调用。 # 详情如下: 1. __doc__ 表示类的描述信息 2. __module__ 和 __class__ __module__ 表示当前操作的对象在哪个模块 __c
阅读全文
摘要:# 鸭子类型 Python崇尚鸭子类型,即‘如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’, Golang也有Duck Type的概念。 # 多态 封装可以隐藏实现细节,使得代码模块化; 继承可以扩展已存在的代码模块(类); 而多态则是为了实现另一个目的 — 接口重用(一个接口多种实现)!
阅读全文
摘要:# 继承概述 # 继承示例 # 示例1 - 继承所有属性和方法 # 示例2 - 重写父类方法 # 示例3 - 扩展父类构造方法 # 示例4 - 抽象方法 # 示例5 - 接口多态 # 多继承 # 继承概述 - 子类可以继承父类的所有属性和方法(包含Init构造方法),也可以重写父类的所有属性和方法。
阅读全文
摘要:# 封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。 # 封装重点: 1. def __init__(self) 构造方法(虽然它是函数形式,但在类中就不叫函数了 - 叫方法) 2. __value 私有(隐藏) 属性,只能在类中被调用。 3. def __func(s
阅读全文
摘要:面向对象编程(Object-Oriented Programming) OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单(好像不一定), 并且可以大大提高程序开发效率(好像不一定),另外基于面向对象的程序可以使
阅读全文