随笔分类 - Python部分
摘要:【一】单例模式介绍 【1】什么是单例模式 一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式 【2】为什么要学单例模式 当一个类的功能比较单一,只需要一个实例对象就可以完成需求时,就可以使用单例模式来节省内存资源 【3】如何实现一个单例 在py
阅读全文
摘要:【一】什么是元类 Python中一切皆对象,八大基本数据类型是对象,类实例化得到的对象也是对象,其实类本身也是一种对象 元类是所有类的基类,包括object class Student(object): def __init__(self, name): self.name = name stude
阅读全文
摘要:【一】内置方法引入 __init__ :初始化对象时触发 __del__ :删除类时触发 __new__ :构造类时触发 __str__ :str函数或者print函数触发 __repr__ :repr或者交互式解释器触发 __doc__ :打印类内的注释内容 __enter__ :打开文档触发 _
阅读全文
摘要:【一】什么是反射 反射是一种程序可以访问、检测和修改其本身状态或行为的能力 在 Python 中,反射主要指通过字符串的形式操作对象的属性 python中的一切事物都是对象,都可以使用反射 【二】反射方法 getattr(object, key):获取对象的属性值,如果属性不存在,可提供默认值 ha
阅读全文
摘要:【一】绑定方法和非绑定方法介绍 【1】绑定方法 绑定给谁,谁来调用就自动将它本身当作第一个参数传入 (1)绑定到类的方法 用classmethod装饰器装饰的方法 为类量身定制 类.boud_method(),自动将类当作第一个参数传入 其实对象也可调用,但仍将类当作第一个参数传入 (2)绑定到对象
阅读全文
摘要:【一】多态 【1】什么是多态 多态指的是一类事物有多种形态 【2】示例 #动物有多种形态:人、狗、猪等 import abc # 总的类:动物 class Animal(metaclass=abc.ABCMeta): @abc.abstractmethod def talk(self): pass
阅读全文
摘要:【一】什么是抽象类 与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化 【二】为什么要有抽象类 如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性 从实
阅读全文
摘要:【一】派生 【1】什么是派生 派生是指,子类继承父类,派生出自己的属性与方法,并且重用父类的属性与方法 【2】派生的属性与方法 子类可以派生出自己新的属性,在进行属性查找时,子类中的属性名会优先于父类被查找 class School(object): school = '北京大学' def __in
阅读全文
摘要:【一】什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类 父类又可称为基类或超类,新建的类称为派生类或子类 子类通过继承父类,减少了重复代码的使用 【二】继承的分类 【1】单继承 单继承就是只继承一个父类的子类 # 父类 class School(object): school =
阅读全文
摘要:【一】面向对象的三大特性 面向对象的三大特性:封装、继承、多态 其中最重要的就是封装,封装就是将数据和功能整合到一起 我们可以对封装在类和对象中的属性进行访问的控制,有隐藏的和开发的接口 【1】什么是封装 封装是对具体对象的一种抽象 封装就是将某些数据和功能隐藏起来,只能通过程序内部查看,而外部看不
阅读全文
摘要:【一】人狗大战小游戏 【1】游戏前提分析 人可以打狗,狗掉血,狗可以咬人,人掉血 人的属性有名字、年龄、伤害、血量、类型 狗的属性有名字、年龄、伤害、血量、类型 【2】游戏实现 (1)定义人和狗的属性 # 【1】用字典定义,代码较冗余 dog1 = { 'name': '狗蛋', 'd_type':
阅读全文
摘要:【一】函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message'
阅读全文
摘要:【一】什么是摘要算法 Python的hashlib提供了常见的摘要算法,如MD5、SHA1等等 摘要算法又称哈希算法、散列算法 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示) 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要dige
阅读全文
摘要:【一】介绍与模块导入 subprocess模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。 简单理解就是:使用我们自己的电脑去链接别人的电脑 (socket模块) 模块导入: import subprocess 【二】run方法 import subprocess d
阅读全文
摘要:【一】序列化和反序列化 【1】什么是序列化 将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化 【2】为什么要有序列化 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到的方法就是存在文件里 然后另一个 python 程序再从文件里读出来。 但
阅读全文
摘要:【一】导入模块 import random 【二】随机小数 # 【1】默认区间的小数(random):0~1之间的小数 import random num = random.random() print(num) # 0.8286527462581516 # 【2】指定区间的小数(uniform)
阅读全文
摘要:【一】导入模块 import os 【二】文件路径相关操作 _file__指当前文件 (1)获取当前文件路径(abspath) import os file_path = os.path.abspath(__file__) print(file_path) # D:\Python\pythonPro
阅读全文
摘要:【一】表示时间的三种方式 时间戳 元祖(struct_time):年,月,日,时,分,秒,毫秒,微妙 格式化的时间字符串:xx年-xx月-xx日 时:分:秒 【二】time模块 (1)导入模块 import time (2)时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京
阅读全文
摘要:【一】正则语法 【1】引入 正则:按照指定的匹配规则从字符串中匹配或者截取相应的内容 # 手机号验证(必须是11位的数字,要是正常的手机号开头:13 15 17 18 19) # 正常验证手机号 def check_phone_number(): phone = input("请输入手机号:").s
阅读全文
摘要:【一】什么是内置函数 内置函数就是Python给你提供的, 拿来直接用的函数 目前共有68个内置函数 Built-in Functions Aabs()aiter()all()any()anext()ascii() Bbin()bool()breakpoint()bytearray()bytes()
阅读全文