《Think Python 2e》学习精粹(二): 变量、表达式和语句

《Think Python 2e》学习精粹(二): 变量、表达式和语句



  • 编程语言最强大的特性之一,就是具备操作变量的能力;

1、赋值语句

  • 赋值语句(assignment statement):(新建变量,)为变量赋值;
>>> message = 'And now for something completely differentt'
>>> n = 17
>>> pi = 3.141592653589793
  • 状态图(state diagram):展示了每个变量所处的状态;
    在这里插入图片描述

2、变量名

  • 变量名:存放值,一般选用有意义的名字—它们可以记录该变量的用途;
  • 变量名命名规定:
    • 变量名可以任意长;
    • 变量名可以包括字母、数字和下划线;
    • 变量名不能以数字开头,但可以是下划线;
    • 变量名大小写字母都被接受,惯例只用小写字母;
    • 变量名不能用关键词;
>>> pi = 3.14
>>> _pi = 3.14
>>> my name = 'Shaofeng'
  File "<stdin>", line 1
    my name = 'Shaofeng'
       ^
SyntaxError: invalid syntax
>>> myname = 'Shaofeng'
>>> 51job = '51job'
  File "<stdin>", line 1
    51job = '51job'
       ^
SyntaxError: invalid syntax
>>> MyName = 'Shaofeng'
  • 关键字(keywords):解释器使用关键字识别程序的结构;
>>> class = 50
  File "<stdin>", line 1
    class = 50
          ^
SyntaxError: invalid syntax

3、表达式和语句

  • 表达式(expression):值、变量和运算符及其组合;
>>> n
17
>>> 42
42
>>> n + 25
42
  • 语句(statement):一个会产生影响的代码单元;
>>> n = 17
>>> print(n)
17

4、脚本模式

  • 交互模式(interactive mode) :直接与解释器进行交互;
  • 在命令行工具(cmd,Windows PowerShell等,本系列博客均用Windows PowerShell)输入python命令启动Python解释器;
  • 在解释器中输入Python代码以使计算机按代码要求运行并得到需要的结果;
PS C:\Users\Administrator> python
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 5
5
>>> x = 5
>>> x + 1
6
  • 脚本模式(script mode) :将代码保存为脚本(script)文件,在命令行工具或者各种IDE中启动解释器并调用脚本文件以在解释器运行代码、得到需要的结果,Python脚本文件名的后缀是.py;
  • 把代码存为(D:\WorkSpace\thinkpython2e\文件夹中的)脚本文件(ex.py);
5
x = 5
y = x + 1
print(y) 
  • 在命令行工具(cmd,Windows PowerShell等)输入python D:\WorkSpace\thinkpython2e\ex.py命令启动Python解释器并调用脚本文件ex.py以在解释器运行代码、得到需要的结果;
PS C:\Users\Administrator> python D:\WorkSpace\thinkpython2e\ex.py
6

5、运算顺序

  • 运算顺序(order of operations):当一个表达式中有多于一个运算符时,计算的顺序;
  • 对于算数运算符,运算顺序规则遵循数学里的惯例PEMDAS
    • 括号(Parentheses)具有最高的优先级;
    • 指数运算(Exponentiation)具有次高的优先级;
    • 乘法(Multiplication)和除法(Division)有相同的优先级, 比加法(Addition)和减法(Subtraction)高,加法和减法也具有相同的优先级;
    • 具有相同优先级的运算符按照从左到右的顺序进行计算;

6、字符串运算

  • 加号运算符 + :进行将字符串首尾相连起来(字符串拼接(string concatenation))的运算;
    • 不能用于数值与字符串运算;
  • 乘法运算符 * :进行字符串重复的运算;
    • 必须是一个字符串与一个整形数进行运算;
    • 字符串与 0 或者负整形数运算的结果为一个空的字符串''
>>> 'Hello' + 'World'
'HelloWorld'
>>> 'Hello' + 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'Hello' * 3
'HelloHelloHello'
>>> 'Hello' * -3
''
>>> 'Hello' * 0
''
>>> 'Hello' * 3.5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'

7、注释

  • 注释(comments):以#符号开始、在程序中用自然语言做的标注;
  • 注释可以独立一行,也可以将注释放在行尾;
  • 从#开始到行尾的所有内容都会被解释器忽略;
  • 注释用于标注代码不明显的特征更有帮助;
v = 5       #速度,单位:米/秒
  • 好的变量名能够减少注释,长变量名又使得表达式很难读, 需要平衡;

8、调试

  • 程序中可能出现三种错误:语法错误(syntax error)、运行时错误(runtime error)和语义错误(semantic error);
    • 语法错误:语法指的是程序的结构及其背后的规则;
    • 运行时错误: 即异常(exception),它们的出现通常说明发生了某些特别的(而且不好的)事情;
    • 语义错误:与程序的意思的有关,程序在运行时不产生错误信息,不返回正确的结果。

猜你喜欢

转载自blog.csdn.net/weixin_41217917/article/details/110264923