生成器初识
什么是生成器
生成器本身属于迭代器。继承了迭代器的特性,惰性求值,占用内存空间极小。
为什么要有生成器
我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万级别的迭代器。(节省内存)又不想通过调用可迭代对象下的__iter__方法来创建这样的迭代器。(未经过优化的可迭代...
前言
本章节中的所有知识点均为在不丧失代码可读性的前提下最大程度精简代码的一系列操作。其中涉及到一些性能问题(微乎其微)可以不做考虑。
三元表达式
三元表达式中有三个重要的元素:
1.条件是第一元素
2.条件成立返回的值是第二元素
3.条件不成立返回的值...
初识匿名函数
什么是匿名函数
匿名函数就是没有函数名的函数...
为什么要有匿名函数
匿名函数实际上最早是出现于纯函数式编程语言中,其中匿名函数lambda是比较成功的例子,故Python也对此进行了引入。实际上匿名函数的作用就是在不丧失代码可读性的前提下为精简代码提供的一种方式。
怎么使用匿名...
什么是递归
递归是一种函数的调用方式。即:自己调用自己。
# ==== 函数的递归调用 ====def foo(): print("foo...") foo()foo()
递归在某些特定的场景下使用,但是注意不能重复的无限制的对自身进行调用,这会引发异常。Python中默认最大调用自身的次数为1000次:
RecursionError: maximum ...
Python内置函数大全
数学运算相关
abs(x)
求绝对值 1、参数可以是整型,也可以是复数 2、若参数是复数,则返回复数的模
complex([real[, imag]])
创建一个复数
divmod(a, b)
分别取商和余数 注意:整型、浮点型都可以
float([x])
将一个字符串或数转换为浮点数。如果无参数将返回0.0
int([x[, ba...
初识模块
什么是模块
模块就是一系列功能的集合体,分为三大类:
1、内置的模块
2、第三方模块
3、自定义的模块
一个Python文件本身就是一个模块。例如:文件名为m.py,其模块名则为m。
Ps:模块分为四种类型:
1、使用Python编写的.py文件
2、已...
软件开发目录规范的作用
为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,
项目示例
===== 项目示例 =====PerfectProject/|-- start.py||-- api/| |-- api.py||-- core/| |-- src.py||-- db/| ...
前言
其实,在写这一篇文章之前我是十分纠结的,我在想到底是用世界观来阐述面向对象思想还是站在程序功能的角度去阐述面向对象思想,最终我决定使用两方面的角度来阐述面向对象这个概念,请记住:编程思想只是一种思想,与任何语言都无关,不要觉得面向对象就一定比面向过程好,实际上恰恰相反。面向过...
time模块
时间戳
学习时间相关的模块前,了解三个概念。时间戳(毫秒为单位),结构化时间,字符串形式的时间:
方法大全
time模块常用操作方法
直接获取时间格式时间
time.time()
从Unix诞生日开始算,距离至今经历多少秒(1970.1.1 8:00开始计算)
直接获取结构化格式时间 ...
类与对象
世界观角度分析类与对象
类是一个抽象的概念,而对象是一个实体的存在,对象由类创造而出,每个对象之间互相独立互不影响,一个对象可以同时拥有多个类的方法,实例化就是通过某类创建对象的过程。
比如,某一个人是一个具体的对象,而人类则是人这个对象的来源,人类是一个抽象的概念并...