一、Python基础知识:从零开始搭积木

说实话,每次带新人入门Python,我都会先讲这一章。为什么?因为这些都是最底层的「砖块」。你想想看,盖房子总得先认识砖头、水泥和钢筋吧?编程也一样。

我个人习惯把Python的基础知识分成两类:一类是「写什么」,另一类是「怎么写」。前者是数据、变量这些内容,后者是注释、缩进这些规则。咱们一个一个来。

1.1 注释:给代码加个「说明书」

注释这东西,说白了就是写给程序员看的,不是给机器看的。Python解释器会直接忽略它。

我在项目中遇到过最头疼的事,就是接手别人的代码,结果一行注释都没有。嗯,那种感觉就像看天书。所以,我建议你从一开始就养成写注释的习惯。

Python里注释有两种写法:

  • 单行注释:用 # 开头
  • 多行注释:用三个单引号 ''' 或三个双引号 """ 包裹
# 这是单行注释,一般写在代码上方或右侧
print("Hello, World!")  # 也可以写在代码后面

'''
这是多行注释
可以写很多行
一般用来写函数说明或大段解释
"""
小技巧:我写注释有个原则——「解释为什么,而不是解释是什么」。比如 # 将温度从华氏度转为摄氏度 就比 # 减32再乘5除9 有用得多。

1.2 变量:给数据贴个标签

变量是什么?说白了就是一个「名字」,用来指向内存里的某个数据。你给它赋值,它就记住这个值。

name = "小明"    # 字符串变量
age = 18         # 整数变量
height = 1.75    # 浮点数变量
is_student = True  # 布尔变量

Python的变量有个特点——不用提前声明类型。你给它什么类型,它就是什么类型。这很灵活,但也容易踩坑。

我曾经踩过的坑:有一次我把一个变量先赋值为数字,后面又赋值为字符串,结果在计算时报了类型错误。所以,我建议你尽量保持一个变量只存一种类型的数据。

1.3 数据类型:Python的「基本积木」

Python里常用的数据类型就这几种,我列个表给你看:

类型 名称 示例 说明
int 整数 10, -5, 0 没有小数点的数字
float 浮点数 3.14, -0.5 带小数点的数字
str 字符串 "你好", 'Python' 用引号括起来的文本
bool 布尔值 True, False 只有两个值:真或假
list 列表 [1, 2, 3] 有序的可变集合
dict 字典 {"name": "小明"} 键值对集合

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

print(type(10))       # <class 'int'>
print(type("Hello"))  # <class 'str'>
print(type(True))     # <class 'bool'>

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

标识符就是你给变量、函数、类起的名字。Python对起名字有几点要求:

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

那什么是关键字呢?就是Python已经「预定」了的词,你不能拿它们当变量名。比如 if、for、while、True、False 等等。

# 合法的标识符
my_name = "张三"
age2 = 20
_total = 100

# 不合法的标识符
# 2name = "李四"   # 数字开头,报错
# my-name = "王五"  # 有连字符,报错
# if = 10          # 用了关键字,报错
命名习惯:我个人推荐用「蛇形命名法」——单词之间用下划线连接,比如 user_name、total_score。这是Python社区的惯例,读起来很清晰。

1.5 输入函数:让程序「听」你说话

input() 函数用来从键盘获取用户输入。它会把输入的内容作为字符串返回。

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

这里有个坑——input() 返回的永远是字符串。如果你要输入数字,记得用 int() 或 float() 转换一下。

我曾经犯过的错:写一个计算年龄的程序时,直接用 input() 返回的值做加法,结果变成了字符串拼接。比如输入20,得到的是 "20" + "5" = "205",而不是25。所以,记得转换类型!

1.6 输出函数:让程序「说」给你听

print() 是Python里最常用的输出函数。它可以一次输出多个值,用逗号隔开就行。

print("Hello", "World", 2024)  # 输出:Hello World 2024
print("结果 =", 10 + 20)       # 输出:结果 = 30

print() 默认会在末尾加一个换行符。如果你不想换行,可以设置 end 参数:

print("第一行", end=" ")
print("还在第一行")  # 输出:第一行 还在第一行

1.7 运算符:让数据「动」起来

运算符就是用来操作数据的符号。Python里常用的运算符有这几类:

算术运算符

运算符含义示例结果
+加10 + 313
-减10 - 37
*乘10 * 330
/除10 / 33.333...
//整除10 // 33
%取余10 % 31
**幂运算2 ** 38

比较运算符

比较运算符的结果是布尔值(True 或 False):

print(10 > 5)   # True
print(10 == 5)  # False(注意:== 是判断相等,= 是赋值)
print(10 != 5)  # True

逻辑运算符

用来组合多个条件:

age = 20
print(age > 18 and age < 30)  # True(两个条件都满足)
print(age > 18 or age < 10)   # True(至少一个条件满足)
print(not age > 18)           # False(取反)

1.8 程序类型转换:让数据「变」成你需要的样子

有时候,数据「长」得不对,你需要把它转成另一种类型。Python提供了几个内置函数来做这件事:

  • int(x):把 x 转成整数
  • float(x):把 x 转成浮点数
  • str(x):把 x 转成字符串
  • bool(x):把 x 转成布尔值
# 字符串转数字
num_str = "123"
num_int = int(num_str)  # 123(整数)

# 数字转字符串
age = 25
age_str = str(age)      # "25"(字符串)

# 整数转浮点数
a = 10
b = float(a)            # 10.0

# 布尔值转换
print(bool(0))          # False
print(bool(1))          # True
print(bool(""))         # False(空字符串)
print(bool("Hello"))    # True(非空字符串)
核心要点:类型转换不是万能的。比如 int("abc") 会报错,因为 "abc" 根本就不是数字。所以,转换前最好确认一下数据「长什么样」。

本章知识体系

下面这张图,是我为你梳理的本章知识结构。你可以把它当作一张「地图」,随时回来看看:

Python基础知识 注释 变量与数据类型 标识符与关键字 输入与输出 运算符 类型转换 所有程序都离不开这些基础元素 注释 → 写给人看 变量/数据类型 → 存储数据 运算符 → 处理数据 输入/输出 → 与用户交互 类型转换 → 让数据「对」起来

好了,这一章的内容就到这里。这些都是最基础的东西,但也是最常用的。你想想看,以后写的每一行代码,都离不开变量、数据类型、运算符这些「砖块」。打好这个基础,后面的路就好走了。

可可精品资料库