2.3 Python 语法
Last updated
Was this helpful?
Last updated
Was this helpful?
Cooking time: 30 mins active / 45 mins passive
Learning by Doing:
建议切换到英文输入法编程,可以避免一些用错符号的错误。
Tasks for Learners: 请学员创建第二个 Python 文件
python_syntax_practice.py
, 对下列 Python 语法进行练习。Tasks for Coaches: 请教练对学员的练习提供一定的辅助,请控制好时间。
惯例:把这一行写在 Python 文件的头一行,表达这个文件的非 字符的编码为 ,不然遇到中文会出现编码错误。
注释是写给阅读代码的人看的,计算机会忽略注释。一行中以 #
开始直到行末的部分都属于注释。
整数,类型为 int
小数(浮点数),类型为 float
,例如
字符串,类型为 str
字符串中,空格也是字符:
有一些字符也是没有对应的字形(Glyph),但是可以用 转义字符 表达:
以上的字符串写法有个限制:只能写在一行内。Python 支持三个引号的多行字符串语法,方便书写多行的内容:
特殊量 -- 代表什么都没有
查看数据的类型
在 IPython 中输入下面的表达式试试:
%
返回除法的余数:
除以 0 会得到 NaN(Not a Number)
字符串也可以进行连接运算(使用 +
运算符)
注意:全角符号和半角符号的区别。
用一个名称代表一个值(=
叫做赋值运算符)
这个符号代表的值可以重新赋值,所以这个量称为变量 -- variable。
运算的结果可以赋予变量,变量也可以参加运算,例如下面计算平均值的代码:
在 Python 中表达逻辑:“如果” 满足某种条件 “那么” 你就给我做这件事情。
布尔类型(注意大小写)
条件语法
注意:
「如果」部分以关键字 if
开始,接着是条件表达式,后面必须再加上冒号 :
上面两个条件内容互斥,我们可以用双路条件 if
……else
:
布尔类型上可以用布尔运算:
而且 and
或者 or
否定 not
练习:思考下面几个表达式的值并在 IPython 验证:
比较运算符可以判断两个值是否相等或者孰大孰小:
==
等于(两个等号,注意和赋值运算的不同)
>
大于
<
小于
!=
不等于
>=
大于或者等于
<=
小于或者等于
练习:思考下面几个表达式的值并在 IPython 验证:
综合运用条件语句和比较运算符:「如果天气晴朗并且低于 30 度就出去玩」
计算机是处理数据的机器。循环(迴圈)告诉机器重复做相同的工作。
while
循环打印 0 到 100
同样注意别忘了 :
和缩进
循环一般由循环条件和循环体组成。
练习:使用 Spyder 观察程序的执行:
在 temp.py 中输入代码
点击 Debug file 工具
多次点击 Run current line 工具,观察 Variable explorer 的变化
最后点击 Stop debugging 结束 debug
死循环 的意思是:不会结束的循环。
要结束程序,可以按 Ctrl + C 退出。(一个手指按住 Ctrl 键,然后另一个手指按 C 键,退出时解释器会报告一段错误,意思是收到了中断信号)。
循环控制:
continue
进入下一个轮回
break
结束循环
例:下面的代码打印 1 到 10,通过判断 i
是否增加到 10 决定结束循环:
例:下面的代码打印 1 到 10 之间的偶数,当 i
是奇数时通过 continue
跳过循环体中的其余代码。
我们学习了用一个词代表值(变量),在 Python 中我们也能用一个词代表一段代码。
定义函数用 def
关键字,接上函数名称,参数列表和冒号。试理解下面的代码:
在缩进的代码块中编写函数体,使用 return
返回需要的内容。
之前我们学习的 print
, len
都是函数,而且是是 Python 自带的函数 (built-in functions)。
调用函数:
由于函数返回的是一个值,这个值也可以赋予给变量:
函数返回的值也可以传递给下一个函数:
小提示:Python 的运算符 +
,-
,*
,/
等等其实都是函数。
IO 是输入/输出(input / output)的缩写。
IO 是程序能从真实世界获取信息 (输入),对真实世界产生影响(输出)的基础。
典型的输入包括:用户键盘输入,鼠标点击,读取文件,读取网络数据,获取传感器的读数,……
典型的输出包括:在屏幕显示文字,在屏幕绘制图像,输出到打印机,发出声音,发送数据到网络端口,……
读写文件是 Python 里最基本的 IO 操作之一。
open
函数打开一个文件,"r"
模式是读取,"w"
模式是写入。
以读取模式打开一个文件 "foo.csv",并返回对应的文件对象:
关闭一个文件对象:
下面的代码打开文件,读取文件的内容,然后关闭文件。
但是,在对文件操作的时候有可能发生异常!例如文件编码不正确,或者出现了没考虑到的某种状况,就会出错。
没处理各种异常情况的一段程序,不能成为一个产品
Python 提供了 with .. as
语法, 不用处理异常和写 close
,就能保证处理文件后能自动关闭它。
读取一个文件
写入一个文件
「那么」部分的缩进要比 if
行深,推荐用 4 个空格缩进(参考 )