Python 核心基础语法

2026年02月28日 20:31


一、基本数据类型

Python 基础数据类型是程序处理数据的最小单元,核心包括以下6类:

1. 整数(int

 定义:不带小数部分的数字,可正可负可零,Python 支持任意大小的整数(仅受内存限制)。

 核心操作

Python
a = 9
print('除法运算 =', a/2)      # 结果为浮点数:4.5
print('整除运算 =', a//2)     # 向下取整:4
print('加法运算 =', a+2)      # 11
print('乘法运算 =', a*2)      # 18
print('类型 =', type(a))      # <class 'int'>

2. 浮点数(float

 定义:带小数部分的数字,用于表示实数;⚠️ 注意:浮点数在计算机中是近似存储,可能存在舍入误差。

 核心操作

Python
a = 11.5
print('除法运算 =', a/2)      # 5.75
print('整除运算 =', a//2)     # 向下取整,结果仍为浮点数:5.0
print('加法运算 =', a+2)      # 13.5
print('乘法运算 =', a*2)      # 23.0
print('类型 =', type(a))      # <class 'float'>

# 浮点数精度问题示例(新手必看)
print(0.1 + 0.2)  # 输出 0.30000000000000004,而非 0.3
# 解决方案:使用 round 函数
print(round(0.1 + 0.2, 1))  # 输出 0.3

3. 字符串(str

 定义:字符组成的不可变序列,用于表示文本,可用单引号/双引号/三引号定义。

 核心特性&操作

Python
a = '这是第一个字符串'
b = ' 这是第二个字符串'

# 拼接与重复
print('拼接:', a + b)       # 这是第一个字符串 这是第二个字符串
print('重复:', a * 2)       # 这是第一个字符串这是第一个字符串

# 索引与切片(下标从0开始,负索引表示倒序)
print('正索引:', a[0], a[1])  # 这 是
print('负索引:', a[-1], a[-2]) # 串 符

# 不可变性(新手易错点)
# a[0] = '那'  # 执行会报错:TypeError: 'str' object does not support item assignment

4. 布尔值(bool

 定义:只有 True(真)和 False(假)两个值,用于逻辑判断。

 核心场景:条件判断、过滤数据

Python
# 基础比较
print(1 > 2)   # False
print(2 > 1)   # True

# 结合列表推导式过滤数据(实用场景)
nums = [i for i in range(5)]       # [0,1,2,3,4]
flags = [True, False, True, False, True]
filtered = [i for i, flag in zip(nums, flags) if flag]
print('过滤结果:', filtered)      # [0,2,4]

5. 复数(complex

 定义:由实部和虚部组成(虚部以 j/J 结尾),用于科学计算、工程场景。

 核心操作

Python
a = 4 + 1j    # 实部4,虚部1
b = 4.1 + 1J   # 实部4.1,虚部1
print('加法:', a + b)  # (8.1+2j)
print('乘法:', a * b)  # (15.399999999999999+8.1j)
print('实部:', a.real) # 4.0
print('虚部:', a.imag) # 1.0

6. 字节(bytes

 定义Python3 新增的不可变字节序列,用于处理二进制数据(如文件、网络通信)。

 核心操作

Python
# 1. 创建方式
b1 = b'I love python'  # 直接定义
b2 = bytes("I love python", encoding='utf-8')  # 字符串转字节
b3 = bytes([11,22,33]) # 整数列表转字节

# 2. 编码/解码(字符串↔字节)
s = "Hello, 你好!"
b = s.encode('utf-8')   # 字符串→字节(编码)
print('编码后:', b)     # b'Hello, \xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x81'
print('解码后:', b.decode('utf-8')) # Hello, 你好!

# 3. 可变字节序列(bytearray)
ba = bytearray([1,2,3])
ba[0] = 42  # 可修改
print(ba)   # bytearray(b'*\x02\x03')

二、运算符(核心)

运算符是用于执行变量/值之间运算的符号,Python 核心运算符分为三类:算术运算符、比较运算符、逻辑运算符,同时需掌握运算符的优先级和结合性。

1. 算术运算符(数值运算)

用于整数、浮点数、复数的数学运算,核心如下:

运算符

名称

示例

说明

+

加法

3 + 5

两数相加,或字符串拼接

-

减法

7 - 2

两数相减

*

乘法

4 * 6

两数相乘,或字符串重复

/

除法

8 / 2

结果为浮点数

//

整除

9 // 2

向下取整(整数/浮点数)

%

取模(余数)

9 % 2

返回除法余数

**

幂运算

2 ** 3

23次方(2×2×2

示例代码

Python
a = 9
b = 2
print(f'加法:{a + b}')      # 11
print(f'减法:{a - b}')      # 7
print(f'乘法:{a * b}')      # 18
print(f'除法:{a / b}')      # 4.5
print(f'整除:{a // b}')     # 4
print(f'取模:{a % b}')      # 1
print(f'幂运算:{a ** b}')   # 81

2. 比较运算符(条件判断)

用于比较两个值的大小/相等关系,返回布尔值(True/False):

运算符

名称

示例

说明

==

等于

3 == 3

判断值是否相等(注意不是=

!=

不等于

3 != 5

判断值是否不相等

>

大于

5 > 3

左侧值大于右侧

<

小于

3 < 5

左侧值小于右侧

>=

大于等于

5 >= 5

左侧值大于或等于右侧

<=

小于等于

3 <= 5

左侧值小于或等于右侧

示例代码

Python
x = 10
y = 5
print(f'等于:{x == y}')     # False
print(f'不等于:{x != y}')   # True
print(f'大于:{x > y}')      # True
print(f'小于:{x < y}')      # False
print(f'大于等于:{x >= y}') # True
print(f'小于等于:{x <= y}') # False

# 字符串比较(按Unicode编码)
print('a' < 'b')  # True
print('Apple' < 'banana') # True(大写字母编码小于小写)

3. 逻辑运算符(多条件组合)

用于组合多个布尔值,返回最终的布尔结果:

运算符

名称

示例

说明

and

逻辑与

a and b

两者都为True时,结果才为True

or

逻辑或

a or b

任意一个为True时,结果为True

not

逻辑非

not a

取反(True→FalseFalse→True

示例代码

Python
a = True
b = False
print(f'逻辑与:{a and b}')  # False
print(f'逻辑或:{a or b}')   # True
print(f'逻辑非:{not a}')    # False

# 实用场景:多条件判断
age = 25
country = "中国"
if age >= 18 and country == "中国":
    print("成年中国公民")  # 执行该语句

score = 55
if score < 60 or score > 100:
    print("成绩无效")      # 执行该语句

if not (score >= 60):
    print("不及格")        # 执行该语句

4. 运算符优先级(新手必知)

当多个运算符同时出现时,按以下优先级执行(从高到低):

1. 幂运算 **

2. 算术运算符(*//////% > +/-

3. 比较运算符(==/!=/>/</>=/<=

4. 逻辑运算符(not > and > or

示例

Python
# 优先级:先乘除后加减,再比较,最后逻辑运算
print(3 + 5 * 2 > 10 and not 0)  # 步骤:5*2=10 → 3+10=13 → 13>10=True → not 0=True → True and True=True
# 用括号改变优先级
print((3 + 5) * 2 > 10)  # 8*2=16 >10 → True

三、容器类型

容器类型用于存储多个元素,核心包括列表、元组、字典、集合,各有不同适用场景:

1. 列表(list

 定义:有序、可变的元素集合,用 [] 定义,支持不同类型元素。

 核心操作

Python
# 1. 创建
my_list = [1, 2, 3, 'a', 'b']
# 嵌套列表(二维列表)
matrix = [[i for i in range(3)] for _ in range(3)]  # [[0,1,2],[0,1,2],[0,1,2]]

# 2. 访问与遍历
print('索引访问:', my_list[0], my_list[-1])  # 1 b
for item in my_list:
    print('遍历:', item)

# 3. 切片(list[start:stop:step])
nums = [0,1,2,3,4,5]
print('切片1:', nums[1:4])    # [1,2,3](不包含stop)
print('步长切片:', nums[::2]) # [0,2,4]
print('反转:', nums[::-1])    # [5,4,3,2,1,0]

# 4. 修改/删除
my_list.append(6)          # 末尾添加
my_list.remove('a')        # 删除指定值
del my_list[1]             # 删除指定索引
my_list.pop(2)             # 删除并返回指定索引元素
my_list.clear()            # 清空列表

# 5. 排序
lst = [3,1,4,1,5,9]
lst.sort()                 # 原地排序(修改原列表)
new_lst = sorted(lst)      # 生成新列表(原列表不变)

# 6. 列表推导式(简洁创建)
even_nums = [i for i in range(11) if i%2 == 0]  # [0,2,4,6,8,10]

2. 元组(tuple

 定义:有序、不可变的元素集合,用 () 或逗号定义,比列表更节省内存。

 核心操作

Python
# 1. 创建
t1 = 1,2,3          # 省略括号(常用)
t2 = (1,2,3)        # 标准写法
t3 = tuple(range(4))# 从可迭代对象创建

# 2. 访问(仅支持索引/切片,不可修改)
print(t2[0], t2[-1]) # 1 3
print(t2[1::2])      # (2,)

# 3. 不可变性(新手易错)
# t2[0] = 9  # 报错:TypeError: 'tuple' object does not support item assignment

# 4. 适用场景:函数返回多值、保护数据不被修改
def get_info():
    return 'Alice', 25  # 本质返回元组
name, age = get_info()  # 元组解包

3. 字典(dict

 定义:无序(Python3.7+ 保留插入顺序)、可变的键值对集合,用 {} 定义,键唯一且不可变(如字符串、数字)。

 核心操作

Python
# 1. 创建
d1 = {"name": "Alice", "age": 25}
d2 = dict(zip(['name','age'], ['Bob', 30]))  # 从可迭代对象创建
d3 = {k: k**2 for k in range(5)}            # 字典推导式
d4 = dict.fromkeys(['name','age'], '')      # 统一默认值

# 2. 增删改查
d1['city'] = 'New York'  # 添加键值对
d1['age'] = 26           # 修改值
print(d1.get('name'))    # 安全查询(不存在返回None)
print(d1.get('gender', '未知')) # 不存在返回默认值
del d1['city']           # 删除键值对

# 3. 遍历
for k, v in d1.items():
    print(f'键:{k},值:{v}')

4. 集合(set

 定义:无序、可变、无重复元素的集合,用 {} 定义(空集合必须用 set())。

 核心操作

Python
# 1. 创建
s1 = {1,2,3,3}  # 自动去重 → {1,2,3}
s2 = set()      # 空集合(不能用 {})
s3 = {x**2 for x in range(1,5)} # 集合推导式

# 2. 添加/删除
s1.add(4)       # 添加元素
s1.remove(2)    # 删除元素(不存在报错)
s1.discard(5)   # 删除元素(不存在不报错)

# 3. 集合运算(核心优势)
a = {1,2,3}
b = {3,4,5}
print('并集:', a | b)    # {1,2,3,4,5}
print('交集:', a & b)    # {3}
print('差集:', a - b)    # {1,2}
print('去重:', set([1,1,2,2])) # {1,2}

四、分支结构

通过 if/elif/else 实现条件判断,执行不同代码块,核心依赖比较运算符和逻辑运算符:

Python
# 1. 基础 if
age = 18
if age >= 18:
    print("成年")

# 2. if-else
age = 16
if age >= 18:
    print("成年")
else:
    print("未成年")

# 3. if-elif-else(多条件)
score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

# 4. 逻辑运算符组合条件
age = 25
country = "中国"
if age >= 18 and country == "中国":
    print("成年中国公民")

五、循环结构

重复执行代码块,核心有 for  while 两种:

1. for 循环(遍历可迭代对象)

Python
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 遍历数字范围
for i in range(1, 5):
    print(i)  # 1 2 3 4

# 循环控制:break(终止)、continue(跳过)
for i in range(1, 11):
    if i == 5:
        break  # 终止循环
    if i % 2 == 0:
        continue  # 跳过本次循环
    print(i)

2. while 循环(条件满足时执行)

Python
# 计算1-10的和
sum_num = 0
i = 1
while i <= 10:
    sum_num += i
    i += 1
print(sum_num)  # 55

# 避免死循环:确保条件最终为False
# while True:
#     print("死循环")
#     break  # 必须有终止条件

六、函数

函数是可复用的代码块,提升代码模块化和可读性:

1. 自定义函数

Python
# 基础定义
def add(a, b):
    """加法函数(文档字符串)"""
    result = a + b
    print(result)
    return result  # 返回值(无return则返回None)

# 调用
add(1, 2)  # 输出3,返回3

2. 参数传递

Python
# 1. 位置参数(按顺序)
def func1(a, b):
    print(a, b)
func1(1, 2)  # 1 2

# 2. 关键字参数(按名称)
func1(b=2, a=1)  # 1 2

# 3. 默认参数
def func2(a, b=10):
    print(a + b)
func2(5)  # 使用默认值 → 15

# 4. 可变参数
def func3(*args):  # *args 接收任意位置参数(元组)
    print(sum(args))
func3(1,2,3)  # 6

def func4(**kwargs): # **kwargs 接收任意关键字参数(字典)
    for k, v in kwargs.items():
        print(k, v)
func4(name="Alice", age=25)  # name Alice / age 25

3. 匿名函数(lambda

 定义:简洁的单行函数,无函数名,适用于简单操作。

Python
# 基础用法
double = lambda x: x * 2
print(double(5))  # 10

# 实用场景:列表排序
students = [("Alice", 25), ("Bob", 20), ("Charlie", 30)]
students.sort(key=lambda x: x[1])  # 按年龄排序
print(students)  # [("Bob", 20), ("Alice", 25), ("Charlie", 30)]

 

总结

1. 基础体系:基本数据类型处理单一数据,运算符实现数据运算(算术/比较/逻辑),容器类型存储多元素,三者构成Python数据处理的基础;

2. 流程控制:分支结构(if/elif/else)依赖比较/逻辑运算符实现条件判断,循环结构(for/while)实现代码重复执行,break/continue控制循环流程;

3. 函数封装:自定义函数提升代码复用性,支持位置/关键字/默认/可变参数,lambda匿名函数适用于简单临时操作;

4. 关键细节:需注意运算符优先级、浮点数精度问题、容器类型的可变/不可变性,这些是新手高频出错点。

这份文档覆盖了Python入门阶段的所有核心基础语法,你可以按章节逐行运行示例代码,结合注释理解每个知识点的用法和场景,建议重点练习运算符组合、列表推导式、函数参数传递这三个核心考点。