3. Python 基础知识:从注释到类型转换,把地基打牢

说实话,我见过不少新手,一上来就急着写复杂逻辑,结果连变量命名都乱七八糟。Python 的语法虽然简洁,但基础不牢,后面写代码真的会很难受。这一章,咱们就把注释、变量、数据类型、运算符这些最核心的东西,一个一个说清楚。

本章知识体系速览:注释 → 变量与数据类型 → 标识符与关键字 → 输入输出 → 运算符 → 类型转换。每一步都是下一步的前提,建议按顺序学。

Python 基础知识结构图 Python 基础知识 注释 变量 & 数据类型 标识符 & 关键字 输入 / 输出 运算符 类型转换 学习建议 先掌握注释和变量,再理解数据类型和运算符。 类型转换是日常写代码最容易踩坑的地方,务必亲手敲一遍示例。

3.1 注释:给代码加个说明书

注释这东西,不写不影响程序运行,但写好了能救命。我自己的习惯是:复杂的逻辑写注释,简单的代码不写。你想想看,三个月后回来看自己写的代码,如果没有注释,真的会怀疑人生。

Python 里注释分两种:

  • 单行注释:用 # 开头,只对本行有效。
  • 多行注释:用三个单引号 ''' 或三个双引号 """ 包裹。
# 这是单行注释,解释下面这行代码的作用
name = "Python"  # 行尾也可以加注释

"""
这是多行注释
可以写很多行说明
比如函数的用途、参数含义等
"""
print("Hello, World!")

我的小技巧:写注释时,多解释「为什么这么做」,而不是「做了什么」。比如 # 用二分查找提高性能 比 # 循环查找 有用得多。

3.2 变量与数据类型:Python 的「盒子」哲学

变量是什么?说白了就是一个装数据的盒子。Python 里不需要提前声明类型,直接赋值就行。这一点对新手特别友好,但也容易让人忽略类型的重要性。

Python 的常见数据类型,我整理了一张表:

类型 名称 示例 说明
int 整型 age = 25 整数,没有小数部分
float 浮点型 price = 19.99 带小数点的数字
str 字符串 name = "Alice" 用引号括起来的文本
bool 布尔型 is_ok = True 只有 True 和 False
list 列表 nums = [1, 2, 3] 有序的可变集合
dict 字典 info = {"name": "Tom"} 键值对存储

变量命名有个小坑:不能以数字开头,也不能用 Python 保留的关键字。比如 1name 就是错的,class 也不行。

# 正确的变量命名
user_name = "张三"
age = 30
is_student = False

# 错误的命名(会报错)
# 1name = "李四"    # 数字开头
# class = "数学"    # class 是关键字

注意:Python 是动态类型语言,变量的类型可以随时改变。但我不建议你这么做——x = 10 之后又写 x = "hello",代码可读性会变得很差。保持一个变量只存一种类型,这是好习惯。

3.3 标识符与关键字:起名字的规矩

标识符就是你给变量、函数、类起的名字。Python 对标识符有硬性规定:

  • 只能包含字母、数字、下划线,不能有空格或特殊符号。
  • 不能以数字开头。
  • 区分大小写,Name 和 name 是两个不同的变量。
  • 不能使用 Python 的关键字(保留字)。

Python 3 一共有 35 个关键字,我挑几个容易混淆的列出来:

关键字 用途 常见误用
False 布尔假值 不能写成 false(小写)
None 空值 不能写成 none
class 定义类 有人拿它当变量名
def 定义函数 容易和 del 搞混
return 函数返回值 不能用作变量名

我曾经在项目里见过有人用 list 做变量名,结果后面想用 list() 函数时直接报错。嗯,这种坑踩过一次就记住了。

3.4 输入与输出:和程序对话

Python 的输入输出特别简单:

  • 输出:print(),把内容显示到屏幕上。
  • 输入:input(),从键盘获取用户输入,返回的一定是字符串。
# 输出
print("欢迎来到 Python 世界!")
print("我的年龄是", 25)  # 可以输出多个值,用逗号分隔

# 输入
name = input("请输入你的名字:")
print("你好,", name)

# 注意:input 返回的是字符串
age = input("请输入你的年龄:")
print(type(age))  # 输出:<class 'str'>

避坑指南:input() 返回的一律是字符串。如果你需要数字,记得做类型转换。我曾经写过一个计算器程序,忘了转换类型,结果 "5" + "3" 变成了 "53",而不是 8。

3.5 运算符:让数据动起来

运算符就是用来操作数据的符号。Python 的运算符分几大类:

算术运算符

运算符 含义 示例 结果
+ 加 10 + 3 13
- 减 10 - 3 7
* 乘 10 * 3 30
/ 除 10 / 3 3.3333
// 整除 10 // 3 3
% 取余 10 % 3 1
** 幂运算 2 ** 3 8

比较运算符

比较运算符返回布尔值:True 或 False。

print(5 > 3)    # True
print(5 == 3)   # False(注意:== 是等于,= 是赋值)
print(5 != 3)   # True
print(5 >= 5)   # True

逻辑运算符

用来组合多个条件:

  • and:两边都为真才为真。
  • or:一边为真就为真。
  • not:取反。
age = 20
has_id = True

# 检查是否成年并且有身份证
if age >= 18 and has_id:
    print("可以进入")

# 检查是否未成年或者没有身份证
if not (age >= 18 and has_id):
    print("禁止进入")

常见错误:把 = 和 == 搞混。赋值用 =,判断相等用 ==。我见过有人写 if a = 5:,这在 Python 里会直接报语法错误,但在其他语言里可能不会报错,养成好习惯很重要。

3.6 类型转换:让数据「变形」

类型转换就是把数据从一种类型变成另一种类型。Python 提供了几个内置函数:

  • int():转成整数。
  • float():转成浮点数。
  • str():转成字符串。
  • bool():转成布尔值。
# 字符串转整数
num_str = "123"
num_int = int(num_str)
print(num_int + 1)  # 124

# 整数转字符串
age = 25
age_str = str(age)
print("我今年" + age_str + "岁")  # 字符串拼接

# 浮点数转整数(会丢失小数部分)
pi = 3.14159
pi_int = int(pi)
print(pi_int)  # 3

# 布尔值转数字
print(int(True))   # 1
print(int(False))  # 0

类型转换有个原则:只能转「合理」的类型。比如 "abc" 转整数就会报错,因为 Python 不知道 "abc" 对应什么数字。

实战场景:写一个简单的加法计算器。

a = input("请输入第一个数字:")
b = input("请输入第二个数字:")
# 如果不转换,结果是字符串拼接
print("未转换:", a + b)  # 比如 "5" + "3" = "53"
# 转换后才是真正的加法
result = int(a) + int(b)
print("转换后:", result)  # 8

好了,这一章的内容就这些。注释、变量、数据类型、标识符、输入输出、运算符、类型转换——每一个都是你写 Python 代码时天天要用到的东西。别急着往后赶,把基础打扎实了,后面学函数、类、文件操作才会顺手。