php程序员学习python3学习第八天
文件操作函数:
1,truncate() 截取文件指针前的字符,清空指针之后的字符
2,read() read(5)读取指定位置的字符或者字节 就算read(1)读一个字节的时候,也回把其指针置到尾部
4,write() 写入
5,readline() 读取一行,类似于next()
6,readlines() 读取所有字符,每一行放入列表中的一个元素
7,flush() 强行刷入硬盘 一般文件先写在内存中,当内存满的时候再写入硬盘,使用此可以强行刷入硬盘中
8,tell() 获取指针所在位置
9,seek() 跳到指定的位置
10,with open('','','') as f1, open('','','') as f2:
11,定义方法后注意添加注释
''' 读取文件,判断用户名密码是否正确 :param username 用户名 :param pwd 密码 :return bool ''' def checkUser(username, pwd)
12,冒泡排序
#-*- coding:utf-8 -*- #冒泡排序 lists = [22,11,2,4,33,112,0,21] #比较一次就应该少统计一次最大值,所以在最外层有一层用来控制循环的 for j in range(1,len(lists)): for x in range(len(lists) - j): print(x,type(x)) #如果第一个值比其第二个值大的话,那就将大的值放在后边 if lists[x] > lists[x+1]: temp = lists[x] lists[x] = lists[x+1] lists[x+1] = temp print(lists)
13,递归生成斐波那契数列
# -*- coding:utf-8 -*- # 斐波那契数列 # 格式为从0还是,第一个值加第一个值一次叠加 lists = [] def fbnq(flag, a1, a2): lists.append(a1) print(lists) tmp = a1 + a2 if flag == 10: return lists fbnq(flag+1, a2, tmp) res_list = fbnq(1,0,1) print(res_list)
14,装饰器的使用,用在不改方法内部的内容,增加新的需求
#-*- coding:utf-8 -*- #装饰器的简单使用 def func(x): def test(): print('hello') #原函数 r = x() print('end') return test @func def f1(): print('f1') f1() # 1,在执行f1函数时,先执行装饰器func,将f1的参数名传递进去 # 2,在func的内部将test整个方法返回 # 3,此时f1再进行调用的时候已经是在执行test方法内的程序
15,装饰器传递N个参数,使用*arg **kwargs
#装饰器传递n个参数,复用装饰器,不管原函数具有几个参数 def func2(x): def inner(*arg, **kwargs): print('start') res = x(*arg, **kwargs) print('end') return res return inner @func2 def test1(a1, a2): print('test1') return a1 + a2 @func2 def test2(a1, a2, a3): print('test2') return a1 + a2 + a3 result = test1(1, 32) results = test2(2, 3, 4) print(result) print(results)
16,一个函数应用多个装饰器,将定义的函数上边引用需要引用的装饰器,先执行的写在上边
假如有三个装饰器,先执行第一个装饰器上边的结构,再到第二个装饰器上边的结构,再到第三个装饰器上边的结构,再到执行原函数,再执行第三个装饰下边的结构,再到第二个装饰器下边的结构,再到第三个装饰器下边的结构
#一个函数应用多个装饰器 def func_0(x): def inner(*arg, **kwargs): print('start') res = x(*arg, **kwargs) return res return inner def func_1(x): def inner(*arg, **kwargs): res = x(*arg, **kwargs) print('end') return res return inner @func_0 @func_1 def f1(a1, a2): print('f1') return a1 + a2 result = f1(1, 2) print(result)
-------------------------立码平天下------------------------------

浙公网安备 33010602011771号