`

《python学习手册》学习笔记

阅读更多
python格式化传参数非常赞,用数字标明位置,值得java学习

for这种迭代语法很强大,有函数式编程的范儿

python用none来表示null

为什么散列能最快速的搜索

字典是无序的

字典的updateshi是合并的意思

字典的for迭代的是来key

带默认值的get方法避免找不到是一个不错的做法

literal是字面值为什么要翻译成长量呢?

zip这个函数很有意思

用到for叫解析

视图是啥东东?

将元组和文件放一起,这结构组织的很无语…

文件分是读写分离的

pickle可以看成序列化和反序列化工具

python中用模块来表示jar包的概念

struct用来协助做序列化和反序列化的

python中的内置函数是这种非面向对象的做法可以使代码更简洁

简单的说,==对应java中的equals,is对应java中的==

在所有判断中出现的对象只有两种可能的结果:真和假

python的动态性使得我们尽量不要使用type

pass这个东西很有意思,用来占位的,和字面的意思貌似没关联

常用的函数都被定义成内置的了

语句和内置函数是有区别的

python可以让人少打字^0^

省略括号,结尾用冒号是一个坑爹的写法,因为大部分语言都不会这样写

python的一大特色就是用缩进来表明代码块的结构,这个也用来避免大块大块的程序块的写法,因为没有很好的可读性

里面举的采用缩进导致的陷阱例子我觉得采用大括号就能很好避免。

我不认为python去掉各种括号和结尾的分号能提高使用者的开发效率。

判断之后的冒号可以和case中的冒号相提并论

python会将异常用来做判断

else是一个万能的关键词

赋值可以成组成组的进行

特性很好理解,而怎么用还得多加练习才能融会贯通,才能算精通。

一些原语修改对象的方法返回的是none

参数自身除了有位置信息还有名称信息,这一点也不错,方便更灵活传递参数

print函数更适合面向对象控的口味

stdout可以看成水龙头,可以外接各种水管,即各种实现了write方法的对象

为了简洁python无所不用其极,连elseif都要简写为elif, python代码的可读性值得怀疑

python的swith case被if else 干掉了。字典又把if else干掉了。

三元运算也可以用and or 来实现。但是不好理解,只能针对bool

bool值会转换成0,1,这个可以用在两个值的列表中

因为没有大括号,只好用pass来表明一个空块。也可以认为是一个空实现或待实现

循环中的else也是为了去避免使用判断标志。

for一般和序列结合使用,用来遍历序列

zip很难让人将其与并行联系起来

zip的一个作用就是将key,value列表配对成字典

enumerate实际上是将一个list转换成一个map,其key为位置

把表达式放到for循环的前面就成了列表解析,这个也是循环遍历一种更简化的写法

简化代码,隐藏细节是所有编程语言必须遵守的一条原则

列表解析比循环遍历更高效,因为它会直接翻译成c语言

如果列表解析写的太复杂则可读性就会很差,比如多层循环嵌套

迭代协议是从左到右遍历列表元素

列表解析的另一种形式就是map内置函数

迭代协议是一切容器处理的基础

突然发现all和any是一对反义词

join和split也是一对反义词

*可以理解为正则表达式中的*用来表示一个和多个

zip的zip就是unzip

zip就是将多个列表按列重组

查询帮助叫dir,字典容器叫dict

原语修改的函数不会结果

使用函数的最终目的就是为了重用,降低代码的复杂度

函数也是对象,函数名就是函数的变量

def实际上是创建一个函数对象并赋值给一个函数变量

函数也是对象,这个跟js很想

支持操作符重载这一点很像c++

动态性导致我们必须通过测试来发现错误,而不是编译器。

builtin相当于java.lang

内部使用外部变量用global或nolocal

由于变量在使用的时候声明,所以用global来标明这是个全局变量,但是尽量别这样做

全局变量可以作为与其他程序连接的纽带,比如多线程,通过全局变量来共享数据。

嵌套函数会让程序变得复杂,降低可读性

简单的嵌套函数就是所谓的lambda

nonlocal一般在嵌套函数中常见,用来在嵌套函数中的使用上层函数中的变量。

非定长参数*args
将参数解析成字典**args
这些都是为了解决不定参数的问题,最终是为了让python这种语言更具有动态性。即不仅参数类型是可变的,参数个数也是可变的,动态的。

keyword-only这种参数,表示变长参数后面的参数必须都给出参数名,而且在调用的时候是必须出现的,除非函数定义的时候给定了默认值

关键字参数对函数会非常方便,为什么java没有?

一般递归都可以改写为循环

简单的说,lambda就是匿名函数,而且是简单的表达式函数,用来处理简单的任务

匿名函数是提高代码可读性,简化代码的利器

map函数就是用来对序列中的每一个元素执行指定的函数,至于是不是并行不知道。

reduce将对一个列表进行聚集

filter对一个列表进行过滤

列表解析是封装在一个列表中的,因此它的返回结果是一个列表

yield是future吗?不是,而是一个延迟迭代器。

用来创建迭代表达式的都可以看成生成器表达式

这种表达式有一个好处就是可以边迭代边计算,对于大结果集的几圈遍历非常有利。

生成器表达式和函数的区别就像匿名函数和函数的区别

zip太难记了,可以理解为将多个列表打包成一个新的包含多个元组的列表

两个列表用zip可以用来构造一个字典

生成器可以边解析边迭代,速度慢但是对内存的占用小

elapsed是个不错的变量用来命名消耗时间

yield是一个和return类似的关键词

python没有私有和公有的概念,所有属性和函数方法都是公有的, 当然我这个是针对模块。

一个文件就是一个模块。

模块的导入过程也是一个赋值的过程

reload可以让修改立即生效。

__init__文件用来放加载包时的初始化内容。

python的import机制为何没java的来的了解,非得还使用一个from

为了能用于大型应用中,出现了包的概念,用来组织和管理大量的代码。

貌似因为python基础库没有很好的包结构,导致了相对导入的出现

当前路径下得模块会被优先选择 。

__all__指定要暴露的内容,_x用来表明私有的东西

主程序中通过__main__来指明要执行的程序

__name__是一个标识,用来告诉模块当前以什么方式在执行。

as是别名的意思

__打头的属性都是内置的

重载模块不具有传递性

from表明导入的变量是拷贝

__init__是构造函数

模块很像类,而from相当于创建了一个模块的副本,类似于对模块做实例化,reload相当于重新实例化

代码块就像写信一样,一行必须以冒号结束,类似写信的称呼,后面就是具体内容。

类的灵活性体现在可以直接给属性赋值,没有私有公有的概念,直接通过给一个新属性赋值创建新属性。

python不习惯类和模块首字母大写?

只有在类涉及到与基本类型进行一些常规运算的时候才应该考虑运算符重载

一段代码块(类,方法等)不允许为空,如果需要可以用pass来标识

类没有实例也可以当对象来用,只是里面的属性和方法相当于是静态的

类和实例都可以通过内部字典__dict__来访问属性和方法,但是二者是分开独立的,没有继承关系。

空类可以用来模拟字典

类中的self使用太多了

调用父类方法:使用类去调用方法传入self实例
属性不需要定义,但必须在初始化方法中挂在self下。而且在类的任何地方使用都必须通过self来调用。

python没有new这个关键字,直接类加括号创建实例

python中的序列化工具叫pickle

通过类修改属性会影响所有的实例的属性值,而通过实例只会影响实例本身

类变量和实例变量即使相同也是两个不同的变量,互不干扰
实例方法的调用内部会翻译成类方法的调用,并且将实例作为类方法的第一个参数。

不存在不传实例(self)的静态方法

操作符重载本质上还是对基本类型的操作符调用,只不过用类做了一个层封装

__iter__每次返回同一个对象则是公用迭代器,否则就是不同的迭代器

操作符重载相当于内部定义的一套公共的接口列表,任何类都可以实现这些接口。比如类似java中的比较器,迭代器接口

python没有提供私有属性的关键词或者描述符,但是可以通过重载运算符来实现,好麻烦的说

__call__相当于构造函数的重载,区别在于构造函数是在类上调用,而前者还能在实例上调用。另外一个功能就是可以将类当成一个函数使用,但是有一个好处就是可以保存状态
操作符重载的规律:一般内部还是执行的某个属性与参数的操作符运算。重载方法只是一个代理而已。

类中的函数定义应该看成变量的定义,即 将一个函数和一个变量关联起来。这样就可以很好理解重载了,名字只能跟一个函数关联

__真是一个神奇的前缀

类中的实例方法可以作为对象赋值,在其他地方调用,相当于别名的意思

为什么要多重继承,就像一个人可以是工程师,作家一样

__method相当于一个私有方法

多重继承可以看成多个内的混合

python可以在实例动态添加属性

函数可以直接作为方法的注解,前提是该函数接受一个方法做参数,比如staticmethod,而且返回的是一个可调用对象。因此这个不仅可以看成注解,还可以看成包装,或者装饰。

给类的实例属性赋值,类也能访问该属性

异常可以看成goto

捕获到异常,则先执行异常再执行finally,没捕获到则先执行finally再抛出异常

python使用异常来控制流程,导致并非所有的异常都是错误(但是所有的错误一定是异常),爱奇艺。比如用异常来判断是否到达文件末尾

with/as是try/finally的简化









分享到:
评论

相关推荐

    Python学习手册 第四版

    《Python学习手册 第四版》是一本针对Python编程语言的深度学习资源,旨在帮助读者全面掌握Python编程的基础和高级概念。这本书特别强调实践性,通过实际案例和详细解释,让学习者能够快速上手并深入理解Python的...

    Python学习笔记(干货) 中文PDF完整版.pdf

    总的来说,《Python学习笔记(干货) 中文PDF完整版.pdf》是一个全面的Python教程,不仅适合初学者入门,也适合作为进阶者的参考手册。通过大量的实例和练习题,读者可以在实践中巩固所学,不断提升Python编程能力和...

    Python学习手册笔记.zip

    "Python学习手册笔记.zip" 提示这是一个关于Python编程的学习资料压缩包,可能包含了一个或多个文档,如本例中的"Python学习手册笔记.md",这通常是一个Markdown格式的文本文件,用于记录学习过程中的要点和心得。...

    《Python 学习手册》(第四版 + 第五版)笔记.zip

    以上是《Python 学习手册》第四版和第五版笔记可能涵盖的主要知识点,通过学习这些内容,读者可以掌握Python编程的基础和进阶技巧,为解决实际问题打下坚实基础。在阅读过程中,结合具体的代码示例和练习,将更有利...

    Python数据科学手册(Python Data Science Handbook)学习笔记.zip

    7. **机器学习算法**: 学习笔记可能会涵盖多种机器学习算法,如线性回归、逻辑回归、决策树、随机森林、支持向量机、神经网络等,以及如何在Scikit-learn中应用这些算法。 8. **数据可视化最佳实践**: 数据可视化是...

    PYTHON学习教程md格式

    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 * *...

    Python 学习笔记 - v1.0.pdf

    《Python 学习笔记 - v1.0》是一份全面介绍Python编程语言的学习资料,旨在帮助读者从基础到进阶掌握Python。这份笔记共分为四个部分:Python语言、标准库、扩展库和附录,涵盖了Python编程的各个方面。 第一部分,...

    python 中文API 和python学习笔记

    "Python中文API"和"Python学习笔记"是学习和深入理解Python的重要资源。本压缩包包含的内容涵盖了Python 2.7的英文API、Python 2.5的中文API以及一份全面的学习笔记,为初学者和进阶者提供了丰富的学习材料。 首先...

    288页Python核心知识手册

    ### Python核心知识手册知识...本手册全面覆盖了Python的基础知识、高级特性和实际应用,适合从入门到进阶的学习需求。通过对这些知识点的学习,可以掌握Python的核心技能,并能够应用于实际项目中,解决各种技术挑战。

    字节跳动把Python入门知识点整理成手册了-背记手册,高清PDF下载

    字节跳动的大佬们精心整理出的这本Python入门背记手册,旨在帮助初学者快速掌握Python的基础知识。手册涵盖了从语言基础到常用的编程概念,下面我们就逐一解析这些知识点。 ### 一、基础知识 1. **打印函数 `print...

    python学习手册第一部分

    python学习笔记的第一部分,十分经典对的python教程

    python入门学习笔记

    综合了Python学习手册和python简明教程的知识,为了方便学习和查阅,特做成chm文件格式

    python中文api文档+学习笔记

    综上所述,这个压缩包为Python的学习提供了一个全面的资源库,不仅有官方的API文档,还有不同版本的中文手册以及个人的学习笔记。这不仅可以帮助用户深入理解Python的语法和API,还可以通过学习笔记了解实际应用中的...

    《Python学习手册》学习总结

    《Python学习手册》是一本深度解析Python编程语言的书籍,非常适合初学者和希望深化Python知识的开发者。在本文中,我们将结合书中的内容,重点讨论一些核心知识点。 首先,我们来到第三章,讲解如何运行Python程序...

    python学习手册

    python学习手册

    《Python数据科学手册》学习笔记本.zip

    《Python数据科学手册》是一本深受数据科学家和Python爱好者欢迎的书籍,其学习笔记本包含了大量有关数据处理、分析和可视化的实用知识。Python语言在数据科学领域的应用日益广泛,这得益于其简洁的语法、丰富的库...

    强烈推荐 网工程师python学习必备手册

    【Python for Network Engineers 学习指南】 Python 是一种强大的编程语言,特别适合网络工程师进行自动化和脚本编写。网络工程师通过学习Python,可以提高工作效率,自动化日常任务,例如配置管理、设备监控、故障...

    python 学习笔记.rar

    python的学习笔记,在背记手册的基础上增加了更加详细的操作。

    笨方法学习python PDF文档以及学习笔记

    1,笨方法学习python是一本译文作品,其作者不是中国人,而翻译在进行翻译的时候,也并不是相当负责,在一些概念性问题上出现了和原文意思有差别的地方。 2,本书主要通过写代码来发现问题。是从整体到要点的一种...

Global site tag (gtag.js) - Google Analytics