02 2020 档案
摘要:1 def fetch(data): 2 print('这是查询功能') 3 tag = False 4 data = 'aaaa %s\n'%data 5 res_data = [] 6 with open('bbb','r',encoding='gbk') as file: 7 for i in
阅读全文
摘要:1 tag = True 2 while tag: 3 print('第一层') 4 choice = input('请输入 》') 5 if choice == 'quit':break 6 if choice == 'quit_all': tag =False 7 while tag: 8 pr
阅读全文
摘要:1 user_list = [ 2 {'name':'alex','passwd':123}, 3 {'name':'xiaopang','passwd':123}, 4 {"name":'haha','passwd':1234} 5 ] 6 user_dic = {'user_name':None
阅读全文
摘要:添加身份验证后,会出现每次都需要输入账户名和密码。所以需要定义一个状态器,每次判断一下是否登录成功。直接跳过输入,减少步骤。。例如: 1 user_dic = {'user_name':None,"login":False} 2 def add_func(func): 3 def wrapper(*
阅读全文
摘要:1 def add_func(func): 2 def wrapper(*args, **kwargs): 3 username = input("亲,请输入你的用户名: ").strip() 4 passwd = input("请输入密码").strip() 5 if username == 's
阅读全文
摘要:1 l = [1,2,3,4,5,6,7,8,9,0] 2 a,*b,c = l 3 print(a,b,c) 4 输出: 5 1 [2, 3, 4, 5, 6, 7, 8, 9] 0 1 a = '你好' 2 b = "你是谁" 3 a,b = b,a 4 print(a,b) 5 输出: 6 你
阅读全文
摘要:不同的函数可能需要加不同的参数。所以可以加上不定长参数。例如: 1 import time 2 def timmer(func): 3 def wrapper(*args,**kwargs): 4 start_time = time.time() 5 res = func(*args,**kwarg
阅读全文
摘要:直接看例子: 1 import time 2 def timmer(func): 3 def wrapper(): 4 start_time = time.time() 5 res = func() 6 stop_time = time.time() 7 print('程序运行时间%s'%(stop
阅读全文
摘要:高阶函数定义1.函数接受的参数是一个函数名 2.函数的返回值是一个函数名 3.满足上诉条件任意一个,都可称之为高阶函数 1 def test(): 2 print('你好啊') 3 def high_func(func): 4 print('高阶函数') 5 func() 6 high_func(t
阅读全文
摘要:上节回顾,迭代器l = [1,2,3,4] 将其变为迭代器: l.__iter__() 或者iter(l) 装饰器:本质就是函数,为其它函数添加附加功能 原则:1.不修改被修饰函数源代码。 2.不修改被修饰函数的调用方式 装饰器的知识储备 装饰器=高阶函数+函数函数嵌套+闭包
阅读全文
摘要:迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stopiteration异常,以终止迭代(只能往后走不能往前退) 列表表达式 l = ['a' for i in range(10)] 当数据太大的时候太占内存空间 变为生成器表达式为l = ('a' for
阅读全文
摘要:python中的作用域分4种情况 L:local,局部作用域,即函数中定义的变量; E:enclosing, 嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的; G:global,全局变量,就是模块级别定义的变量; B:built-in, 系统固定模块里面的变量,比如in
阅读全文
摘要:如果函数不写retrun,默认返回None. return多个对象,那么Python帮我们把这多个对象封装成一个元组返回。 return 作用 结束函数、返回某个对象
阅读全文
摘要:函数名字尽量体现函数的功能 形参 函数括号里面的 调用函数必须填入相应的参数,否则报错 函数里面叫形参 调用里面叫实参 例子: 必须参数 1 import time 2 def logger(mes): 3 time_format = "%Y-%m-%d %X" 4 time_current = t
阅读全文
摘要:函数 != function() 计算机函数 == subroutine 子程序 ,procedures 过程 作用: 1.减少重复代码 2.方便修改,更易扩展,可扩展性 3.保持代码的一致性 例如: 1 def logger(log_tex): 2 f = open('log.txt','a')
阅读全文
摘要:集合运算符 == 等价于 例如: 1 print(set('alex')==set('alexxexex')) 2 输出: 3 True 子集和超集 例如: 1 print(set('alex')<set('alexwww')) 2 print(set('alex')<set('alex')) 3
阅读全文
摘要:集合分类 可变集合set() 可以添加和删除元素,非可哈希的(值set之后的整体),不能用作字典的键,也不能做其它集合的元素。 set() 之后变为不可哈希的 不可变集合 frozenset() 与上面恰恰相反 都是通过集合的工厂方法set() 和frozenset()创建 例如: 1 s1 = s
阅读全文
摘要:集合只能通过set() 函数进行创建 无序,不重复 每个元素必须是可哈希的,不可变类型(不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在
阅读全文
摘要:深浅拷贝 1 a = [[1,2],2,3] 2 b = a.copy() 3 b[0] = 5 4 print(b) 5 print(a) 6 输出: 7 [5, 2, 3] 8 [[1, 2], 2, 3] b = a[:] # 相当于b = a.copy() 查看变量id 例如: 1 a =
阅读全文
摘要:列表解析 例如: 1 egg2 = ['鸡蛋%s' % n for n in range(10)] 2 print(egg2) 3 输出: 4 ['鸡蛋0', '鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4', '鸡蛋5', '鸡蛋6', '鸡蛋7', '鸡蛋8', '鸡蛋9'] 列表解析可以增
阅读全文
摘要:使用yield返回 例如: 1 def test(): 2 yield 1 3 yield 2 4 yield 3 5 yield 4 6 v = test() 7 print(v.__next__()) 8 print(v.__next__()) 9 print(v.__next__()) 10
阅读全文
摘要:seek() 默认从文件开头开始。seek(10) seek(10,1) 需要以b的模式读取文件,从相对位置进行移动光标 seek(-3,2) 倒着移动光标的模式 例如: 1 f= open('aaa','rb') 2 f.seek(-3,2) 3 data = f.read() 4 print(f
阅读全文
摘要:f = open('aaa','rb') 返回的是字节 字符串编码 python中所有的字符串编码为Unicode,如果从一个文件读取字符串,那么该字符串的编码就是该文件的编码。 f.tell() 返回当前的游标位置。以字节计算 返回位子参数例如: 1 f = open('bbb','r',enco
阅读全文
摘要:f = open('aaa') 默认为只读模式 f = open('aaa','w') 只写模式 f.read() 读取所有内容 f.readline() 读取文本第一行 f.readlines() 读取文本每一行,返回为一个列表(包括换行符) 打开文件 with open('aaa','r') a
阅读全文
摘要:ord() 函数 和 chr() 相反 chr() 是将数字转换成assci码 ord() 是将字符串转换成assci码 显示 pow() 函数 pow(x,y,z) 表示x**y%z 取商。 如果是pow(x,y) 表示x**y 例如: 1 print(pow(2,3)) 2 print(pow(
阅读全文
摘要:issubclass(a,b) 判断a类是否属于b的子类 返回为布尔值 locals() 显示局部变量 max() 取最大值 min() 取最小值 zip() 拉链方法 传递两个可迭代对象,进行拉链一一对应。返回一个可迭代对象:例如: 1 a = {"name": "alex", "age": 29
阅读全文
摘要:chr() asci码 dir() 目录,显示目录。 divmod(10,3) 返回商和余数 例如 1 print(divmod(10,3)) 2 输出 3 (3, 1) 返回的为一个元组 可以用于分页 enumerate() 将一个可遍历对象遍历返回一个带索引的列表。例如: 1 num_list
阅读全文
摘要:abs() 求绝对值 abs(*) all() 函数 将列表中的每个元素进行布尔值判断,如果有一个为False,则整个返回False,如果权威True,则返回True any() 函数 如果列表中有一个为真,怎返回True bin() 函数 将十进制转换为二进制 bool() 函数 判断布尔值 by
阅读全文
摘要:map()函数 将一个列表进行遍历,对每一个字符串进行处理: 例如: 1 num_list = ["我","是","哈哈","太平洋海工欢唱","六队船厂","六队码头","六队船坞"] 2 def add_function(x): 3 return x + 1 4 def reduce(x): 5
阅读全文
摘要:1 def num(n): 2 if n == 1: 3 return n 4 return n*num(n-1) 5 print(num(10)) 6 输出 7 3628800 该函数使用了递归函数的规则。return 后面为10*num(9) 10*9*num(8) ...........
阅读全文
摘要:1 def test(n): 2 print(n) 3 if int(n/2) == 0: 4 return n 5 res = test(int(n/2)) 6 return res 7 print(test(10)) 8 9 输出 10 10 11 5 12 2 13 1 14 1 每次运行会卡
阅读全文
摘要:a = {"name" : "alex","age":16} v = "my name is {name}, my age is {age}".format(**a) **字典可以将字典拆分为(name = "alex",age = 16) 如果a是列表的话 a = ["name",16] v =
阅读全文
摘要:a = {1,2,3,4,5,6,7,8,"aa","2"} b = {2,3,4,5,6,7,8,9,99,7,6,6} v = a.intersection(b) 求交集 v = a.union(b) 求并集 a.update(b) 也是并集,不用变量 a.add() 只能更新一个值 v = a
阅读全文
摘要:集合 set() s = {1,2,3,4,5,6} s1 = {2,8,0,7} s.add("3) 向集合添加元素,有则加,没有则不加。 不报错 s.clear() 清空集合 s.copy() 重新复制一份 s.pop() 随机删除 s.remove("*") 删除指定的值 如果不存在会报错 s
阅读全文
摘要:字典{} info = {"k1" : "v1", "k2" : "v2", "k3" : "v3"} 数字和字符串都可以作为key,元组也可以 del info['k1'] 可以删除键值对 for 循环 只能循环到k值 还有方法循环key for i in info.keys(): 循环键 for
阅读全文
摘要:1.元祖 count() 统计某个字符串的出现次数 tuple.count('22') 返回一个整数 index() 获取某个值出现的位置 2.列表 字符串可以直接转换列表 list(str) 数字不能直接转换 a = [1,23,4,'你是','sds'] 因为a 里面有数字,所以不能直接用''.
阅读全文
摘要:isalpha()判断是否权威字母或者汉字 isdecimal()(十进制小数) isdigit() 判断是否为数字 特殊数字 isdigit()判断更为厉害 也是判断数字 都返回True和False maketrans() 方法和translate()一起用 例如: 1 a = 'aeiou' 2
阅读全文
摘要:1.整数(int) 1 a = 1 2 b = 2 3 c = 3 4 d = 4 5 e = 5u 6 a1 = a.bit_length() 7 b1 = b.bit_length() 8 c1 = c.bit_length() 9 d1 = d.bit_length() 10 e1 = e.b
阅读全文
摘要:Python有以下六种类型 1.数字(int) int (整形) 2.字符串(str) str 字符串 3.列表(list) list 4.字典(dict) 5.布尔值(bool) 以上所有的类型都有很多的魔法方法 如列表list 的方法右list.append() 往列表添加数据 str.uppe
阅读全文
摘要:Python中五种运算符 1.算数运算符 + -× / % // 加法 减法 乘法 除法 / 除法取浮点数 %除法取商 // 除法取整数 2.成员运算 in not in 可以运算字符串是否在另外一个字符串里面,返回布尔值True 、 False 3.逻辑运算符 or and 运算顺序从左到右 us
阅读全文
摘要:1 a = 9 2 print('这是%运算的结果'+str(a%2)) 3 print('这是//运算的结果'+str(a//2)) 4 print('这是/运算的结果'+str(a/2))运算结果为 这是%运算的结果1 这是//运算的结果4 这是/运算的结果4.5 可以得出% 为去余数 // 为
阅读全文
摘要:1.字符串(引号) name = "........." 双引号引出来的都是字符串 name = """.........""" name = '......' name = '''.........''' n1 = 'wo shi ' n2 = 'caiheng' 加法 n3 = n1 + n2
阅读全文
摘要:一、Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二、Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.html 作业: - 程序 - 博客地址(开通博客) http://www.cnblogs.com/wup
阅读全文