03 2020 档案
摘要:import configparser 配置对象 config = configparser.ConfigParser() config.read('/Users/tophan/PycharmProjects/ATM+ 购物车/conf/setting.ini') 如果不是绝对路径,在其他地方调用该
阅读全文
摘要:一 序列化 1.什么是序列化与反序列化 序列化指的是把内存的数据类型转换成一个特定的格式的内容 内存中的数据类型 》序列化 》特定的格式(jso格式或者 pickle格式) 特定的格式(json 格式或者 pickle 格式) 》反序列化 》内存中的数据类型 2、为何要用序列化 序列化得到结果===
阅读全文
摘要:1、检索文件夹大小的程序,要求执行方式如下 python3.8 run.py 文件夹 2、随机验证码 3、进度条
阅读全文
摘要:一 time time 模块是普通的时间模块 1、time.time( ) 时间戳:从 1970 到现在经过的秒数 作用:用于时间间隔的计算 2、time.strftime( ) 按照某种格式显示的时间: 2020 03 30 11:11:11 作用:用于展示时间 3、time.lo
阅读全文
摘要:软件开发目录规范 为了提高程序的可读性和可维护性,我们应该为软件设计良好的目录结构。 目录结构 具体目录结果如下: 注:run.py为启动文件,一般存放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹作为 sys.path的第一个路径,这样就省去了处理环境变量的步骤 关于 readme 关
阅读全文
摘要:一 模块 1、什么是模块 模块是一系列功能的结合体 分为三大类: 1、内置的模块 2、第三方的模块 3、自定义的模块 一个 python 文件本身就是一个模块,文件名:m.py 模块名:m ps:模块分为四种形式 1 使用python编写的.py文件 2 已被编译为共享库
阅读全文
摘要:一 迭代器 1、什么是迭代器 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一层的结果而继续的,单纯的重复并不是迭代。 2、为何要有迭代器 迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型 生成器对象属于迭代器,所以可以使用 for 循环迭代取值,如下: 只要函数体
阅读全文
摘要:1、文件内容如下,标题为:姓名,性别,年纪,薪资 要求: 从文件中取出每一条记录放入列表中,列表的每个元素都是 6 使用递归打印斐波那契数列(前两个数的和得到第三个数,如:0 1 1 2 3 5 8...) 7 一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,
阅读全文
摘要:一 函数的递归调用 函数的递归调用:是函数嵌套调用的一种特殊形式 函数的递归本质是:重复执行代码 具体是指: 在调用一个函数的过程中又直接或间接的调用本身 直接调用本身 间接调用本身 二 代码的循环运行方式 一段代码的循环运行的方案有两种 方式一:while 、for 循环 方式二:递归的本质就
阅读全文
摘要:一 三元表达式 三元表达式是 python 为我们提供的一种简化代码的解决方案,语法如下: 具体案列: 针对以下需求修改成三元表达式: 普通格式: 三元表示式格式: 二 列表生成式 列表生成式是python 为我们提供的一种简化代码的解决方案,用来快速生成列表 三 字典生成式 列表生成式是pyt
阅读全文
摘要:一 迭代器 1、什么是迭代器 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一层的结果而继续的,单纯的重复并不是迭代。 2、为何要有迭代器 迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型 生成器对象属于迭代器,所以可以使用 for 循环迭代取值,如下: 只要函数体
阅读全文
摘要:1、编写课上讲解的有参装饰器准备明天默写 2:还记得我们用函数对象的概念,制作一个函数字典的操作吗,来来来,我们有更高大上的做法,在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 3、 编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017 07 21 11:1
阅读全文
摘要:一:编写函数,(函数执行的时间用time.sleep(n)模拟) 二:编写装饰器,为函数加上统计时间的功能 三:编写装饰器,为函数加上认证的功能 四:编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码 注意:从文件中读出字符串形式的
阅读全文
摘要:一 装饰器 1、什么是装饰器 器指的是工具,可以定义成函数 装饰指的是为其他事物添加额外的功能 总结: 装饰器指的是定义一个函数/类,该函数是用来为其他函数增加功能的 函数装饰器分为:无参装饰器和有参装饰器两种:二者的实现原理一样,都是'函数嵌套+闭包+函数对象'的组合使用的产物 2
阅读全文
摘要:1、函数对象优化多分支if的代码练熟 2、编写计数器功能,要求调用一次在原有的基础上加一 温馨提示: I:需要用到的知识点:闭包函数+nonlocal II:核心功能如下: def counter(): x+=1 return x 要求最终效果类似 print(c
阅读全文
摘要:一 函数对象 函数对象:可以把函数当成变量去使用 本质:func = 内存地址 1、函数可以作赋值 2、可以把函数当做参数传给另外一个函数 python 中的传递其实就是内存地址的传递 3、可以把函数当做另外一个函数的返回值 4、可以当做容器类型的一个元素 二 函数嵌套 1、函数的嵌套调用:
阅读全文
摘要:作业要求:下述所有代码画图以及分析代码执行流程 1、以定义阶段为准,先画出名称空间的嵌套关系图 2、然后找到调用函数的位置,写出函数调用时代码的执行过程,涉及到名字的查找时,参照1中画好的嵌套图,标明查找顺序,一层一层直到找到位置 ===================题目一============
阅读全文
摘要:一 名称空间 1、名称空间namespace 名称空间是存放名字(变量名与内存地址的绑定关系)的地方,是对栈区的划分,有了名称空间之后,就可以在栈区中存放相同的名字。 (栈区划分成多片名称空间,相当于把名字归类了,最大的好处是:当两个变量名相同时,可以存放在两个不同的名称空间,就不会冲突了) 名称空
阅读全文
摘要:一 形参与实参介绍 函数参数分为形参和实参: 形参:在定义函数阶段定义的参数称之为形式参数,简称形参 实参:在调用函数阶段传入的值称之为实际参数,简称实参 相当于变量值 形参与实参的关系 1、在调用阶段:实参(变量值)会绑定为传给形参(变量名) 2、这种绑定关系只能在函数体内使用 3、实
阅读全文
摘要:1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批量修改操作 结果展示: 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个
阅读全文
摘要:1、编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改 2、编写tail工具 3、编写登录功能 4、编写注册功能 选做题:编写ATM程序实现下述功能,数据来源于文件db.txt 1、充值功能:用户输入充值钱数,db.txt中该账号钱数完成修改
阅读全文
摘要:一 函数 1、什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用 2、为何要用函数 解决以下问题: 1、代码冗余、程序组织机构不清晰、可读性差 2、可维护性差、扩展性差 3、如何用函数 先定义 三种定义方式 后调用 三种调用方
阅读全文
摘要:1、通用文件copy工具实现 2、基于seek控制指针移动,测试r+、w+、a+模式下的读写内容 r+模式 的模式 0: w+模式的模式 0: a +模式的模式 0: 3、tail f access.log程序实现
阅读全文
摘要:1、编写文件copy工具 2、编写登录程序,账号密码来自于文件 3、编写注册程序,账号密码来存入文件 二: 2.1:编写用户登录接口 1、输入账号密码完成验证,验证通过后输出"登录成功" 2、可以登录不同的用户 3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍
阅读全文
摘要:一 什么是文件 文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口 用户/应用程序 操作系统(文件) 计算机硬件(硬盘) 二 为何要用文件 用户/应用程序可以通过文件将数据永久保存在硬盘中,即操作 文件就是操作硬盘 用户/应用程序直接操作的是文件,对文件进行的所有的操作,都是在向操作系
阅读全文
摘要:一 字符编码 字符编码表就是一张字符与数字的对应关系的表 内存 上 翻译 01011010 上 unicode格式数字(内存中)GBK格式二进制(硬盘) 人类输入的字符 unicode格式数字(内存中)Shift_JIS格式二进制(硬盘) 注:GBK 与 Shift_JIS字符编码都可以转为 u
阅读全文
摘要:1、有列表['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量 2、用列表的insert与pop方法模拟队列 3. 用列表的insert与pop方法模拟堆栈 4、实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数以三元组
阅读全文
摘要:一 int 类型 1、作用 2、定义 int( ) :调用创建整型数据功能 补充: 3、类型转换 3.1 出数字的字符串转成 int 3.2 了解 十进制 —— 二进制 十进制—— 八进制 十进制—— 十六进制 二进制—— 十进制 八进制—— 十进制
阅读全文
摘要:一:for 循环 1.1 for循环嵌套之打印99乘法表 结果展示: 1.2 for 循环嵌套之打印金字塔 提示分析如下 最终结果展示: 1.3 用for+range改写今日早晨默写的代码,作为明天默写内容
阅读全文
摘要:1. 使用while循环输出1 2 3 4 5 6 8 9 10 2. 求1 100的所有数的和 3. 输出 1 100 内的所有奇数 4. 输出 1 100 内的所有偶数 5. 求1 2+3 4+5 ... 99的所有数的和 6. 用户登陆(三次机会重试) 7:猜年龄游戏 要求: 允许用户最多尝试
阅读全文
摘要:拷贝:拷贝指的是拷贝原列表产生新的列表(id 是不同的) 浅拷贝: 什么是浅拷贝: 是把原列表第一层的内存地址不加区分(可变和不可变元素)完全 copy 一份给新列表 总结: 1、对于不可变类型的赋值,都是产生了新值,让原列表的索引指向新的内存地址,并不会影响新列表 2、对于不可变类型时
阅读全文
摘要:一 可变不可变类型 可变类型: 值改变,id不变,证明改的是原值,即原值是可以被改变的 不可变类型: 值改变,id也变了,证明产生新的值,压根没有改变原值,证明原值是不可以被修改的 1) int 是不可变类型 2)float是不可变类型 3)str是不可变类型 小结:in
阅读全文
摘要:内存管理:垃圾回收机制 垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,称之为垃圾。 垃圾回收机制 垃圾回收机制(简称:GC)是Python解释器自带的一种机,专门用来回收不可用的变量值所在用的内存空间 为什么要用垃圾回收机制 程序运行过程中会申请大量的内存空间,而一
阅读全文
摘要:一 与用户交互 1.1 输入input 1.2 输出print 二 格式化输出 注:这里格式化输出都是指的是字符串的格式化输出。 1.1 %方式 1 %s可以接收任意类型,%d只能接收int 值按照位置与%s一一对应,少一个不行,多一个也不行 2 以字典的形式传值,打破位置的限制
阅读全文
摘要:0、分别画出下面两个列表在内存中是如何存放的 l1=[11,22,[333,444]] l2=[11,22,[33,{'name':'egon','age':18}]] 1、 用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式 结果展示: 2、 用户输入账号密码,程序分别单独判断账号与密码是否正确
阅读全文
摘要:作业: ''' 二:嵌套取值操作 1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]] 请取出第一个学生的第一个爱好 '''print(students_info[0][2][0]) #play''' 2、info={ 'name':'egon', 'hobbies':['play','sl
阅读全文