3. Python基础知识:注释、变量以及数据类型
好,咱们正式开始写代码了。这一章我带你过一遍Python最基础的东西——说白了就是那些你每天都会用到的语法零件。别小看它们,我见过不少老手在这些细节上翻车。
3.1 注释:给代码加个旁白
注释这东西,写的时候觉得麻烦,但三个月后回头看代码,你会感谢当初的自己。Python的注释分两种:单行和多行。
# 这是单行注释,井号后面都是注释内容
print("Hello") # 也可以写在代码后面
多行注释用三个引号包起来,单引号双引号都行:
"""
这是多行注释
可以写好几行
通常用来写函数说明
"""
我的习惯:写注释时别写「显而易见」的东西。比如 # 打印Hello 这种注释,删了吧。要写就写「为什么这么写」,而不是「写了什么」。
3.2 变量:给数据贴个标签
变量就是个名字,让你能记住数据放哪了。Python里不需要声明类型,直接赋值就行——这点对新手很友好,但也容易埋坑。
name = "小明" # 字符串
age = 18 # 整数
height = 1.75 # 浮点数
变量名可以重复赋值,类型也能变:
x = 10
x = "现在变成字符串了" # 没问题,但我不建议这么干
我曾经在一个项目里看到有人把同一个变量名反复换类型,结果调试时根本分不清当前是什么值。嗯,变量名最好保持类型一致,这是好习惯。
3.3 数据类型:Python内置的几种基本类型
Python自带的数据类型不多,但够用。我整理了一张表:
| 类型 | 名称 | 例子 |
|---|---|---|
| int | 整数 | 10, -5, 0 |
| float | 浮点数 | 3.14, -0.5, 1.0 |
| str | 字符串 | "你好", 'Python' |
| bool | 布尔值 | True, False |
| NoneType | 空值 | None |
用 type() 函数可以查看变量类型:
print(type(10)) # <class 'int'>
print(type("abc")) # <class 'str'>
print(type(True)) # <class 'bool'>
3.4 标识符和关键字:起名字的规矩
标识符就是你给变量、函数起的名字。规矩不多,但记牢了:
- 只能包含字母、数字、下划线
- 不能以数字开头
- 不能是Python的关键字
- 区分大小写(name和Name是两个变量)
关键字就是Python自己保留的词,比如 if、for、while。你可以用 keyword.kwlist 查看所有关键字:
import keyword
print(keyword.kwlist)
# 输出:['False', 'None', 'True', 'and', 'as', ...]
避坑指南:我曾经看到有人把变量名起成 class,结果程序直接报错。记住,关键字不能当变量名用。
3.5 输入函数:让用户说两句
input() 函数从键盘读取输入,返回的一定是字符串:
name = input("请输入你的名字:")
print("你好," + name)
注意了,如果你要拿输入做数学运算,得先转类型:
age = input("请输入年龄:")
# print(age + 1) # 报错!字符串不能加数字
age = int(age) # 转成整数
print("明年你" + str(age + 1) + "岁了")
3.6 输出函数:让Python说两句
print() 是咱们最常用的函数。它可以一次输出多个值,用逗号隔开:
print("姓名:", name, "年龄:", age)
# 输出:姓名: 小明 年龄: 18
默认每个值之间有个空格,结尾会换行。想改?用参数:
print("Hello", end="") # 不换行
print("World") # 输出:HelloWorld
print("a", "b", "c", sep="-") # 输出:a-b-c
3.7 运算符:做点计算
运算符分几类,我挑重点说:
算术运算符:
| 运算符 | 说明 | 例子 |
|---|---|---|
| + | 加 | 3 + 2 = 5 |
| - | 减 | 3 - 2 = 1 |
| * | 乘 | 3 * 2 = 6 |
| / | 除 | 3 / 2 = 1.5 |
| // | 整除 | 3 // 2 = 1 |
| % | 取余 | 3 % 2 = 1 |
| ** | 幂运算 | 3 ** 2 = 9 |
比较运算符:返回布尔值
print(3 > 2) # True
print(3 == 2) # False(注意是两个等号)
print(3 != 2) # True
逻辑运算符:and、or、not
print(True and False) # False
print(True or False) # True
print(not True) # False
我建议:写条件判断时,多用括号明确优先级。比如 (a > 5) and (b < 10),比 a > 5 and b < 10 好读得多。
3.8 类型转换:让数据换个马甲
有时候数据「穿错衣服」了,得给它换一件。Python提供了几个转换函数:
# 转整数
int("123") # 123
int(3.14) # 3(直接截断,不四舍五入)
# 转浮点数
float("3.14") # 3.14
float(5) # 5.0
# 转字符串
str(123) # "123"
str(True) # "True"
# 转布尔值
bool(0) # False
bool(1) # True
bool("") # False
bool("abc") # True
我曾经在写数据处理脚本时,忘了把input的字符串转成整数就直接做加法,结果变成了字符串拼接。嗯,这种bug找起来特别隐蔽,因为程序不报错,只是结果不对。
3.9 知识结构图
这一章的内容就这些。说白了,注释、变量、类型、输入输出、运算符、类型转换——这些都是你每天写代码都会碰到的。我个人觉得,先把这些基础练熟,后面学函数、类什么的就轻松多了。
下一章咱们聊流程控制,if判断和循环。嗯,那才是真正让程序「活起来」的东西。