摘要:1.管理员注册功能_代码导入及执行流程 2.管理员注册功能_管理员视图下register功能 from interface import admin_interface # todo 管理员注册 def register(): while True: admin_username = input('
阅读全文
摘要:1.项目工程与视图创建_启动文件__start.py ''' 启动文件入口 ''' import os, sys # todo 将目录(c:/Users/WXE5SZH/Desktop/task/python_study/Day31/CourseSystem) # todo 添加到环境变量 sys.
阅读全文
摘要:角色:学校、学员、课程、讲师 要求: 1. 创建北京、上海 2 所学校 > 管理员创建学校 2. 创建Linux,python,go 3个课程,Linux\py 在北京开,go 在上海开 3. 课程包含,周期,价格,通过学校创建课程 4. 创建讲师 5. 创建学员时,选择学校,关联班级 5. 创建讲
阅读全文
摘要:1.内置函数_1到21 print('1.绝对值:', abs(-1)) print('2.遍历可迭代对象都为True,结果为True:', all([1, 'aaa', 2]), all([])) print('3.遍历可迭代对象都为False,结果为False:', any([None]), a
阅读全文
摘要:1.staticmethod方法_非绑定方法 # todo 二:非绑定方法 > 静态方法: # todo 没有绑定给任何人:调用者可以是类、对象,没有自动传参的效果 class Mysql: def __init__(self, ip, port): self.nid = self.create_i
阅读全文
摘要:1.classmethod方法_导入文件创建新对象,通过对象获取文件内容 代码如下: # todo 一:绑定方法:特殊之处将调用者本身当作第一个参数自动传入 # todo 1. 绑定给对象的方法:调用者是对象,自动传入的是对象 # todo 2. 绑定给类的方法:调用者是类,自动传入的是类型 imp
阅读全文
摘要:1.多态和鸭子类型_为何要有多态和多态流程说明 # todo 2. 为何要有多态==》 多态会带来什么样的特性,多态性 # todo 多态性指的是可以在不考虑对象具体类型的情况下,而直接使用对象 class Animal: # ? 父类做了统一子类的方法 def say(self): print('
阅读全文
摘要:1.在子类派生的新方法中重用父类功能_方式一指名道姓调用某一类下的函数 方式一:指名道姓调用某一个类下的函数 > 不依赖于继承关系 class OldboyPeople: def __init__(self, name, age, sex): self.name = name self.age =
阅读全文
摘要:1.Mixins机制_针对多继承,不使用Mixins机制情况 1.1.主类:就是大部分都是主要功能 1.2.辅类:就是一些辅助功能 1.3.辅类的类名也有讲究:一般以mixin、able、ible等结尾 1.4.继承的位置也有讲究,一般辅类在左边 2.Mixins机制_针对多继承,使用Mixins机
阅读全文
摘要:1.经典类:深度优先,新式类:广度优先 ''' 如果多继承是菱形继承,经典类和新式类的属性查找顺序不一样: 经典类:深度优先,会在检索第一条分支的时候就直接一条到走到黑,即会检索共有的父类 新式类:广度优先,会在检索最后一条分支的时候检索共同的父类 都是一个分支一个分支的找下去,然后最后找objec
阅读全文
摘要:1.非菱形继承下属性的查找顺序_python3下.mro()的查找顺序 ''' 如果多继承是非菱形继承,python2和python3的属性查找顺序一样: 都是一个分支一个分支的找下去,然后最后找object ''' class E: # def test(self): # print('from
阅读全文
摘要:1.菱形问题与MRO介绍_菱形继承的解释及初步案例 '''菱形继承:一个子类继承的多个父类,多个父类最总汇聚到一个非object类上的过程叫菱形继承''' # 案例场景:类C继承类A和B,类A和B都是继承G class G: pass class A(G): def test(self): prin
阅读全文
摘要:1.单继承背景下的属性查找_示范1.子类继承父类,调用父类的函数前会先查看子类如果有会直接调用子类的方法 # 示范1: class Foo: def f1(self): print('Foo.f1') def f2(self): print('Foo.f2') self.f1() class Bar
阅读全文
摘要:1.继承实现_示范1创建学生类和老师类,双类中存在冗余代码 # 示范1:类与类之前存在冗余问题 class Student: school = 'OLDBOY' def __init__(self, name, age, sex): self.name = name self.age = age s
阅读全文
摘要:1.继承介绍_什么是继承_继承格式___bases__用法 # 1、什么继承? # I:继承是一种创建新类的方式,新建的类可称为子类或派生类,父类又可称为基类或超类,子类会遗传父类的属性 # II:需要注意的是:python支持多继承 # 在Python中,新建的类可以继承一个或多个父类 # 继承格
阅读全文
摘要:1.property使用part2_多次调用类中的函数方法 property用法,案例一代码如下: '''案例一''' class People: def __init__(self, name): self.__name = name def get_name(self): return self
阅读全文
摘要:1.property使用part1 @property用法,代码如下: # 装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加 # 新功能的可调用对象 # property 是一个装饰器,用来将绑定给对象的方法,伪装成一个数据属性(即不需要加`()`调用) ''' 成人的BMI数值
阅读全文
摘要:1.为何要隐藏属性 为何要隐藏属性,代码: # 2.为何要隐藏 print('为何要隐藏'.center(50,'-')) # I、隐藏数据属性 # 将数据隐藏起来就限制了类外对数据的直接操作,然后类内应该提供相应的接口来允许类外部间接地操作数据, # 接口之上可以附加额外的逻辑来对数据地操作进行严
阅读全文
摘要:1.如何隐藏属性_隐藏属性的使用方法 2.如何隐藏属性_隐藏属性的需要注意的问题 ''' 二:将封装的属性进行隐藏操作 ''' # 1.如何隐藏:在属性名前加__前缀,就会实现对外隐藏属性效果 # 该隐藏需要注意的问题: # Ⅰ:在类外部无法直接访问双下滑线开头的属性,但知道了类名和属性名可以拼出来
阅读全文
摘要:1.课程对象定义与使用_课程类和班级类关联 班级类,Class: '''班级''' class Class: # __init__中,初始化单个对象,记录每个班级独有的东西 def __init__(self, class_name): self.class_name = class_name #
阅读全文
摘要:1.学校与班级建关联_班级类,将班级和班级对应的课程信息生成对象 '''班级''' class Class: # __init__中,初始化单个对象,记录每个班级独有的东西 def __init__(self, class_name): self.class_name = class_name #
阅读全文
摘要:理解:将单个对象独有的字段数据存在__init__层级下,公用的方法存放在类层级下 1.班级类定义与使用_创建班级并关联课程 创建班级并关联课程,代码如下: '''班级''' class Class: # __init__中,初始化单个对象,记录每个班级独有的东西 def __init__(self
阅读全文
摘要:理解:将单个对象独有的字段数据存在__init__层级下,公用的方法存放在类层级下 1.学校类的定义与使用_学校类__创建学校并关联班级 学校类__创建学校并关联班级,代码如下: # 整合 --> 解耦合 --> 扩展性增强 class School: # 学校类 # 学校共有的数据 school_
阅读全文
摘要:1.属性查找与绑定方法_类和类下的对象访问数据属性 类和类下的对象访问数据属性代码如下: class Student: # 1.变量的定义 stu_school = 'oldboy' # 记录类下实例化次数 count = 0 # 空对象,'egon', 18, 'male' def __init_
阅读全文
摘要:1.__init__方法_代码重复解决方案一,函数内定义重复代码 # 一.先定义类:存放共有的部分 # 类是对象相似数据与功能的集合体 # 所以类中最常见的是变量与函数的定义,但是类体其实是可以包含任意其他代码的 # 注意:类体代码是在类定义阶段就会立即执行,会产生类的名称空间 class Stud
阅读全文
摘要:1.产生对象 # 一.先定义类:存放共有的部分 # 类是对象相似数据与功能的集合体 # 所以类中最常见的是变量与函数的定义,但是类体其实是可以包含任意其他代码的 # 注意:类体代码是在类定义阶段就会立即执行,会产生类的名称空间 class Student: # 1.变量的定义 stu_school
阅读全文
摘要:''' 面向过程: 核心'过程' 过程的核心思想是将程序流程化 过程是'流水线',用来分步骤解决问题 面向对象: 核心'对象' 对象的核心思想是将程序"整合" 对象是"容器", 用来存放数据和功能的 python提供了固定语法来允许将数据和功能很好地整合到一起 ''' # 程序 = 数据 + 功能
阅读全文
摘要:1.查看购物车、记录日志_查看购物车功能用户视图层(src.py)和购物商城接口(shop_interface.py) 查看购物车功能用户视图层(src.py) # 9. 查看购物车 @common.login_auth def check_shop_car(): # 直接调用查看购物车接口 che
阅读全文
摘要:1.购物功能_src.py中支付结算功能+添加购物车功能 src.py中的购物功能代码: # 8. 购物功能 @common.login_auth def shopping(): # 不从文件中读取商品数据,直接写 # 1)创建一个商品列表,列表套列表的商品数据,使用枚举 # [[商品名称1, 商品
阅读全文
摘要:1.管理员功能_修改用户额度 管理员视图层 admin.py中的代码: # 修改用户额度 def change_balance(): while True: # 1)输入需要修改的用户名 change_user = input('请输入需要修改额度的用户:').strip() # 2)修改的用户额度
阅读全文
摘要:1.管理员功能框架搭建 管理员功能框架搭建,src.py中的代码: # 10. 管理员功能 @common.login_auth def admin(): from ATM.core import admin admin.admim_run() 管理员功能框架搭建,admin.py中的代码: fro
阅读全文
摘要:1.记录流水、流水功能_银行业务接口(bank_interface.py)函数中添加记录流水功能 2.记录流水、流水功能_用户视图层(src.py)和银行业务接口(bank_interface.py)查看流水功能 查看流水:src.py中的代码 # 7. 查看流水,需要先记录流水 @common.l
阅读全文
摘要:1.转账功能_用户视图层(src.py)和银行相关业务接口(bank_interface.py) 转账功能:用户视图层(src.py)中的代码 # 6. 转账功能 @common.login_auth def transfer(): ''' 1.接收用户输入的 转账目标用户 2.接收用户输入的 转账
阅读全文
摘要:1.还款功能_用户视图层(src.py)和银行相关业务接口(bank_interface.py) 还款功能:src.py中的代码 # 5. 还款功能 @common.login_auth def repay(): ''' 银行卡还款,无论是信用卡或储蓄卡,是否能充任意大小的金额 ''' while
阅读全文
摘要:1.查看余额与提现功能_查看余额功能逻辑代码 查询余额:src.py 的代码 # 3. 查看余额 @common.login_auth def check_balance(): # 直接调用查看余额接口,获取用户余额 balance = user_interface.check_bal_interf
阅读全文
摘要:1.密码加密、登录认证装饰器_md5加密方法代码 md5加密方法代码: import hashlib # md5加密 def get_pwd_md5(password): md5_obj = hashlib.md5() md5_obj.update(password.encode('utf-8'))
阅读全文
摘要:1.登录功能_用户视图层(src.py)和逻辑接口层(user_interface.py) src.py视图层登录功能代码: # 全局变量,记录用户是否已登录 login_user = None # 2. 登录功能 def login(): while True: # 1) 用户输入用户名和密码 u
阅读全文
摘要:1.拆分版注册功能_第一层:用户视图层(src.py)和第二层:逻辑接口层(user_interface.py) 第一层:用户视图层(src.py)_注册功能: # 注册功能_分层版 def register(): while True: # 1) 让用户输入用户名和密码进行校验 username
阅读全文
摘要:1.注册功能面条版_settings.py中的目录拼接的配置信息 settings.py文件中的代码: ''' 存放配置信息 ''' import os # 获取项目根目录路径 BASE_PATH = os.path.dirname( os.path.dirname(__file__) ) # 获取
阅读全文
摘要:1.软件目录与视图层搭建_ATM的目录结构 2.软件目录与视图层搭建_程序入口start.py文件 start.py代码如下: ''' 程序的入口 ''' import sys import os # 添加解释器的环境变量 sys.path.append( os.path.dirname(__fil
阅读全文
摘要:1.需求分析_需求分析图 2.需求分析_用户视图层展示给用户选择的功能
阅读全文
摘要:# 项目的说明书 ## 项目:ATM + 购物车 # 项目需求: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间转账 6.记录每月日常消费流水 7.提供还款接口 8.ATM记录操作日志 9.提供管理
阅读全文
摘要:1.项目介绍 # 项目的说明书## 项目:ATM + 购物车# 项目需求: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间转账 6.记录每月日常消费流水 7.提供还款接口 8.ATM记录操作日志 9
阅读全文
摘要:1.正则表达式_模式使用 2.正则表达式_重复匹配Ⅰ 3.正则表达式_重复匹配Ⅱ
阅读全文
摘要:1.软件开发的目录规范part2_ATM日志settings配置日志目录 2.软件开发的目录规范part2_ATM日志log文件夹中common中日志写入代码 3.软件开发的目录规范part2_ATM日志core文件夹中src中每个功能加上日志功能 4.软件开发的目录规范part2_ATM运行sta
阅读全文
摘要:1.软件开发的目录规范part1_ATM文件结构 2.软件开发的目录规范part1_ATM中bin目录下start文件代码内容 3.软件开发的目录规范part1_ATM中conf目录下settings文件代码内容 4.软件开发的目录规范part1_ATM中core目录下src文件代码内容
阅读全文
摘要:1.setting.py文件中,LOGGING_DIC >handlers下的default字典中的参数解释 注:`maxBytes`和`backupCount`两个key值的使用 # 打印到文件的日志,收集info及以上的日志 'default': { 'level': 'DEBUG', # 'c
阅读全文
摘要:1.setting.py配置文件 """ logging配置,settings文件中的代码配置 """ import os os.chdir(os.path.dirname(os.path.abspath(__file__))) # 1、定义三种日志输出格式,日志中可能用到的格式化串如下 # %(n
阅读全文
摘要:1.settings.py文件中的代码配置 1 """ 2 logging配置,settings文件中的代码配置 3 """ 4 5 import os 6 7 os.chdir(os.path.dirname(os.path.abspath(__file__))) 8 9 # 1、定义三种日志输出
阅读全文
摘要:1.日志格式与输出位置_自定义时间格式输出 2.日志格式与输出位置_日志内容写入文件 3.日志格式与输出位置_loguru模块日志内容写入文件
阅读全文
摘要:1.日志级别_日志配置 # 一:日志配置 logging.basicConfig( # 1、日志输出位置:1、终端 2、文件 # filename='access.log', # 不指定,默认打印到终端 # 2、日志格式 format='%(asctime)s - %(name)s - %(leve
阅读全文
摘要:1.cmd中执行dir 2.subprocess模块的使用,获取cmd中的dir命令内容
阅读全文
摘要:1.密码加盐_模拟撞库 2.密码加盐_密码加盐原理
阅读全文
摘要:1.hash介绍 2.hashlib应用介绍_同字符串加密hash相同 3.hashlib应用介绍_校验文件的完整性
阅读全文
摘要:1.json模块的基本使用_序列化和反序列化 2.json模块的基本使用_dumps() dump() loads() load()用法 3.json格式补充
阅读全文
摘要:1.打印进度条_tqdm的简单使用 2.打印进度条_自写程序运行进度条 3.打印进度条_进度条封装共功能函数并附带百分比提示
阅读全文
摘要:1.sys模块 2.sys模块_原方法input输入实现文件的复制 3.sys模块_sys.argv方法实现文件的复制
阅读全文
摘要:1.os模块 2.python3.5后的pathlib模块使用
阅读全文
摘要:1.random模块方法 2.random模块方法_实现随机验证码功能
阅读全文
摘要:1.时间模块part2_datetime模块
阅读全文
摘要:1.包的使用_模块未添加环境变量报错 2.包的使用_模块添加环境变量运行正常 3.包的导入强调三点
阅读全文
摘要:1.函数的类型提示_函数常规传参 2.函数的类型提示_函数参数设置默认值 3.函数的类型提示__annotations__方法查看参数传参类型
阅读全文
摘要:1.sys.path的应用 2.编写规范的模块
阅读全文
摘要:1.sys.modules查看内存模块 2.del删除不掉导入模块
阅读全文
摘要:1.from ... import ...用法
阅读全文
摘要:1.一个python文件的两种用途 2.__name__的结果判断文件是被导入还是被执行
阅读全文