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预留的词,比如 ifforwhileclass 这些。你不能拿它们当变量名。

# 合法的标识符
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 避坑总结

好了,咱们来总结一下今天容易踩的坑:

  1. 注释别乱写:要和代码保持一致,不然就是误导
  2. 变量名别太随意:a、b、c 这种,过两天你自己都看不懂
  3. input() 返回的是字符串:做数学运算前一定要转换
  4. 类型转换可能失败:做好异常处理,或者先验证数据
  5. 别用关键字当变量名:编辑器会高亮提示,注意看

这些基础知识点,说白了就是Python的“语法规则”。刚开始可能会觉得琐碎,但写多了就习惯了。我当年学的时候,也是反复练习才记住的。别急,慢慢来。

下一章咱们会讲流程控制——if判断和循环。到时候这些基础知识都会用上。加油!