3. Python基础知识:从注释到类型转换
各位同学好,我是这门课的主讲。今天咱们来聊聊Python的基础知识。说实话,这部分内容看起来简单,但我在带项目时发现,很多老手都会在这里栽跟头。别急,咱们一个一个来。
3.1 注释:代码里的“便签纸”
注释这东西,说白了就是写给程序员自己看的。Python不会执行它。我个人的习惯是,写注释就像写日记——记录当时为什么这么写。
单行注释:用 # 开头
# 这是单行注释
print("Hello, World!") # 这也是注释,跟在代码后面
多行注释:用三个单引号或三个双引号
'''
这是多行注释
可以写好几行
Python会忽略它
'''
"""
双引号也可以
效果一样
"""
我的经验:我在项目中遇到过最坑的事——注释写的是“这里计算A”,结果代码实际算的是B。所以,注释一定要和代码同步更新,不然比没写还可怕。
3.2 变量与数据类型
变量,就是给数据起个名字。Python里不需要声明类型,直接赋值就行。你想想看,这多省事。
name = "小明" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
Python的数据类型主要有这些:
| 类型 | 例子 | 说明 |
|---|---|---|
| int | 10, -5, 0 | 整数,没有小数点 |
| float | 3.14, -0.5 | 浮点数,带小数点 |
| str | "你好", 'Python' | 字符串,用引号包着 |
| bool | True, False | 布尔值,注意首字母大写 |
| list | [1, 2, 3] | 列表,用方括号 |
| dict | {"key": "value"} | 字典,键值对 |
注意:Python是动态类型语言。变量可以随时改变类型。比如:
x = 10 # 现在是整数
x = "hello" # 现在变成字符串了
print(x) # 输出 hello
嗯,这里要注意——虽然可以这样写,但我建议一个变量只存一种类型的数据,不然代码维护起来很头疼。
3.3 标识符与关键字
标识符就是变量名、函数名这些。Python对命名有规则:
- 只能包含字母、数字、下划线
- 不能以数字开头
- 区分大小写(name和Name是两个不同的变量)
- 不能使用Python的关键字
关键字是Python预留的词,比如 if、for、while、class 这些。你不能拿它们当变量名。
# 合法的标识符
my_var = 10
_name = "张三"
var123 = 3.14
# 不合法的标识符
# 123var = 10 # 不能以数字开头
# my-var = 10 # 不能有连字符
# if = 10 # if 是关键字
我的建议:变量名要见名知意。比如用 user_name 而不是 un。我曾经接手过一个项目,变量全是 a、b、c、d... 那感觉,就像看天书。
3.4 输入函数 input()
input() 用来从键盘获取用户输入。注意,它返回的永远是字符串。
name = input("请输入你的名字:")
print("你好," + name)
# 如果输入数字,记得转换
age = input("请输入年龄:")
age = int(age) # 把字符串转成整数
print("明年你" + str(age + 1) + "岁了")
避坑指南:我曾经在项目中直接用 input() 的结果做数学运算,结果报错了。因为 input() 返回的是字符串,不能直接加减乘除。一定要先转换类型。
3.5 输出函数 print()
print() 是Python最常用的输出函数。它可以输出多个值,用逗号隔开。
print("Hello", "World") # 输出:Hello World
print("答案 =", 42) # 输出:答案 = 42
# 格式化输出
name = "小明"
age = 25
print(f"我叫{name},今年{age}岁") # f-string,Python 3.6+ 推荐
我个人最喜欢用 f-string,简洁又直观。你看,把变量直接塞进花括号里,多方便。
3.6 运算符
Python的运算符分几类:
| 类型 | 运算符 | 例子 |
|---|---|---|
| 算术 | + - * / // % ** | 10 // 3 = 3(整除),10 % 3 = 1(取余) |
| 比较 | == != > < >= <= | 5 == 5 返回 True |
| 逻辑 | and or not | True and False 返回 False |
| 赋值 | = += -= *= /= | x += 1 等价于 x = x + 1 |
# 算术运算符
a = 10
b = 3
print(a + b) # 13
print(a / b) # 3.333...
print(a // b) # 3(整除)
print(a % b) # 1(余数)
print(a ** b) # 1000(10的3次方)
# 逻辑运算符
print(True and False) # False
print(True or False) # True
print(not True) # False
小技巧:判断一个数是不是偶数,可以用 num % 2 == 0。我在写数据清洗脚本时,经常用这个来筛选数据。
3.7 程序类型转换
类型转换,就是把一种数据类型变成另一种。Python提供了几个内置函数:
int():转成整数float():转成浮点数str():转成字符串bool():转成布尔值list():转成列表
# 字符串转数字
s = "123"
n = int(s) # n = 123
f = float(s) # f = 123.0
# 数字转字符串
num = 456
text = str(num) # text = "456"
# 布尔转换
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("a")) # True
注意:不是所有转换都能成功。比如 int("hello") 会报错。我曾经在解析用户输入时,没做异常处理,结果程序直接崩溃了。所以,转换前最好先检查一下数据格式。
3.8 避坑总结
好了,咱们来总结一下今天容易踩的坑:
- 注释别乱写:要和代码保持一致,不然就是误导
- 变量名别太随意:a、b、c 这种,过两天你自己都看不懂
- input() 返回的是字符串:做数学运算前一定要转换
- 类型转换可能失败:做好异常处理,或者先验证数据
- 别用关键字当变量名:编辑器会高亮提示,注意看
这些基础知识点,说白了就是Python的“语法规则”。刚开始可能会觉得琐碎,但写多了就习惯了。我当年学的时候,也是反复练习才记住的。别急,慢慢来。
下一章咱们会讲流程控制——if判断和循环。到时候这些基础知识都会用上。加油!