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 知识结构图

Python基础知识 注释 # 单行注释 """ 多行注释 """ 变量与数据类型 int, float, str bool, NoneType 标识符与关键字 命名规则 保留字 输入输出 input() 输入 print() 输出 运算符 算术、比较、逻辑 类型转换 int(), float() str(), bool() 打好基础,后面写代码才顺手

这一章的内容就这些。说白了,注释、变量、类型、输入输出、运算符、类型转换——这些都是你每天写代码都会碰到的。我个人觉得,先把这些基础练熟,后面学函数、类什么的就轻松多了。

下一章咱们聊流程控制,if判断和循环。嗯,那才是真正让程序「活起来」的东西。