简介
- 书名:《明解Python》
- 作者: 柴田望洋
- 分类: 计算机-编程设计
- ISBN:9787115583765
- 出版社:人民邮电出版社
概述
本书图文并茂、示例丰富,采用全彩印刷方式,通过299段代码和165幅图表,系统地讲解了Python的基础语法和编程知识,内容涉及分支/循环语句、对象、字符串、列表、集合、函数、类、模块、异常处理和文件处理等。针对初学人士难以理解和容易误解的地方,本书均采用平实的语言,辅以精心设计的版式,循序渐进、清晰直观地进行了讲解。跟随本书的讲解,读者可以扎实掌握Python的基础知识,并具备实际使用Python进行编程的能力。
划线
编程语言各自有擅长的领域,有的擅长数值计算,有的擅长数据库和事务处理。
从这方面来说,Python 可以说是一个“全能型选手”。
有两个操作数的运算符称为二元运算符(binary operator)。除了二元运算符,还有存在3个操作数的运算符—— 三元运算符(trinary operator),以及只有1个操作数的一元运算符(unary operator)。试着使用我们平时计算常用的一元运算符+和-(例1-5)。
另外,Python的float型相当于C语言和Java的double型(而非float型)。Python没有double型。
Python从版本3.6起可以在数值字面量字符间的任意位置插入下划线“_”(实际上Python程序会忽略下划线)(例1-8)。这样可以让位数较多的数值更易于阅读。
'''和"""能以程序代码中的字符串为基础,生成类似于用户手册的程序文档。Python使用"""形式的字符串字面量来生成这种程序文档。
以r或R开头的字符串字面量叫作原始字符串字面量(raw string literal)。原始字符串字面量中的转义字符按照原本含义解释。
但是,变量的类型并不是固定的。试着输入例1-17中的代码确认一下结果。[插图]变量x先后“变身”为整数int型、浮点数float型和字符串str型。
前面讲的变量名都只有1个字符。关于变量名,其实并不是任意名称都可以使用。命名规则大致如下。·可使用的字符包括字母、数字和下划线。·字母区分大小写。·数字不能放在变量名开头。
交互式shell最后显示的值可以用变量“_”来表示。该变量在运算结果需要用于下次运算时非常有用。
·作为一种迅速普及的脚本语言,Python支持多种编程范式,包括命令式编程、过程式编程、函数式编程和面向对象编程。
在Python中,变量、函数、类和模块皆为对象。·对象会占一定的存储空间(内存),并且拥有标识值(用于判断是否为同一个对象)、类型和值等属性。可以使用id函数获取标识值,使用type函数获取类型。·变量只是一个和对象绑定(引用对象)的名字。·is运算符和is not运算符是身份运算符,用于判断对象是否为同一个(标识值是否相等)。在Python中,根据值是否可以改变,类型可分为两类。·可变类型: 列表、字典、集合等 ※值可以改变。·不可变类型:数字、字符串、元组等 ※值不可以改变。如果对不可变类型的变量(引用的对象)的值进行变更,则会生成新的对象,然后变量重新引用新的对象。赋值语句复制的是对象的引用而不是值。另外,赋值的对象,即等号左边的变量名如果是首次使用,程序则生成新的变量并与等号右边的对象进行绑定。[插图]与赋值语句相对应的是del语句,它用于删除作为名字的变量名。·None与任何对象都不同,是NoneType类型的特殊值。·其他编程语言使用存储期(存储空间生命周期)对变量和对象进行管理。Python与之不同,它使用引用计数,即引用对象的变量的个数,对变量和对象进行管理。·内置类型包括数值型(int型、bool型、float型和complex型)、序列型(str型、list型和tuple型等)、集合型(set型、frozenset型)和映射型(dict型)。·浮点型(float型)可以表示的值在大小和精度方面存在限制。使用sys.float_info可以查看浮点型的属性。·在进行算术运算时,程序会根据操作数的类型进行算术转换。·复数型是用表示实数部分和虚数部分的两个浮点数来表示值的类型。例如3.2 +5.7j。其中,5.7j称为虚数字面量。·因为在计算机内部,数值用位的ON/OFF来表示,所以Python可以轻易地表示二进制数。Python提供了求逻辑与的运算符&、求逻辑或的运算符|、求逻辑异或的运算符^和生成取反后的值的运算符~等按位逻辑运算符。[插图]位移运算符<<和>>将整数中的所有的位向左或向右移动后生成相应的值。[插图]
不包含扩展名的文件名被直接当作模块名使用。
两个程序必须放在同一个文件夹中。
脚本文件:·直接执行时 变量__name__等于’main’·导入时 变量__name__等于原本的模块名(在上述程序中是min_max)
如果用作包的文件夹内放置了名为’init.py’的文件,那么具备这种标准结构的包就称为标准包(regular package)。
文件’init.py’用于告知Python程序当前的包是标准包。如果没有该文件,程序就无法识别出标准包(代码清单10-10也将无法执行)。·程序导入包后会初始化并执行模块’init.py’。因此,我们也会看见在模块’init.py’中插入(下一章讲解的)类定义这样的编程技巧。·在’init.py’中,如果将名称__all__定义为一个列表,其中包含对象名称的字符串,程序就可以通过*的形式导入该名称的对象。例如,在文件夹pack内的文件’init.py’中编写定义__all__ = [‘abc’, ‘xyz’],程序就可以通过from pack import *导入pack.abc和pack.xyz。
脚本程序是模块,不包含扩展名的文件名是模块名。模块是较大的代码块。·模块是一种对象,又称模块对象。在直接执行模块对象或导入模块对象时会生成并初始化模块对象。在直接执行脚本程序时,__name__的值是’main’。当其他脚本程序导入脚本程序时,__name__的值是模块名。
异常处理的优点之一是可以分离原本的处理代码和处理错误的代码。
[插图]
笔记
要点 变量就像一个箱子,用来存储整数、浮点数和字符串等值。把相应的值放入变量后,可以随时取出。
💭 Python 称为标志也许更合适