Python作为一门优雅、易上手的编程语言,其语法简洁却不失强大。本文基于Python 3.12.0版本,系统梳理核心语法知识点,并搭配可直接运行的代码示例,帮助新手快速建立完整的语法体系。

一、基础语法规则

1.1 编码规范

Python 3默认使用UTF-8编码,无需在文件开头声明编码(如需兼容旧版本可保留# -*- coding: utf-8 -*-)。

1.2 缩进规则(核心)

Python通过缩进而非大括号划分代码块,这是最具特色的语法之一:

  • 推荐使用4个空格(而非Tab)作为缩进单位
  • 同一代码块必须保持相同缩进级别
  • 缩进错误会直接抛出IndentationError
# 正确缩进示例
if True:
    print("缩进正确")  # 缩进4个空格
    if False:
        print("嵌套缩进")  # 嵌套代码块再缩进4个空格
print("代码块结束")  # 回到顶级缩进

1.3 注释

# 单行注释(最常用)

"""
多行注释
适用于大段说明文字
也可作为文档字符串(docstring)
"""

'''
单引号多行注释
功能与双引号版本一致
'''

# 行内注释(慎用,保持代码可读性)
x = 10  # 定义变量x,赋值为10

1.4 语句结束

Python语句默认以换行结束,单行过长时可使用\换行:

# 单行语句
total = 1 + 2 + 3

# 多行拆分长语句
total = 1 + 2 + \
        3 + 4 + 5

# 括号内的语句可直接换行(无需\)
total = (1 + 2 +
         3 + 4 + 5)

二、变量与数据类型

2.1 变量定义

  • 变量名由字母、数字、下划线组成,不能以数字开头
  • 区分大小写(nameName是两个变量)
  • 不能使用Python关键字(如iffordef等)
# 合法变量名
user_name = "张三"
age = 25
_score = 95.5

# 非法变量名(会报错)
# 1age = 25  # 数字开头
# user-name = "李四"  # 包含减号
# if = 10  # 使用关键字

2.2 基本数据类型

类型

说明

示例

整数(int)

无小数部分的数字

num = 10num = -5

浮点数(float)

带小数的数字

pi = 3.14159

字符串(str)

文本内容

msg = "Hello Python"

布尔值(bool)

True/False

flag = True

空值(None)

表示无值

res = None

# 数据类型示例
a = 100          # int
b = 3.14         # float
c = "Python 3.12"# str
d = True         # bool
e = None         # NoneType

# 类型转换
print(int("123"))    # 123(字符串转整数)
print(float(10))     # 10.0(整数转浮点数)
print(str(3.14))     # "3.14"(浮点数转字符串)
print(bool(0))       # False(0转布尔值)

2.3 字符串进阶操作

# 字符串拼接
str1 = "Hello"
str2 = "World"
print(str1 + " " + str2)  # Hello World

# 格式化字符串(Python 3.6+推荐f-string)
name = "张三"
age = 25
print(f"姓名:{name},年龄:{age}")  # 姓名:张三,年龄:25

# 字符串切片
s = "Python3.12"
print(s[0:6])    # Python(索引0-5)
print(s[-3:])    # 12(最后3个字符)

# 常用方法
print("python".upper())   # PYTHON(转大写)
print("PYTHON".lower())   # python(转小写)
print("  test  ".strip()) # test(去除首尾空格)

三、运算符

3.1 算术运算符

a = 10
b = 3

print(a + b)  # 13(加法)
print(a - b)  # 7(减法)
print(a * b)  # 30(乘法)
print(a / b)  # 3.3333333333333335(除法)
print(a // b) # 3(整除)
print(a % b)  # 1(取模/余数)
print(a **b) # 1000(幂运算)

3.2 比较运算符

x = 5
y = 3

print(x > y)   # True
print(x < y)   # False
print(x == y)  # False(等于)
print(x != y)  # True(不等于)
print(x >= y)  # True
print(x <= y)  # False

3.3 逻辑运算符

# and/or/not
a = True
b = False

print(a and b) # False(与:全True才True)
print(a or b)  # True(或:有一个True就True)
print(not a)   # False(非:取反)

3.4 赋值运算符

x = 10
x += 5  # 等价于x = x + 5 → x=15
x -= 3  # 等价于x = x - 3 → x=12
x *= 2  # 等价于x = x * 2 → x=24
x /= 4  # 等价于x = x / 4 → x=6.0

四、流程控制

4.1 条件语句(if-elif-else)

# 基础示例
score = 85

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

# 三元表达式(简化版if-else)
age = 18
result = "成年" if age >= 18 else "未成年"
print(result)  # 成年

4.2 循环语句

4.2.1 for循环
# 遍历序列
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 数值循环(range)
# range(起始, 结束, 步长),左闭右开
for i in range(1, 6):
    print(i)  # 输出1-5

# 遍历字典
student = {"name": "李四", "age": 20, "score": 90}
for key, value in student.items():
    print(f"{key}: {value}")
4.2.2 while循环
# 基础示例
count = 0
while count < 5:
    print(f"计数:{count}")
    count += 1  # 避免死循环

# break/continue
i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
        continue  # 跳过偶数
    if i > 7:
        break     # 大于7终止循环
    print(i)  # 输出1,3,5,7

五、容器类型

5.1 列表(List)- 可变有序序列

# 创建列表
nums = [1, 2, 3, 4, 5]
mixed = [1, "Python", True, 3.14]

# 增删改查
nums.append(6)          # 尾部添加 → [1,2,3,4,5,6]
nums.insert(2, 10)      # 索引2插入10 → [1,2,10,3,4,5,6]
nums.remove(10)         # 删除值为10的元素
nums.pop()              # 删除最后一个元素 → 6
nums[0] = 100           # 修改索引0的值 → 100

# 常用操作
print(len(nums))        # 长度:5
print(sorted(nums))     # 排序:[2,3,4,5,100]
print(nums[::-1])       # 反转:[5,4,3,2,100]

5.2 元组(Tuple)- 不可变有序序列

# 创建元组(小括号可省略)
t1 = (1, 2, 3)
t2 = 4, 5, 6

# 访问元素(与列表相同)
print(t1[0])  # 1
print(t2[-1]) # 6

# 不可修改(以下代码会报错)
# t1[0] = 100

# 常用场景:函数返回多个值
def get_info():
    return "张三", 25, 90

name, age, score = get_info()
print(name, age, score)  # 张三 25 90

5.3 字典(Dict)- 键值对无序集合

# 创建字典
person = {
    "name": "王五",
    "age": 30,
    "city": "北京"
}

# 增删改查
person["gender"] = "男"  # 添加键值对
person["age"] = 31       # 修改值
del person["city"]       # 删除键值对
print(person.get("name"))# 获取值 → 王五
print(person.get("phone", "未知")) # 键不存在返回默认值 → 未知

# 遍历
for key in person.keys():
    print(key)  # 输出所有键

for value in person.values():
    print(value) # 输出所有值

5.4 集合(Set)- 无序不重复集合

# 创建集合
s1 = {1, 2, 3, 3, 4}  # 自动去重 → {1,2,3,4}
s2 = set([3, 4, 5, 6])

# 集合操作
print(s1 & s2)  # 交集 → {3,4}
print(s1 | s2)  # 并集 → {1,2,3,4,5,6}
print(s1 - s2)  # 差集 → {1,2}

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

六、函数

6.1 函数定义与调用

# 基础定义
def greet(name):
    """问候函数(文档字符串)"""
    return f"你好,{name}!"

# 调用函数
print(greet("赵六"))  # 你好,赵六!

# 默认参数
def add(a, b=0):
    return a + b

print(add(5))     # 5(使用默认值b=0)
print(add(5, 3))  # 8

# 可变参数
def sum_nums(*args):  # 可变位置参数(元组)
    total = 0
    for num in args:
        total += num
    return total

print(sum_nums(1,2,3))  # 6

def print_info(**kwargs):  # 可变关键字参数(字典)
    for k, v in kwargs.items():
        print(f"{k}: {v}")

print_info(name="孙七", age=28)

6.2 匿名函数(lambda)

# 简单函数的简化写法
add = lambda x, y: x + y
print(add(3, 5))  # 8

# 结合内置函数使用
nums = [1,2,3,4,5]
result = list(map(lambda x: x*2, nums))  # [2,4,6,8,10]
print(result)

七、类与对象(面向对象)

# 类的定义
class Person:
    # 初始化方法
    def __init__(self, name, age):
        self.name = name  # 实例属性
        self.age = age

    # 实例方法
    def introduce(self):
        return f"我叫{self.name},今年{self.age}岁"

    # 类方法
    @classmethod
    def create_adult(cls, name):
        return cls(name, 18)

# 创建对象
p1 = Person("周八", 22)
print(p1.introduce())  # 我叫周八,今年22岁

# 类方法创建对象
p2 = Person.create_adult("吴九")
print(p2.age)  # 18

# 继承
class Student(Person):
    def __init__(self, name, age, score):
        super().__init__(name, age)  # 调用父类初始化
        self.score = score

    def show_score(self):
        return f"{self.name}的分数是{self.score}"

s = Student("郑十", 19, 95)
print(s.show_score())  # 郑十的分数是95

八、异常处理

# 基础异常捕获
try:
    num = int(input("请输入一个数字:"))
    result = 10 / num
    print(f"计算结果:{result}")
except ValueError:
    print("输入的不是有效数字!")
except ZeroDivisionError:
    print("不能除以0!")
except Exception as e:
    print(f"发生未知错误:{e}")
else:
    print("计算成功!")  # 无异常时执行
finally:
    print("程序执行完毕")  # 始终执行

总结

  1. 核心基础:Python语法的核心是缩进规则、变量定义和数据类型,其中缩进是区分代码块的唯一方式,f-string是Python 3.6+最推荐的字符串格式化方式。
  2. 流程控制:条件语句(if-elif-else)和循环语句(for/while)是控制程序执行逻辑的核心,range()函数是for循环生成数值序列的常用工具。
  3. 核心结构:列表、元组、字典、集合是Python四大容器类型,分别适用于不同场景(列表可变有序、元组不可变有序、字典键值对、集合去重);函数和类则是代码复用和面向对象编程的基础。

掌握以上核心语法,即可编写大部分Python基础程序。建议结合实际场景多写多练,逐步将语法规则内化为编程思维。

更多推荐