题目: def demo(): for i in range(4): yield i g = demo() g1 = (i for i in g ) g2 = (i for i in g1) print(list(g1)) print(list(g2)) 分析: 按照生成器表达式和生成器函数不取值不执行的做法 一直到10行list(g1) 找g1取值, 10行list()找7行g1取值 g1找5行g 取值 g找1行生成器函数取值 ,得到g = (0,1,2,3) g1 = (0,1,2,3) l…
题目: def add(n,i): return n+i def test(): for i in range(4): yield i g = test() for n in [1,10,5]: g = (add(n,i) for i in g) print(list(g)) 分析: 我们知道生成器函数和生成器表达式都很"懒",只要你不找它取值它就不执行. 函数从上到下开始执行,一直到13行都没开始,13行list()函数找g要值,9-10行的生成器表达式才开始执行,我们将9-10行拆…
#项目:生成随机的测验试卷文件 import random #资料库 capitals = {'北京市':'京','上海市':'沪','天津市':'津','重庆市':'渝','河北省':'冀','山西省':'晋','辽宁省':'辽','黑龙江省':'黑','吉林省':'吉','江苏省':'苏','浙江省':'浙','安徽省':'皖','福建省':'闽','江西省':'赣','山东省':'鲁','河南省':'豫','湖北省':'鄂','湖南省':'湘','广东省':'粤','海南省':'琼','四…
''' 拷贝的问题 引用:无论怎么变都一起变 浅拷贝:只拷贝父对象,不会拷贝父对象中的子对象 深拷贝:完全拷贝,重新划分内存空间 ''' 具体如下图: 题目: #求a.b.c.d的值 import copy a = [1, 2, 3, 4, ['a', 'b']] b = a c = copy.copy(a) d = copy.deepcopy(a) a.append(5) a[4].append('c') 运行结果:…
#51.一行代码实现1-100的和 sum(range(1,101)) #52.如何在一个函数内部修改全局变量 ''' 利用global ''' #53.字典如何删除和合并2个字典 ''' del dic['name'] #删除 dic.update(dic2) #合并 ''' #54.谈下python的GIL ''' 全局解释器锁,同一进程中多线程同时只有一个线程能霸占python解释器(加了GIL),其他线程无法进行,该线程结束后才能运行. 多进程可以有多个python解释器,可以实现多个进…
#11.编写程序,输入一个自然数,输出它的二进制.八进制.十六进制表示形式 Num = input("请输入任性自然数:") Num = eval(Num) print("二进制:",bin(Num)) print("八进制:",oct(Num)) print("十六进制:",hex(Num)) #12.简述迭代器和生成器的区别 ''' 迭代器:类中有next和iter方法,可以使用for循环(例:字符串(string),列表…
#1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用),则显示为导入模块的名称. 扩展:常常这样写if __name__ == "__main__":来表名这是整个工程开始运行的入口. 效果:如果直接从这个文件执行,if为Turn,可以运行if后面的程序 如果被调用,if为False,不执行if后面的程序 #2.表达式int('11111',2…
题目: 解答: 第一个表创建: create table class( cid int not null auto_increment primary key, caption char(20) not null )engine=innodb default charset=utf8; 插入数据: insert into class(caption) values('三年二班'); insert into class(caption) values('一年三班'); insert into cl…
def select_d(list,d): # list = sorted(list) sum = {} for i in list: if i+d in list: sum[i] = i+d return sum list = [1,2,3,4,5,6,7,8,9,0,1213,12,31,2,13,21,21,221,11,10] print(select_d(list,2)) 运行结果: {1: 3, 2: 4, 3: 5, 4: 6, 5: 7, 6: 8, 7: 9, 8: 10, 9…
def log(func): def inner(*args,**kwargs): with open('log',mode='a',encoding='utf-8') as f: #以追加的方式打开 f.write(func.__name__+'\n') #写人调用函数的函数名,以\n结尾 ret = func(*args,**kwargs) return ret return inner @log def func_1(): print('执行一次func_1') @log def func…