03 2020 档案
摘要:# 1、什么是哈希hash# hash一类算法,该算法接受传入的内容,经过运算得到一串hash值# hash值的特点:# I 只要传入的内容一样,得到的hash值必然一样# II 不能由hash值返解成内容# III 不管传入的内容有多大,只要使用的hash算法不变,得到的hash值长度是一定# 2
阅读全文
摘要:配置文件test.ini如下: [section1]k1 = v1name = egonage:78salary = 31.5is_admin = true[section2]k2 = v2执行文件: import configparserconfig=configparser.ConfigPars
阅读全文
摘要:shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f=shelve.open(r'sheve.txt') # f['stu1_info']={'name
阅读全文
摘要:json&pickle模块 1、什么是序列化&反序列化 内存中的数据类型 >序列化 >特定的格式(json格式或者pickle格式) 内存中的数据类型< 反序列化< 特定的格式(json格式或者pickle格式) 2、为何要序列化 序列化得到结果=>特定的格式的内容有两种用途 1)、可用于存储=》用
阅读全文
摘要:sys模块1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模块的搜索路径,初始化时使
阅读全文
摘要:os模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('.
阅读全文
摘要:random模块 print(random.random()) #(0,1) float 大于0且小于1之间的小数 print(random.randint(1, 3)) # [1,3] 大于等于1且小于等于3之间的整数 print(random.randrange(1, 3)) # [1,3) 大
阅读全文
摘要:time与datetime模块time: 时间分为三种格式: 1、时间戳:从1970年到现在经过的秒数 作用:用于时间间隔的计算 time.time() 2、格式化的字符串时间(按照某种格式显示的时间):2020-03-30 11:11:11 作用:用于展示时间 time.strftime('%Y-
阅读全文
摘要:软件开发的目录规范 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。 软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下: Foo/ |-- core/ | |-- core.py | |-- api/ | |--
阅读全文
摘要:包(****) 什么是包? 包就是一个包含有__init__.py文件的文件夹 为何要有包? 包的本质是模块的模块的一种形式,包是用来被当做模块导入 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包的本质就是一种模块 如何用包? import mmm (假设mmm是一个有
阅读全文
摘要:from...import ... from...import...与import语句基本一致,唯一不同的是:使用import foo(模块名)导入模块后,引用模块中的名字都需要加上foo.(模块名点)作为前缀, 而使用from foo import x,get,change,Foo(变量名或函数名
阅读全文
摘要:补充函数的知识点: 类型提示 Type hinting(最低 Python 版本为 3.5)def register(name:"必须传入名字傻叉",age:1111111,hobbbies:"必须传入爱好元组")->"返回的是整型": # 可以在函数形参的后面跟 :加提示信息 print(name
阅读全文
摘要:一个py文件有几种用途? 执行py文件与导入py文件的区别是什么? 1、被当成程序运行(执行文件) 2、被当做模块导入(导入文件) 执行文件在运行的时候会产生执行文件的名称空间,并将程序运行过程中产生的名字存放到执行文件的名称空间。 如果执行文件中有导入模块的操作,import foo(模块名)会将
阅读全文
摘要:4、模块 1、什么是模块? 模块就是一系列功能的集合体, 分为三大类 I:内置的模块 II:第三方的模块 III:自定义的模块 一个python文件本身就一个模块,文件名m.py,模块名叫m ps:模块有四种形式 1.使用python编写的.py文件 2.已被编译为共享库或DLL的C或C + +扩展
阅读全文
摘要:3、匿名函数 lambda :用于定义匿名函数 匿名用于临时调用一次的场景:更多的是将匿名与其他函数配合使用 map(映射) filter(过滤) reduce(加减乘除计算,字符串拼接) sorted(排序默认升序) max(最大) min(最小)案例: # 1、def用于定义有名函数# func
阅读全文
摘要:1、二分法(递归的应用场景)=》算法(算法:是高效解决问题的办法) 前提:有一个按照从小到大顺序排列的数字列表 需要从该数字列表中找到我们想要的那个一个数字 如何做更高效??? 用到了二分法:取中间索引的值比较要找的值,如果寻找的值比中间索引的值大继续往右找继续用二分法,同理小就往左找,else就是
阅读全文
摘要:函数的递归调用 递归的定义 函数的递归调用:是函数嵌套调用的一种特殊形式 具体是指: 在调用一个函数的过程中又直接或者间接地调用到本身 递归的本质就是循环 需要强调的的一点是: 递归调用不应该无限地调用下去,必须在满足某种条件下结束递归调用 递归的两个阶段 回溯:一层一层调用下去 递推:满足某种结束
阅读全文
摘要:三元表达式 语法格式: 条件成立时要返回的值 if 条件 else 条件不成立时要返回的值 生成式 列表生成式 l = ['alex_dsb', 'lxx_dsb', 'wxx_dsb', "xxq_dsb", 'egon'] new_l=[name for name in l] 字典生成式 ite
阅读全文
摘要:生成器的高级玩法之yield挂起函数:yield的表达式形式(了解***) x=yield 返回值 函数中有yield调用函数返回的是迭代器对象 迭代器对象.send(None) 等同于next(迭代器对象) 迭代器对象.send(值)相当于值传给yield yield再赋值给变量,碰到下一个yie
阅读全文
摘要:一、叠加多个装饰器的加载、运行分析(了解***)def deco1(func1): # func1 = wrapper2的内存地址 def wrapper1(*args,**kwargs): print('正在运行 >deco1.wrapper1') res1=func1(*args,**kwarg
阅读全文
摘要:生成器:yield(自定义迭代器) 如何得到自定义的迭代器: 在函数内一旦存在yield关键字,调用函数并不会执行函数体代码 会返回一个生成器对象,生成器即自定义的迭代器 自定义迭代器.__next__() 会触发函数体代码的运行,然后遇到yield停下来,将yield后的值 当做本次调用的结果返回
阅读全文
摘要:迭代器 for循环的工作原理 1、什么是迭代器 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复 都是基于上一次的结果而继续的,单纯的重复并不是迭代 2、为何要有迭代器 迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型 有:列表、字符串、元组、字典、集合、打开文件 ps:迭代器
阅读全文
摘要:有参装饰器(需要掌握) 由于语法糖@的限制,outter函数只能有一个参数,并且该函数只用来接收被装饰对象的内存地址(也就是两层不够用,需要再来一层进行传参) 山炮玩法:不使用语法糖,第二层传参也能实现功能 例如装饰index函数 index=auth(index,'file') 有参装饰器模板:
阅读全文
摘要:储备知识点: *args,**kwargs 名称空间与作用域 函数对象 函数的嵌套定义 闭包函数无参装饰器 1、什么是装饰器 器指的是工具,可以定义成成函数 装饰指的是为其他事物添加额外的东西点缀 合到一起的解释: (现在只了解函数)装饰器指的定义一个函数,该函数是用来为其他函数添加额外的功能 2、
阅读全文
摘要:闭包函数=名称空间与作用域+函数嵌套+函数对象一:大前提: 闭包函数=名称空间与作用域+函数嵌套+函数对象 核心点:名字的查找关系是以函数定义阶段为准二:什么是闭包函数 "闭"函数指的该函数是内嵌函数 "包"函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域) 闭包函数:名称空间与作用域
阅读全文
摘要:1、函数对象(可以把函数当成变量去用) 精髓:可以把函数当成变量去用 1、可以赋值 2、可以当做函数当做参数传给另外一个函数 3、可以当做函数当做另外一个函数的返回值 4、可以当做容器类型的一个元素2、函数嵌套 1、函数的嵌套调用:在调用一个函数的过程中又调用其他函数 2、函数的嵌套定义:在函数内定
阅读全文
摘要:名称空间(namespaces) 名称空间namespacs:存放名字的地方,是对栈区的划分(归类) 有了名称空间之后,就可以在栈区中存放相同的名字 内置名称空间、全局名称空间、局部名称空间 I:三种名称空间用途与存活周期 内置名称空间:存放的名字:存放的python解释器内置的名字 存活周期:py
阅读全文
摘要:1、函数参数补充(了解) # 2.5 命名关键字参数(了解) 命名关键字参数:在定义函数时,*后定义的参数,如下所示,称之为命名关键字参数 def func(x,y,*,a,b): # 其中,a和b称之为命名关键字参数 特点: 1、命名关键字实参必须按照key=value的形式为其传值 # 2.6
阅读全文
摘要:一 形参与实参介绍 形参:在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名 实参:在调用函数阶段传入的值称之为实际参数,简称实参,相当于变量值 形参与实参的关系: 1、在调用阶段,实参(变量值)会绑定给形参(变量名) 2、这种绑定关系只能在函数体内使用 3、实参与形参的绑定关系在函数调
阅读全文
摘要:函数1、什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 定义函数发生的事情 1、申请内存空间保存函数体代码 2、将上述内存地址绑定函数名 3、定义函数不会执行函数体代码,但是会检测函数体语法 后调用 调用函数发生的事情 1、通过函数名找到函数的内存地址 2、然后加括
阅读全文
摘要:# 文件修改的两种方式# 方式一:文本编辑采用的就是这种方式# 实现思路:将文件内容发一次性全部读入内存,然后在内存中修改完毕后再覆盖写回原文件# 优点: 在文件修改过程中同一份数据只有一份# 缺点: 会过多地占用内存# with open('c.txt',mode='rt',encoding='u
阅读全文
摘要:seek指针移动 文件的高级操作:控制文件指针的移动seek(n,模式) 移动文件读取指针到指定位置。 指针移动的单位都是以bytes/字节为单位 只有一种情况特殊: t模式下的read(n),n代表的是字符个数seek(n,模式) n:字节数 负数的字节数会从右往左走 模式0:参照物是文件开头位置
阅读全文
摘要:1、文件模式 x模式(控制文件操作的模式)-》了解 x, 只写模式【不可读;不存在则创建,存在则报错】 b模式补充(控制文件读写内容的模式) t: 1、读写都是以字符串(unicode)为单位 2、只能针对文本文件 3、必须指定字符编码,即必须指定encoding参数 b:binary模式(二进制模
阅读全文
摘要:文件操作1、什么是文件 文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口(功能) 用户/应用程序(open()) 操作系统(文件) 计算机硬件(硬盘)2、为何要用文件 用户/应用程序可以通过文件将数据永久保存的硬盘中 即操作文件就是操作硬盘 用户/应用程序直接操作的是文件,对文件进行
阅读全文
摘要:字符编码(理论多,结论少) ASCII: 首先ASCII字符编码分为7位码和8位码,7位码是标准ASCII码,共2^7=128种不同编码。然后还有种扩展ASCII码,是在原先基础上 额外多了128 个特殊符号字符、外来语字母等,所以共8位,并且是2^8=256种不同编码。ASCII 码使用指定的7位
阅读全文
摘要:集合类型 集合(set)是一个无序的不重复元素集合。 可以使用大括号 { } 或者 set() 函数创建集合, {'egon','tank'} 用逗号分隔开多个值 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。 去重(有局限性) 只能针对不可变类型去重
阅读全文
摘要:字典 作用:字典是一种可变容器模型,且可存储任意类型对象 定义:{}内用逗号分隔开多个key:value(键值对),其中value可以使任意类型,但是key必须是不可变类型如字符串,数字或元组,且不能重复 数据类型转换: dict() 内置方法: 优先掌握的操作: 按key存取值:可存可取(针对赋值
阅读全文
摘要:总结:元组 元组就是"一个不可变的列表" 作用:按照索引/位置存放多个值,只用于读不用于改 定义:()内用逗号分隔开多个任意类型的元素 x=(10) # 单独一个括号代表包含的意思 print(x,type(x)) t=(10,) # 如果元组中只有一个元素,必须加逗号 print(t,type(t
阅读全文
摘要:总结: 列表 作用:按位置存放多个值 定义: l=[1,1.2,'a'] 背后调用的方法 l=list([1,1.2,'a']) 类型转换: 但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表 字符串:列表存的是没有字符串中的每个字符用逗号分隔开 字典:列表存的是key 内置方法:
阅读全文
摘要:# 1、作用# 2、定义# msg='hello' # msg=str('msg')# print(type(msg))# 3、类型转换# str可以把任意其他类型都转成字符串# res=str({'a':1})# print(res,type(res))# 4、使用:内置方法# 4.1 优先掌握#
阅读全文
摘要:# 一:int类型# 1、作用:# 2、定义:# age = 10 # age=int(10)# 名字(参数)# print('hello','world')# x=int(10)# name=input('xxx')# res=print('xxx') # 没有产品(返回值)# print(res
阅读全文
摘要:'''1、什么是for循环 循环就是重复做某件事,for循环是python提供第二种循环机制2、为何要有for循环 理论上for循环能做的事情,while循环都可以做 之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁3、如何用for循环语法:for 变量名 in 可
阅读全文
摘要:# 1、循环的语法与基本使用'''print(1)while 条件: 代码1 代码2 代码3print(3)'''# count=0# while count < 5: # 5 < 5# print(count) # 0,1,2,3,4# count+=1 # 5## print('顶级代码 >')
阅读全文
摘要:浅copy:是把原列表第一层的内存地址不加区分完全copy一份给新列表 深copy(deepcopy):新列表与原列表的改操作完全独立开, 拷贝后,容器类型的内存地址不同,会重新在内存中申请内存空间 作用:浅拷贝:减少内存的使用 深拷贝:以后在做数据的清洗、修改或者入库的时候,对原数据进行复制一份,
阅读全文
摘要:'''语法1:if 条件: 代码1 代码2 代码3'''# age = 60# is_beautiful = True# star = '水平座'## if age > 16 and age < 20 and is_beautiful and star == '水平座':# print('我喜欢,我
阅读全文
摘要:2、什么是条件?什么可以当做条件?为何要要用条件? 显式布尔值:True、False 第一大类:显式布尔值 条件可以是:比较运算符 age = 18 print(age > 16) # 条件判断之后会得到一个布尔值 条件可以是:True、False is_beautiful=True print(i
阅读全文
摘要:# 1、可变不可变类型# 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的# 不可变类型:值改变,id也变了,证明是产生新的值,压根没有改变原值,证明原值是不可以被修改的# 2、验证# 2.1 int是不可变类型# x=10# print(id(x))# x=11 # 产生新值#
阅读全文
摘要:2、与用户交互 接收用户输入 python3中 input会将用户输入的所有内容都存成字符串类型 python2.7(了解) input 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型 raw_input 与python3中的一致 格式化输出 占位符 %s:值按照位置与%s一一
阅读全文
摘要:1、垃圾回收机制详解(了解) 什么是垃圾回收机制? 垃圾回收机制时python解释器自带的一种机制专门用来回收不可用变量值所占的内存空间 为什么要有垃圾回收机制? 程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会 导致内存使用殆尽(内存溢出), 导致程 序崩溃,因此管
阅读全文
摘要:变量'''一、什么是变量?变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等二、为什么要有变量?为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的详细地说:程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反
阅读全文
摘要:pycharm安装 详情参考:https://www.cnblogs.com/xuexianqi/p/12767075.html python3.8解释器安装 详情参考:https://www.cnblogs.com/xuexianqi/p/12377746.html python多版本共存 详情参
阅读全文

浙公网安备 33010602011771号