第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 知识结构图

Python基础知识 注释 # 单行注释 ''' 多行注释 ''' 变量与数据类型 int, float, str, bool list, tuple, dict 标识符与关键字 命名规则 保留字 输入输出函数 input() print() 运算符 算术、比较、逻辑 赋值、成员、身份 类型转换 int(), float() str(), bool()

3.10 本章小结

这一章的内容虽然基础,但非常重要。我建议你:

  1. 把每个代码示例都亲手敲一遍,别复制粘贴
  2. 故意写几个错误代码,看看Python会报什么错
  3. 养成写注释和规范命名的习惯,后面项目大了你就知道好处了

下一章我们会讲流程控制——if判断和循环。到时候这些基础知识都会用上。打好基础,后面才能跑得快。