python第二篇2020/11/11

1.生成器函数
使用yield返回返回值,函数并没有结束,还可以继续执行生成器一次返回一个(组)数据
def tools(func):
def inter(*args,**kwargs):
print(“开始执行…”)
res = func(*args,**kwargs)
print(“结束执行…”)
return res
return inter

#生成器对象12345678123456781)生成器对象循环生成器对象时,一次获取一个值
for i in gen:
print(i)

将生成器对象强制类型转换为列表
print(list(gen))

元组生成器生产或处理大量数据,使用生成器一个一个的处理,用于节省内存空间
gen = (2 ** i for i in range(1,65))

print(gen)
print(list(gen))

12341234斐波那契序列(兔子序列)0 1 1 2 3 5 8 13 21 34 55 89 144 233
def feibo(n):
a,b,s =0,1,1
while s < n:
s += 1
yield a #返回数据不会结束函数
a,b =b,a+b
for i in feibo(10000):
print(i)
input()
2.装饰器函数
在不修改原函数代码的前提下,给原函数增加或修改功能,可以使用装饰器函数
其中有一个名字叫装饰语法糖是@tools
特点:
a.它是一个高阶函数
b. 将原函数作为装饰器函数的参数
c.在装饰器函数内部定义内部函数,在内部函数中执行原函数
d. 将新增的功能添加到内部函数中
e. 返回内部函数
f.将返回的内部函数替换原函数
使用场景:执行时间,写日志,验证,权限的管理
装饰器是代码的一种设计模式
3.文件
被持久化存储在磁盘上的字符串4.文件的操作1)读操作:将文件中的字符串加载进内存2)写操作:将字符串写入到磁盘中的操作例如:open函数用于读写文件
print(help(open))
4.参数
1)file:文件名.当要读写的文件和python程序在同一目录时,写文件名即可
注意路径:
绝对路径 r"C:\test\hello.txt"
相对路径 上一层r".\hello. txt2"
encoding:指定open函数在读写文件时使用 的字符集
windows 默认字符集是gbk
notepad++ 默认字符集是utf-8
open函数在windows上默认字符集是gbk,在Linux上 默认字符集是utf-8,open函数执行后返回一个对象文件3)
mode“r” 只读模式(默认)只能读取文件 不存在是会报错
"w"只写模式,文件不存在可以创建文件,文件存在时覆盖文件
"a"追加模式,文件不存在创建文件,文件存在时将内容添加到文件末尾
"b"二进制模式,要与r.w.a联合使用 图片视频音频等
5.文件对象
read( )方法默认将文件中所有字符串读取到内存,也可以根据字符个数读取read(n)[n表示字符个数]。
文件中的换行也占一个字符,使用\n表示
readline( ) 按行读取数据 每次读取一行
readlines( ) 将所有数据按行存放到列表中读取出来
writelines(list) 将列表中字符串直接写入到文件
write(string)将字符串写入到文件
6.模块
.py文件,所有的python脚本都可以作为python模块被调用
7.包:存放有相互关联的一组python模块的文件夹,例如:init.py文件
#from模块/包.模块/import模块/函数/变量.as别名
#从包中引用所有模块或从模块中引用所有的函数和变量
#当模块被引用时的名字是模块的文件名 例如p1
#当模块自身执行时的名字是_main_
#_name_中的记录的是模块名
#if_name_=="main"将只有直接执行时,才会运行的代码 被作为模块引用时不执行
#pyc:经过python编译后的py模块文件,执行速度更快
8.模块的类型
内置模块 自定义模块 第三方模块
#sys是python内置模块,修改或调用python解释器的方法
#将模块的所在路径添加到python的模块路径中
print(system.path)
system. path. append(“d:\”)
#pip命令可以下载安装第三方模块
#安装 pip install 模块名
#卸载 pip uninstall 模块名
#查看 pip list
9.模块的调用
.py文件就是一个模块
使用关键字 import或from xxx import xxx 引用模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值