07 2019 档案
摘要:反射 reflect 反射(reflect)其实是反省,自省的意思 反省: 指的是一个对象应该具备可以检测、修改、增加自身属性的能力 反射: 通过字符串获取对象或者类的属性,进行操作 设计框架时需要通过反射去检测类的属性,去调用他们 反射涉及的四个函数 这四个就是普通的内置函数,没有双下划线,与
阅读全文
摘要:多态 一种事物具备不同的形态 例如:水 固态、液态、气态 多态: 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以相应同一个方法,长身不同的结果) 好处: 对于使用者而言,使用成本降低 之前的USB接口下的鼠标,键盘,就属于多态 接口抽象类 鸭子类型都可以写出具备多态的代码
阅读全文
摘要:封装 什么是封装 或 为什么需要封装 为了保证关键数据的安全性 对外部隐藏内部的实现细节,隔离复杂度 什么时候需要封装 ,` 当有一些函数不希望给外界使用时` 如何使用封装 语法: (给属性或者方法前面加上 __ 双下划线,外界就访问不到了) 用户的身份证号等信息属于用户的隐私,肯定不能直接暴露
阅读全文
摘要:面向对象(OOP)的三大特征: 继承 什么是继承 继承: 例如:麦兜、佩奇、猪猪侠、猪刚鬣,都是猪 为什么要使用继承 继承的好处: 在 程序 中,继承描述的是类和类之间的关系 例如:a继承了b,a就能直接使用b已经存在的方法和属性 此时,a称之为子类,b称之为父类,也称之为基类。 为什么使用
阅读全文
摘要:面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待工匠刻板完成,交与曹操一看,曹操感觉不妥,说道:"喝酒唱歌,此话太俗,应改为'对酒当歌'较好",于是名工匠重新刻板,当时
阅读全文
摘要:红蓝英雄大乱斗 游戏规则 程序运行截图 请忽略颜色(Python如何输出带颜色的文字方法) 具体实现代码 程序代码 import random import time class Hero: def __init__(self, name, health, attack, q_hurt, w_hur
阅读全文
摘要:各文件内容 前言 功能架构等请参考前一篇博客,此篇博客为进阶版的存代码展示。 详细文件内容 启动文件 starts.py启动文件 import os import sys BASE_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.a
阅读全文
摘要:ATM+购物车 一个项目是如何从无到有的 需求分析: # 对项目需求进行分析,并提取出相应的功能 ''' - 额度 15000或自定义 --> 注册功能 - 实现购物商城,买东西加入购物车,调用信用卡接口结账 --> 购物车,支付(结账)功能 - 可以提现,手续费5% --> 提现 - 支持多账户登
阅读全文
摘要:导出飞秋群配置文件 在群都还有的时候,把群导出来 导入飞秋群配置(自动加群) 通过导出的配置文件再导入群(当你打开飞秋发现群已经没有了的时候) 飞秋重启之后将自动恢复群。
阅读全文
摘要:包 包: # 包是一系列模块文件的结合体,表现形式是文件夹,该文件夹内部通常会包含一个__init__.py文件,本质上还是一个模块 包呢,就是前两篇博客中提到的,模块的四种表现形式中的第三种 # 把一系列模块(.py文件)组合到一起的文件夹(包) 下文呢,也将把包与模块前面的模块知识对比展开。 首
阅读全文
摘要:collections模块-数据类型扩展模块 ''' 在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 1.namedtuple
阅读全文
摘要:正则表达式 正则表达式与python的联系 # 正则表达式不是Python独有的,它是一门独立的技术,所有的编程语言都可以使用正则 # 但要在python中使用正则表达式,就必须依赖于python内置的re 模块 验证手机号是否合法的小案例 phone_number = input('please
阅读全文
摘要:模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os、sys....) 2.第三方的别人写好的模块文件(requests...) 3.自己定义开发的功能模块(你写在py文件里的内容,可以被当成模块导入) """ 模块的四
阅读全文
摘要:迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种可以不依赖索引取值的方式 # 会一直打印0,记得停止 # n = 0 # while True: #
阅读全文
摘要:递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, [6, [7, [8, [9, [10, [11, [12, [13, ]]]]]]]]]]]]] # 循环的
阅读全文
摘要:可调用对象 callable() # 可调用的(对象加括号可以执行特定的功能,如:类和函数) 可调用对象即将自身传入 callable 函数( callable(对象) )返回结果为 True 的对象 x = 1 print(callable(x)) # False # x() # 会报错,Type
阅读全文
摘要:函数对象 函数是第一对象: python 中万物皆对象,函数同样也是 python 中的对象 、 函数作为对象可以赋值给一个变量、可以作为元素被添加到容器对象中、可以作为参数传给其他函数、可以作为函数的返回值(这些特性就是第一类对象所特有的) 函数对象的特性(*****灵活运用,后面讲装饰器会用到)
阅读全文
摘要:什么是函数 函数就是有特定功能的工具 # python中有内置函数(python解释器预先封装好的)与自定义函数(用户自定义封装的)之分 为什么要用函数 # 可以减少代码冗余,增加代码复用性 # 使代码逻辑更加清晰 # 一次编写,任意次数调用 函数定义 ''' 精简版定义: def 函数名(): 代
阅读全文
摘要:字符编码 字符编码历史及发展 为什么有字符编码 ''' 原因:人们想要将数据存入计算机 计算机的能存储的信息都是二进制的数据 内存是基于电工作的,而电信号只有高低频两种,就用01来表示高低电频,所以计算机里存储的数据都是0101这样的二进制数据 ''' 各种编码表/标准 的由来 """ 基于上述原因
阅读全文
摘要:列表补充 补充方法 清空列表 clear # clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # None # [] 统计列表中指定元素出现的次数 count # count 统计一个元素在列表中
阅读全文
摘要:整型 简介 # 是否可变类型: 不可变类型 # 作用:记录年龄、手机号 # 定义: age = 18 # --> 内部操作 age = int(18) # int('sada') # 报错 int(1.1) # int('1.1') # int() 只能转纯数字的字符串,小数点都不行 a = 111
阅读全文
摘要:条件判断if 让计算机像人一样,能判断是非对错,根据条件做一些事情。 if ''' if代码结构: if 条件: 代码体 tips:同一缩进范围内的代码被视作同一代码体,python官方推荐python缩进一次为4个空格 ''' is_happy = True if is_happy: print(
阅读全文
摘要:python注释 用处:注释用来书写一些解释性信息,对代码的逻辑作用等作出描述 单行注释、多行注释 1 # 这是单行注释,注释内容与# 之间要空一格 2 3 print("hello world!") # 这是代码后的注释,与代码之间要空两格 4 5 6 ''' 7 这是多行注释,用三个单引号引起来
阅读全文