3、Python基础知识:注释、变量以及数据类型、标识符和关键字、输入函数、输出函数、运算符、程序类型转换

各位同学,咱们今天聊点实在的。Python 基础语法这块,说白了就是写代码的「规矩」。我见过太多新手,一上来就急着写逻辑,结果变量名乱起、类型搞混、缩进不对,最后 debug 到崩溃。嗯,咱们今天就把这些规矩捋清楚。

3.1 注释:代码里的「便签」

注释这东西,不是写给机器看的,是写给人看的。我自己的习惯是:复杂逻辑必写注释,简单代码不写废话。

Python 里注释有两种:

  • 单行注释:用 # 开头,整行都失效
  • 多行注释:用三个单引号 ''' 或三个双引号 """ 包裹
# 这是一个单行注释
print("Hello, World!")  # 行尾也可以加注释

'''
这是一个多行注释
可以写好几行
不会被执行
"""
我的小技巧:写注释时,别写「这里打印了 Hello」,要写「这里打印了用户登录后的欢迎语」。注释要说明「为什么」,而不是「是什么」。

3.2 变量:给数据起个名字

变量就是给数据贴个标签。你想想看,如果没有变量,你每次用数据都得写死值,那代码得多僵硬?

Python 里变量不需要提前声明类型,直接赋值就行:

name = "张三"
age = 25
height = 1.75
is_student = True

这里有个坑,我刚开始学的时候踩过:变量必须先赋值再使用。如果你写 print(x) 但前面没定义 x,Python 会直接报错 NameError。

3.3 数据类型:Python 的「食材分类」

Python 里常用的数据类型,我整理了一张表,你一看就明白:

类型 名称 示例 说明
int 整数 42, -5 没有小数点的数字
float 浮点数 3.14, -0.001 带小数点的数字
str 字符串 "你好", 'Python' 用引号包裹的文本
bool 布尔值 True, False 只有两个值,注意首字母大写
NoneType 空值 None 表示「没有值」

你可以用 type() 函数查看变量的类型:

print(type(42))       # <class 'int'>
print(type("Hello"))  # <class 'str'>
注意:Python 是动态类型语言,变量可以随时改变类型。比如 x = 10 之后,你写 x = "hello" 完全没问题。但这也容易引发 bug,我在项目里吃过亏——变量类型变了,后面的代码却没适配。

3.4 标识符和关键字:起名字的规矩

标识符就是你给变量、函数、类起的名字。规矩不多,但必须遵守:

  • 只能包含字母、数字、下划线
  • 不能以数字开头
  • 不能是 Python 的关键字
  • 区分大小写(name 和 Name 是两个变量)

关键字就是 Python 自己保留的词,比如 if、for、while、class、def 等等。你可以用 import keyword; print(keyword.kwlist) 查看完整列表。

我个人习惯用下划线命名法:变量名全小写,单词之间用下划线隔开,比如 user_name、total_count。这样读起来一目了然。

3.5 输入函数:让用户说话

input() 函数用来获取用户输入。注意:它返回的一定是字符串。

name = input("请输入你的名字:")
print("你好," + name)

如果你需要数字,记得做类型转换:

age = int(input("请输入你的年龄:"))  # 把字符串转成整数
避坑指南:我曾经写过一个计算器程序,用户输入数字后直接做加法,结果变成了字符串拼接("5" + "3" = "53")。后来才想起来 input() 返回的是字符串,必须用 int() 或 float() 转换。

3.6 输出函数:让代码说话

print() 是 Python 里最常用的输出函数。它有几个实用参数:

  • sep:指定多个值之间的分隔符,默认是空格
  • end:指定结尾字符,默认是换行 \n
print("Hello", "World", sep="-")  # 输出:Hello-World
print("第一行", end="")           # 不换行
print("还是第一行")               # 输出:第一行还是第一行

格式化输出我常用 f-string,简洁又直观:

name = "李四"
age = 30
print(f"我叫{name},今年{age}岁。")  # 输出:我叫李四,今年30岁。

3.7 运算符:代码里的「数学课」

运算符分几类,我按使用频率给你排个序:

算术运算符

运算符 含义 示例 结果
+ 加 5 + 3 8
- 减 5 - 3 2
* 乘 5 * 3 15
/ 除 5 / 2 2.5
// 整除 5 // 2 2
% 取余 5 % 2 1
** 幂运算 2 ** 3 8

比较运算符

返回布尔值 True 或 False:

print(5 > 3)   # True
print(5 == 3)  # False(注意是两个等号)
print(5 != 3)  # True

逻辑运算符

and、or、not 三个,用来组合条件:

age = 20
print(age > 18 and age < 60)  # True(既成年又没退休)
print(not age > 18)           # False

3.8 类型转换:让数据「变形」

类型转换分两种:隐式转换和显式转换。

隐式转换是 Python 自动做的。比如整数和浮点数做运算,结果会自动变成浮点数:

result = 5 + 3.14  # result 是 8.14(float 类型)

显式转换是你主动用函数转:

  • int(x):转整数(会截断小数,不是四舍五入)
  • float(x):转浮点数
  • str(x):转字符串
  • bool(x):转布尔值(0、空字符串、None 转成 False,其他都是 True)
print(int(3.99))   # 3(不是 4!)
print(float("3.14"))  # 3.14
print(str(100))    # "100"
print(bool(0))     # False
print(bool(""))    # False
print(bool("abc")) # True
注意:不是所有字符串都能转数字。int("hello") 会报 ValueError。我在处理用户输入时,都会用 try...except 包一层,防止程序崩溃。

知识体系总览

下面这张图,把本章的知识点串起来了。你可以把它当作「Python 基础语法地图」:

Python 基础知识体系图 Python 基础知识 注释 变量与数据类型 标识符与关键字 输入与输出 单行 / 多行注释 int / float / str / bool 命名规则 / 关键字列表 input() / print() 运算符 类型转换 算术 / 比较 / 逻辑 赋值 / 成员 / 身份 隐式转换 显式转换 核心:先有数据,后有类型,类型决定行为 变量是标签,运算符是工具,类型转换是桥梁

本章核心要点:

  • 注释是写给人的,不是写给机器的
  • 变量先赋值再使用,类型可以变但别乱变
  • 标识符要见名知意,别用关键字
  • input() 返回字符串,需要数字记得转
  • 运算符要分清算术、比较、逻辑三类
  • 类型转换分隐式和显式,显式转换要小心无效数据