第3章 Python基础知识:从零开始写第一行代码
好,咱们正式开始写Python代码了。这一章我会带你过一遍Python最基础的东西——注释、变量、数据类型这些。别小看这些基础,我见过太多项目出bug,最后发现都是基础没打牢。
3.1 注释:给代码加个说明书
注释这东西,说白了就是写给人类看的说明。Python解释器会直接忽略它。我个人习惯在写复杂逻辑前,先写注释理清思路。
Python里注释有两种写法:
# 这是单行注释,我常用它来解释某一行代码
print("Hello") # 也可以写在代码后面
"""
这是多行注释
用三个引号包起来
适合写大段的说明
"""
我的经验:在团队项目里,注释比代码本身还重要。我曾经接手过一个项目,代码写得贼漂亮,但一句注释都没有。嗯,那两周我过得相当痛苦。
3.2 变量与数据类型
变量就是给数据起个名字。Python里不需要声明类型,直接赋值就行。你想想看,这比C语言省了多少事。
name = "小明" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
Python常用的数据类型就这几种:
| 类型 | 例子 | 说明 |
|---|---|---|
| int | 10, -5, 0 | 整数,没有小数点 |
| float | 3.14, -0.5 | 浮点数,带小数点 |
| str | "Hello", 'Python' | 字符串,用引号包着 |
| bool | True, False | 布尔值,注意首字母大写 |
| list | [1, 2, 3] | 列表,用方括号 |
| dict | {"key": "value"} | 字典,键值对 |
注意:Python是动态类型语言,变量的类型可以随时改变。但我不建议你这么做——我在项目中遇到过有人把变量从数字改成字符串,结果后面代码全崩了。
3.3 标识符和关键字
标识符就是你给变量、函数起的名字。规则很简单:字母、数字、下划线,但不能以数字开头。也不能用Python保留的关键字。
Python的关键字有哪些?我常用的就这几个:
# 这些名字你不能用
# False, True, None, if, else, for, while, def, class, return, import
# 正确的命名方式
my_name = "张三" # 下划线命名法
userAge = 25 # 驼峰命名法
name2 = "李四" # 可以带数字
避坑指南:我曾经犯过一个低级错误——用type做变量名。结果后面想用type()函数检查数据类型时,发现它已经被我覆盖了。嗯,调试了半小时才找到原因。
3.4 输入和输出函数
写程序总要和人交互吧?input()和print()就是干这个的。
# 输出
print("Hello World") # 打印字符串
print("年龄:", 25) # 可以打印多个值
print("数字是", 10, sep="") # 用sep去掉空格
# 输入
name = input("请输入你的名字: ") # 输入的内容永远是字符串
age = int(input("请输入年龄: ")) # 需要手动转成整数
为什么会这样?因为input()返回的一律是字符串。你要做数学运算,就得自己转类型。我刚开始学的时候,经常忘记这茬,结果字符串和数字相加报错。
3.5 运算符
运算符就是做各种运算的符号。Python的运算符挺全的:
# 算术运算符
a = 10 + 5 # 加法
b = 10 - 5 # 减法
c = 10 * 5 # 乘法
d = 10 / 3 # 除法,结果是3.333...
e = 10 // 3 # 整除,结果是3
f = 10 % 3 # 取余,结果是1
g = 2 ** 3 # 幂运算,结果是8
# 比较运算符
print(10 > 5) # True
print(10 == 5) # False
print(10 != 5) # True
# 逻辑运算符
print(True and False) # False
print(True or False) # True
print(not True) # False
我的习惯:写条件判断时,我总喜欢加括号明确优先级。比如(a > 5) and (b < 10),这样别人看代码也清楚。
3.6 类型转换
类型转换就是把一种数据类型变成另一种。说白了,就是让Python按你想要的方式理解数据。
# 字符串转数字
num_str = "123"
num_int = int(num_str) # 变成整数123
num_float = float(num_str) # 变成浮点数123.0
# 数字转字符串
age = 25
age_str = str(age) # 变成"25"
# 转布尔值
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("abc")) # True
注意:不是所有字符串都能转数字。int("abc")会直接报错。我在项目中处理用户输入时,都会先做校验再转换。
3.7 避坑总结
这一章的内容看着简单,但坑不少。我总结几个常见的:
- 变量命名:别用关键字,别用中文(虽然Python3支持,但团队规范一般不允许)
- 类型转换:字符串转数字前,先确认它是不是合法的数字格式
- 除法结果:Python3里
/永远是浮点数,想要整数用// - 布尔值:首字母大写,
True和False,不是true和false
好了,这一章就到这。下一章咱们会讲流程控制——if判断和循环。到时候我会教你如何用这些基础知识写出真正的逻辑判断代码。