当前位置:首页>python>一种全新的思维方式|《Think Python》第2章

一种全新的思维方式|《Think Python》第2章

  • 2026-09-02 19:07:36
一种全新的思维方式|《Think Python》第2章

Python 变量与语句:编程入门必学核心语法

✨ 学会变量、赋值、导入与打印,才算真正开始写代码


2. 变量与语句

上一章我们用运算符编写了算术表达式。 本章你将学习:变量、语句、import 导入、print 函数,并掌握「参数」「模块」等编程术语。


2.1 变量

变量是指向一个值的名称。 使用赋值语句创建变量:变量名 = 表达式。

# 赋值整数n = 17
# 赋值浮点数pi = 3.141592653589793
# 赋值字符串message = 'And now for something completely different'

赋值语句不会输出任何内容,但创建后可直接使用:

# 查看变量值message

运行结果:

'And now for something completely different'
# 变量参与运算n + 25

运行结果:

42
2 * pi

运行结果:

6.283185307179586
# 变量用于函数round(pi)

运行结果:

3
len(message)

运行结果:

42

2.2 状态图

用箭头表示变量指向值的关系,称为状态图。

n → 17pi → 3.141592653589793message → 'And now for something completely different'

它能帮你直观理解 Python 如何存储变量与值。


2.3 变量命名规则

  • 可包含字母、数字、下划线
  • 不能以数字开头
  • 建议全小写,用下划线分隔单词
  • 不能使用 Python 关键字

非法命名会报语法错误:

# 错误:含特殊符号million! = 1000000

运行结果:

SyntaxError: invalid syntax
# 错误:以数字开头76trombones = 'big parade'

运行结果:

SyntaxError: invalid decimal literal
# 错误:使用关键字 classclass = 'Self-Defence Against FreshFruit'

运行结果:

SyntaxError: invalid syntax

Python 关键字列表

FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield


2.4 import 导入语句

使用 Python 扩展功能需要先导入模块。

# 导入数学模块 mathimport math

使用模块内的变量/函数需要用 点运算符 .。

# 获取数学常数 πmath.pi

运行结果:

3.141592653589793
# 平方根函数math.sqrt(25)

运行结果:

5.0
# 幂运算函数math.pow(5, 2)

运行结果:

25.0

2.5 表达式与语句

表达式

可计算出一个值的代码:

  • 单个值
  • 运算符组合
  • 变量、函数调用
19 + n + round(math.pi) * 2

运行结果:

42

语句

执行一个动作、没有返回值的代码单位:

  • 赋值语句
  • import 语句

计算表达式叫求值,运行语句叫执行。


2.6 print 函数

直接写多个表达式,只会显示最后一个的值。 用 print() 可以主动输出任意内容。

n = 17# 输出多个表达式结果print(n + 2)print(n + 3)

运行结果:

1920
# 输出字符串和变量print('The value of pi is approximately', math.pi)

运行结果:

The value of pi is approximately 3.141592653589793

2.7 参数(Arguments)

函数调用时,括号里的表达式叫参数。

# 1 个参数int('101')

运行结果:

101
# 2 个参数math.pow(5, 2)

运行结果:

25.0
# 可选参数:保留 3 位小数round(math.pi, 3)

运行结果:

3.142
# 任意个参数print('Any', 'number', 'of', 'arguments')

运行结果:

Any number of arguments

参数数量/类型错误会触发 TypeError:

# 参数过多float('123.0', 2)

运行结果:

TypeError: float expected at most 1 argument, got 2

2.8 注释

注释用 # 开头,用来解释代码,不影响运行。

# 计算 42 分 42 秒总秒数seconds = 42 * 60 + 42
# 行尾注释miles = 10 / 1.61# 10 公里换算成英里

好注释解释为什么,不是重复代码说是什么。


2.9 调试(三种错误)

程序会出现三类错误:

  1. 语法错误 结构非法,Python 直接拒绝运行。

    million! = 1000000
  2. 运行时错误(异常) 语法合法,但运行时出错。

    '126' / 3
  3. 语义错误 能运行、不报错,但结果不对。

    # 想算平均值,结果写错1 + 3 / 2

    运行结果:2.5(错误)


2.10 术语表

英文
中文
说明
variable
变量
指向值的名称
assignment statement
赋值语句
给变量赋值
keyword
关键字
保留字,不能做变量名
import
导入
加载模块
module
模块
存放函数/变量的代码文件
dot operator
点运算符
.
 访问模块内容
argument
参数
函数括号里的值
comment
注释
# 开头,解释代码
syntax error
语法错误
格式非法
runtime error
运行时错误
执行时报错
semantic error
语义错误
不报错但结果错误

2.11 练习

2.11.1 助手问题

可以问 AI:

  • 为什么 class 是关键字?
  • 为什么不能用 int/float/str 做变量名?
  • math 模块里有哪些函数?

2.11.2 故意试错练习

尝试运行以下代码,观察错误:

17 = nx = y = 1n = 17;import maath

2.11.3 计算器实战练习

  1. 计算半径 5cm 球的体积
  2. 验证 sin²x + cos²x ≈ 1
  3. 用三种方式计算 e²

📚 原文:Think Python 3rd Edition ✍️ 作者:Allen B. Downey 

最新文章

随机文章