第3章:Python基础知识——注释、变量、数据类型、标识符、关键字、输入输出、运算符、类型转换
各位同学,欢迎来到第三章。说实话,这一章的内容看起来有点“碎”,但它们是Python这座大厦的砖瓦。我见过太多新手因为变量命名不规范、类型搞混,在项目后期debug到崩溃。咱们今天就把这些基础打扎实,后面写代码才能行云流水。
3.1 注释:给代码加个“说明书”
注释这东西,说白了就是写给程序员看的,不是给机器看的。我刚开始写代码时也不爱写注释,觉得浪费时间。直到有一次,我接手了一个三年前自己写的项目……嗯,那感觉就像看天书。从那以后,我养成了写注释的习惯。
Python里注释有两种写法:
- 单行注释:用
#开头,后面跟注释内容 - 多行注释:用三个单引号
'''或三个双引号"""包裹
# 这是单行注释,我习惯在代码逻辑复杂的地方加一句
print("Hello, World!") # 也可以写在代码后面
'''
这是多行注释
可以写好几行说明
比如解释一个函数的作用
'''
"""
双引号也可以
看个人喜好
"""
3.2 变量:给数据起个名字
变量就像是一个带标签的盒子。你把数据放进去,贴上标签,以后想用的时候直接喊标签名就行。
name = "张三" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
Python的变量有个特点——不用提前声明类型。你给它赋什么值,它就是什么类型。这很方便,但也容易踩坑。我在项目中遇到过一个问题:一个变量本来存的是数字,后面不小心被赋成了字符串,结果计算时直接报错。所以,变量名要起得清晰,别偷懒。
3.3 数据类型:Python的“物种分类”
Python里常见的数据类型,我整理了一张表,你一看就明白:
| 类型 | 名称 | 例子 |
|---|---|---|
| 整数 | int | 10, -5, 0 |
| 浮点数 | float | 3.14, -0.5, 1.0 |
| 字符串 | str | "你好", 'Python' |
| 布尔值 | bool | True, False |
| 列表 | list | [1, 2, 3] |
| 元组 | tuple | (1, 2, 3) |
| 字典 | dict | {"name": "张三", "age": 25} |
你可以用 type() 函数来查看一个变量的类型:
print(type(10)) # <class 'int'>
print(type("Hello")) # <class 'str'>
print(type(True)) # <class 'bool'>
3.4 标识符和关键字:起名字的规矩
标识符就是你给变量、函数、类起的名字。Python对名字有要求:
- 只能包含字母、数字、下划线
- 不能以数字开头
- 不能是Python的关键字
- 区分大小写(
Name和name是两个不同的变量)
关键字是Python已经“预定”的词,比如 if、for、while、class 等。你不能拿它们当变量名。我刚开始学的时候,就试过用 class 当变量名,结果直接报错。你想想看,Python自己用的词,怎么能让你抢走呢?
# 合法的标识符
my_name = "张三"
age2 = 30
_private = "私有变量"
# 不合法的标识符
# 2name = "错误" # 不能以数字开头
# my-name = "错误" # 不能有连字符
# if = "错误" # 关键字不能用
list、str 这类内置函数名当变量名。虽然不会报错,但后面再用 list() 函数时就会出问题。记住,别用Python内置的名字!
3.5 输入函数:让程序“听”你说话
input() 函数可以从用户那里获取输入。它会把输入的内容当作字符串返回。
name = input("请输入你的名字:")
print("你好," + name)
这里有个坑要注意:input() 返回的永远是字符串。如果你要输入数字,得自己转换。我见过不少新手直接拿 input() 的结果做加法,结果变成了字符串拼接。
age = input("请输入你的年龄:")
print(age + 1) # 报错!字符串不能和数字相加
# 正确做法
age = int(input("请输入你的年龄:"))
print(age + 1) # 没问题
3.6 输出函数:让程序“说”给你听
print() 是Python最常用的输出函数。它可以一次输出多个值,用逗号隔开:
name = "张三"
age = 25
print("姓名:", name, "年龄:", age)
# 输出:姓名: 张三 年龄: 25
我个人习惯用 f-string 来格式化输出,更清晰:
print(f"姓名:{name},年龄:{age}")
# 输出:姓名:张三,年龄:25
3.7 运算符:让数据“动”起来
运算符分几类,我挑重点说:
算术运算符
| 运算符 | 说明 | 例子 |
|---|---|---|
+ |
加 | 10 + 5 = 15 |
- |
减 | 10 - 5 = 5 |
* |
乘 | 10 * 5 = 50 |
/ |
除(结果是浮点数) | 10 / 3 = 3.333... |
// |
整除(取整数部分) | 10 // 3 = 3 |
% |
取余 | 10 % 3 = 1 |
** |
幂运算 | 2 ** 3 = 8 |
比较运算符
比较的结果是布尔值:True 或 False。
print(10 > 5) # True
print(10 == 5) # False(注意是两个等号)
print(10 != 5) # True
逻辑运算符
用来组合多个条件:
age = 20
print(age > 18 and age < 60) # True(两个条件都满足)
print(age > 18 or age < 10) # True(至少一个满足)
print(not age > 18) # False(取反)
= 和比较运算符 == 别搞混。我见过有人把 if a = 10 写在条件里,这在Python里会报错,但在某些语言里不会。养成好习惯,赋值用 =,比较用 ==。
3.8 类型转换:让数据“变形”
有时候你需要把一种类型转成另一种。比如用户输入的是字符串,你要做数学计算就得转成数字。
常用的转换函数:
int(x):把 x 转成整数float(x):把 x 转成浮点数str(x):把 x 转成字符串bool(x):把 x 转成布尔值
# 字符串转数字
num_str = "123"
num_int = int(num_str)
print(num_int + 1) # 124
# 数字转字符串
age = 25
age_str = str(age)
print("我今年" + age_str + "岁") # 字符串拼接
# 浮点数转整数(会丢失小数部分)
print(int(3.99)) # 3,不是四舍五入,是直接截断
int("abc") 会报错。所以做类型转换前,最好先确认数据是“干净”的。我在项目中处理用户输入时,都会加个 try...except 来捕获异常。
3.9 知识结构图
3.10 本章小结
这一章的内容虽然基础,但非常重要。我建议你:
- 把每个代码示例都亲手敲一遍,别复制粘贴
- 故意写几个错误代码,看看Python会报什么错
- 养成写注释和规范命名的习惯,后面项目大了你就知道好处了
下一章我们会讲流程控制——if判断和循环。到时候这些基础知识都会用上。打好基础,后面才能跑得快。