01 2019 档案
摘要:匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。匿名函数的大体结构 #参数可以有多个,用逗号隔开 #匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 #返回值和正常的函数一样可以是任意数据类型 匿名函数和map的结合 匿名函数和filter的结合 利用匿名函数 修改后
阅读全文
摘要:python中总共有68个内置函数,这68个内置函数又可分为反射相关、基础数据类型相关、作用域相关、面向对象相关、迭代器/生成器相关,以及其他6大类。 作用域相关 globals()是获取全局变量的字典loclas()获取执行本方法所在命名空间内的局部变量的字典 注意要和global和nonloca
阅读全文
摘要:自己以前一直使用的都是根据要求的功能来写代码,一步步实现功能,但是自从学习了函数了以后,发现很多代码中都是在利用函数来编程,很不理解,既然面向功能编程很好用,自己也熟悉,为何还要使用函数呢: 面向过程编程:代码从头往下去执行,叫做面向过程编程,容易看,容易想,但是不容易看,代码不简洁。面向函数编程:
阅读全文
摘要:列表推导式和生成器推导式 导引 上述代码中的i for i in range(10)这段就叫做列表推导式,它能够大大简化代码,由以上对比可知 列表推导式的更一般形式:print([i for i in range(10)]) 列表推导式和生成器推导式的区别: 括号不一样,返回值不一样: 列表推导式返
阅读全文
摘要:迭代器 导引: 场景,日常中遇到一个列表,想要取出列表中的每一个元素,怎么取。比如li=[1,2,3],取出li中的每一个元素,可以使用for循环,也可以使用while循环,但是for循环比较简单,所以常用。 那么for循环的运行的原理是什么,这就涉及到我们今天的知识:迭代器。 能够被for循环的数
阅读全文
摘要:案例1 需求,对于func1,func2,加入不需要使用装饰器,那么直接注释,需要注释2次;如果是500个那么就需要注释500次,这样非常麻烦。有什么办法,在装饰器外面再套上一层函数 代码的解释: 双层装饰器 上述代码可以用于场景: 1、记录用户的登录情况 2、记录记录用户的登录时间
阅读全文
摘要:作业1:编辑装饰器,为多个函数加上认证功能(用户的账号密码源于文件),要求登录成功一次,后续的函数都无需输入用户名和密码 上面的代码已经解决了第一个def shopinglist_add()的问题,但是到def shopinglist_del()这里还需要再次登录,感觉没有达到题目的要求。继续修改代
阅读全文
摘要:装饰器的复习 装饰器的执行过程:装饰 上面那段代码的执行顺序 对上段代码自己的理解 进一步改进 第22行的很开心是第6行和第12行代码的综合结果,第12行返回‘很开心“,然后第6行的return再把’很开心‘这行代码返回给第14行的inn,第15行执行出结果,所以第6行和第12行代码缺一不可,否则就
阅读全文
摘要:time模块 场景:计算一个代码的执行时间: 需求:通过使用time模块确实是可以计算代码执行的时间。使用上面的代码在代码量少的地方可以很容易实现,但是如果代码量很大的话,再不断重复敲代码就不合适了。那么这个重复的功能就可以通过函数来实现,到时候在不同的代码里面加上这个函数就可以实现功能即可。 这段
阅读全文
摘要:1、写一个函数,接收n个数字,求解这n个数字的和 2、读代码、回答代码中打印出来的值a,b,c分别是什么,为什么? 3、读代码、回答代码中打印出来的值a,b,c分别是什么,为什么? 4、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者 自己的答案1, 自己做
阅读全文
摘要:闭包 定义:这个函数首先是一个嵌套函数,且这个函数调用了外部的函数变量。两个条件缺一不可 闭包的精妙之处 如果我想要调用inner函数,那么就必须通过outter函数来调用,那么频繁的待用inner函数,那么在就相当于outter中的变量a不停的被写入内存,然后随着程序的结束而被擦除;再次被写入,擦
阅读全文
摘要:背景 先介绍一个场景:读取一个字符串的长度 s='金老板小护士' 方法一:使用len()方法 方法二:使用for循环 如上所示,使用len方法代码量大为减少,比使用for循环方便得多。但是这只是一个场景,恰好python有给我们提供的内置函数可以使用,但是在实际应用过程中会遇到各种各样的场景,并不是
阅读全文
摘要:看到老师和同学们在写购物车代码,自己也写了一个,花费时间3个小时,初步实现了购物车的基本功能,先放在这,以后慢慢优化。这也是自己第一次,写这么多行的代码 这是老师的代码
阅读全文
摘要:集合set 集合在后续工作中用的比较少。 集合的特点 1、可变数据类型; 2、集合中的元素必须都是不可变的数据类型; 3、集合中的元素都是无序的 4、集合中的元素不重复,这点很重要,可以用来做去重 如上代码所示,集合中含有可变的数据类型列表,所以结果报错 集合的创建方法 方法一 如上代码所示,都是圆
阅读全文
摘要:‘=’、‘==’ &is的区别 简单的区分 在python中一个等号表示赋值; 两个等号表示比较,比较两个数值是否相等; is 是通过比较内存地址来判断是否相等; is 小数据池 i1=6,i2=6;这两个在表面上看是在内存中开了两个地址,但是(在CMD)命令下结果也是相同 id结果显示,i1和i2
阅读全文
摘要:历史背景的区别 python崇尚的是简洁优美、清晰,所以推出创建了python3加以规范化,所以推出了python3python2的源码重复率高,不规范,在显示中文方面不友好,所以一般会在首行加上#-*-encoding:utf-8-*- 编码 python2默认使用ASCII码,python3默认
阅读全文