(一)输入、输出与语句
1. 把输入的文字变成数字
# 读取一行文字,例如输入 45,input 返回的仍是字符串 "45"。
text = input()
# 把表示整数的文字转换成整数,再参与计算。
minutes = int(text)
print(minutes + 10)输入:
45
输出:
55
input() 读入一行,去掉行末换行后返回字符串。int(text) 调用整数转换工具,得到新的整数对象。= 把右边的结果绑定到左边的名称;例如 minutes 此后代表整数 45。
先分别写 input 和 int,是为了看清两次操作。熟悉后可以把它们合在一起:
# 先执行里面的 input,再把它返回的字符串交给 int。
minutes = int(input())
print(minutes + 10)表达式 minutes + 10 计算出一个值,赋值语句则让一个名称代表这个值。Python 通常通过换行结束一条语句,行末无需添加分号 ;。 每行一条语句时,执行顺序从上往下。字符串中的 "45" 与数字 45 是两种不同的数据;前者可以拼接文字,后者可以进行数值运算。
2. 输出多个值与格式化文本
# 多个位置参数默认用空格分隔,最后换行。
print("阅读", 45, "分钟")
# sep 指定值之间的分隔符,end 指定这一轮输出的结尾。
print("Python", "基础", sep=" / ", end=";")
print("继续学习")输出:
阅读 45 分钟
Python / 基础;继续学习
函数括号里按顺序给出的值叫位置参数,sep=" / " 这种写法叫关键字参数。它把一个值明确交给指定名字的参数。这里设置的是输出格式,没有创建名为 sep 的普通变量。
把变量放进一段文字时,可以使用 f-string:在引号前加 f,在花括号里写表达式。
# 花括号中的表达式先求值,结果再成为字符串的一部分。
minutes = 45
print(f"今天阅读 {minutes} 分钟,比目标多 {minutes - 30} 分钟。")
# 冒号后的 .2f 把浮点数格式化为两位小数。
hours = minutes / 60
print(f"折合 {hours:.2f} 小时")输出:
今天阅读 45 分钟,比目标多 15 分钟。
折合 0.75 小时
:.2f 改变的是显示出来的文字。变量 hours 中保存的数值没有被这次格式化修改。
3. 换行、续行与分号
先用三条赋值语句算出 35 分钟,再输出结果:
# 每一行分别完成一条语句;换到下一行,继续下一次赋值或调用。
minutes = 20
bonus = 15
total = minutes + bonus
print(total)第一行把 20 交给 minutes,第二行把 15 交给 bonus,第三行完成加法和赋值,最后输出 35。这四条语句的行末都没有分号。
表达式较长时,可以在括号里换行,把同一条语句分几行写:
# 圆括号里的表达式跨越多行,合起来仍是一次加法与赋值。
total = (
20
+ 15
)
# 右括号闭合后换行,下面开始另一条输出语句。
print(total)这里从 total = ( 到单独一行的 ) 合起来是 total = (20 + 15),输出仍是 35。源文件中实际换行分开的每一行叫物理行;解释器把括号里相连的几行组合起来,形成一条逻辑行。判断这条赋值是否写完时,要一直读到配对的右括号。
圆括号 ()、方括号 [] 和花括号 {} 里的表达式都可以这样换行;后面写较长列表或函数调用时会继续使用。括号内的对齐用来排版同一个表达式;(五)中冒号后的缩进则用来划分代码块,两者对应不同的语法结构。物理行、逻辑行与续行
分号可以分隔同一行中的多条简单语句,例如 minutes = 35; print(minutes) 会先赋值、再输出。平时像前面的例子一样,每行写一条,更容易逐句查看执行结果。学习时先记住:普通完整语句用换行分开,括号中的多行内容接着读,代码块中的语句再按缩进判断归属。
4. 注释、字符串与文档字符串
4.1 整行注释、行尾注释与多行说明
# 从当前位置开始,把这一行后面的内容作为注释。说明较长时,连续写几行,每一行都加 #,就能组成一段多行注释:
# 这一行是注释,用来解释下一行保存什么。
title = "Python 入门"
# 引号中的 # 是普通字符,会随文本一起输出。
print("标签:#python")# 每条记录使用分钟作为单位。
# 先合计两次阅读时长,再输出本次结果。
# 这三行共同解释下面的操作,解释器会忽略它们。
minutes = 20 + 15 # 这一条是写在语句后面的行尾注释。
print(minutes)输出 35。注释跨了三行,每行的起点仍然是一个 #。在 VS Code 中选中多行,再按 Ctrl+/,可以批量添加或移除行注释。注释语法
4.2 用三引号保存多行文本
需要让程序实际保存或输出一段多行文字时,用三个双引号或三个单引号把它包起来:
# 三引号建立字符串,内部换行成为字符串内容。
notice = """今天复习 Python。
明天整理阅读记录。"""
print(notice)输出两行文字。这里 notice 保存的是字符串,后面还能继续输出、替换或写入文件。三引号字符串中的反斜线也会参与转义,例如 \n 表示换行;(七)会把转义和原始字符串展开。
4.3 文档字符串的位置与用途
把直接写在引号中的字符串字面量,作为模块、函数或类主体中的第一条语句,可以给这个对象提供文档字符串,工具能通过 __doc__ 或 help(...) 读取它。第三章会在真正定义函数后运行这个过程。
单独放在其他位置的三引号字符串仍然是一条字符串表达式;运行脚本时,它通常不会显示在终端,也不会自动变成文档。阅读代码时分别看它是否被赋给名称、是否处在文档字符串的位置。写解释性注释时使用连续的 #;要保留文本数据时使用字符串。文档字符串