Python 及其基础语法
重新开始玩 Python,打算就是学完实验楼的“Python3 简明教程”,然后就可以玩点小项目,先前学了点 Python2 就不管它啦。
以上。
认识 Python
Python 优雅、明确、简单,是一种解释型、交互式、面向对象、动态数据类型的高级程序设计语言。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领域成为编写脚本或开发应用程序的理想语言。
至于安装,问题不大,去Python官网:http://www.python.org/ 下载相应的版本,安装时把路径添加到环境变量或者装完再去添加,这样就能在 cmd 中使用 Python 解释器啦。
解释器
Python 是一个脚本语言,你可以在 Python 解释器中直接写代码或者将代码写到一个文件里,然后执行这个文件(即脚本文件)。调用解释器时,脚本名和附加参数传入一个名为 sys.argv
的字符串列表。
在实验楼的终端输入python3
并回车,就可以在交互模式下使用解释器了。这种模式下它根据主提示符来执行,主提示符通常标识为三个大于号(>>>
);继续的部分被称为 从属提示符,由三个点标识(...
)。输入多行结构时需要从属提示符,最后多输入一个空行,解释器才能知道这是一个多行命令的结束。在第一行之前,解释器打印欢迎信息、版本号和授权提示。然后万事开头Hello World:
交互式的 Pyhton 解释器可以当做计算器使用,除法(/
)永远返回一个浮点数,操作符//
实现整除,操作符**
实现幂运算。而且 Python 还支持复数,使用后缀 j
或 J
表示虚数部分(例如,3+5j
)或者表示为complex(a, b)(a为实数,b为虚数,皆为浮点类型)。此外,十六进制数前缀为0x
,八进制数则是0
。
交互模式中,最近一个表达式的值赋给变量 _。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算,例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。
脚本文件
简单地使用 Vim 来编辑可执行的 python 脚本文件,键入vim helloworld.py
即可启动 Vim 并编辑 helloworld.py 文件。打开 Vim 之后默认的是命令模式,按i
键进入编辑模式,才能对文件输入文本。
进入编辑模式(插入模式),下面会显示“插入”二字,键入下图中的两行。其中第一行的前两个字符 #!
称为 Shebang(真的叫这个名字,释伴:Linux 上的 Shebang 符号(#!)) ,目的是告诉 shell 使用 Python 解释器执行其下面的代码。这样,在Linux/Unix系统中,Python 脚本就可以像 SHELL 脚本一样可直接执行。然后按 ESC
键退出编辑模式。
在命令模式中输入:wq
,会保存文件并退出 Vim 编辑器。
为 helloworld.py 文件添加可执行的权限,然后就可以执行这个脚本啦。
注:默认情况下,Python 源文件是 UTF-8 编码。你也可以为源文件指定不同的字符编码。为此,在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码:
# -*- coding: encoding -*-
基础语法
-
关键字
关键字可以用 Python3 解释器使用
help()
命令查看,如下:关键字有这些:
-
标识符
- 第一个字符必须是字母表中字母或下划线'_'。
- 标识符的其他的部分有字母、数字和下划线组成。
- 标识符对大小写敏感。
-
输入输出
函数 input() 可以从键盘读取输入,返回用户输入的字符串(注意要不要类型转换),它还有一个用于打印在屏幕上的可选字符串参数。
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="",如print(a, end"")(引号填空格则输出后也跟个空格这样)。使用str.format()来进行字符串格式化的信息输出,举例来说:
print("X = {:.2f}".format(X))
会输出2位精度的浮点数。 -
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠
\
来实现多行语句,例如:total = item_one + \ item_two + \ item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠
\
。Python 也可以在同一行中使用多条语句,语句之间使用分号;
分割。 -
注释
Python 的注释以
#
字符开始的,在#
字符到行尾之间的所有东西都被程序忽略为注释。你应该总是在#
后跟一个空格,然后再写注释。多行注释用三个单引号'''
或者三个双引号"""
将注释括起来。 -
模块
模块是包含了我们能复用的代码的文件,包含了不同的函数定义,变量。模块文件通常以 .py 为扩展名。导入模块有下面两种方式:
import 模块名 from 模块名 import 函数名
第二种方式,使用函数时就不用模块名作为前缀。但是这样有种情况是无法使用不同模块中同名的函数了,建议使用第一种方式导入。
代码风格建议
在 Python 中,空格很重要,我们使用缩进来表示代码块,不需要使用大括号({})。空格将标识符区分开,行开始处的空格我们称之为缩进,如果你的缩进是错误的,Python 解释器会抛出错误。如果你在代码中混用制表符和空格,这种缩进错误会很常见。所以如果是用空格,就一直用空格缩进,不要使用制表符。
建议遵守以下约定:
- 使用 4 个空格来缩进,永远不要混用空格和制表符
- 在函数之间空一行,在类之间空两行
- 字典,列表,元组以及参数列表中,在
,
后添加一个空格。对于字典,:
后面也添加一个空格 - 在赋值运算符和比较运算符周围要有空格(参数列表中除外),但是括号里侧不加空格:
a = f(1, 2) + g(3, 4)
PEP 8 - Style Guide for Python Code 将在后续中有更为详细的讲述。
参考资料
- Python tutorial3
- 菜鸟教程:Python3 教程
- Python 基础教程 (第二版)
- 实验楼:Python3 简明教程