Python 语法基础
概要
Python 是一门强调可读性与开发效率的通用编程语言,常用于脚本自动化、Web 开发、数据分析与 AI 等场景。它是动态类型语言,写起来更灵活,但也更需要良好的命名、结构与测试来保证可维护性。
一、数据类型
Python 的常用内置类型可以按“数值 / 序列 / 映射 / 集合 / 布尔 / 二进制 / 特殊值”来理解。你不需要背完所有细节,先掌握每类的典型用途即可。
| 类型分类 | 常见类型 | 说明 |
|---|---|---|
| 数值 | int、float、complex | 整数 / 浮点 / 复数 |
| 序列 | list、tuple、range | 有序集合;list 可变、tuple 不可变 |
| 文本 | str | 字符串(Unicode 文本) |
| 映射 | dict | 键值对结构;键通常需要可哈希(不可变) |
| 集合 | set、frozenset | 不重复元素集合;frozenset 不可变 |
| 布尔 | bool | True / False |
| 二进制 | bytes、bytearray、memoryview | 二进制数据及其视图 |
| 特殊 | None(NoneType) | 表示“没有值/空值” |
python
x = 10
y = -42
pi = 3.14159
temp = -12.5
z = 3 + 4jpython
fruits = ["apple", "banana", "cherry"] # list
coordinates = (1, 2, 3) # tuple
r = range(5) # rangepython
greeting = "Hello, World!" # str
person = {"name": "Alice", "age": 30, "city": "New York"} # dict
unique_numbers = {1, 2, 3, 4, 5} # set
frozen = frozenset([1, 2, 3]) # frozensetpython
is_active = True
is_valid = False
b = b"hello" # bytes
ba = bytearray([65, 66, 67]) # bytearray
mv = memoryview(b"hello") # memoryview
x = None # NoneType二、声明变量与常量
Python 通过赋值来绑定变量名,不需要显式声明类型;“常量”通常用全大写命名来表达约定(语言层面不会强制禁止修改)。
python
x = 10 # int
y = 3.14 # float
name = "Alice" # str
is_active = True # boolpython
PI = 3.14159 # 常量:圆周率
MAX_USERS = 100 # 常量:最大用户数三、流程控制
流程控制用于决定代码执行顺序,常见结构包括条件分支、循环、循环控制语句,以及异常处理。
1. 条件语句(if / elif / else)
python
if condition:
# 如果 condition 为 True,执行这里的代码
elif another_condition:
# 如果另一条件为 True,执行这里的代码
else:
# 如果以上条件都不满足,执行这里的代码python
age = 18
if age < 18:
print("未成年")
elif age == 18:
print("刚成年")
else:
print("成年人")2. 循环语句(for / while)
python
for i in range(5): # 0, 1, 2, 3, 4
print(i)python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)python
count = 0
while count < 5:
print(count)
count += 13. 循环控制语句(break / continue / pass)
python
for i in range(5):
if i == 3:
break
print(i)python
for i in range(5):
if i == 3:
continue
print(i)python
if 3 > 2:
pass # 占位符4. 嵌套控制结构
python
age = 25
if age > 18:
if age < 30:
print("成年人且年龄在 18 到 30 之间")
else:
print("成年人但超过 30 岁")
else:
print("未成年")python
for i in range(3):
for j in range(2):
print(f"i = {i}, j = {j}")5. 条件表达式(三元表达式)
python
x if condition else ypython
age = 18
status = "成年人" if age >= 18 else "未成年"
print(status)6. 异常处理(try / except / else / finally)
python
try:
# 可能引发异常的代码
except ExceptionType as e:
# 异常处理代码
else:
# 如果没有异常发生,执行此块代码
finally:
# 无论是否发生异常,最终都会执行这块代码python
try:
x = 10 / 0
except ZeroDivisionError:
print("不能除以零")
else:
print("没有错误发生")
finally:
print("此代码总会执行")四、函数
函数用于复用逻辑与组织代码。Python 用 def 定义函数,参数支持位置参数、默认参数、可变参数(*args / **kwargs)与关键字参数;也支持 lambda 匿名函数。
1. 定义函数与返回值
python
def function_name(parameters):
# 函数体
return value # 可选返回值python
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
greet("Bob")python
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 82. 参数
2.1 位置参数
python
def subtract(a, b):
return a - b
print(subtract(10, 3)) # 72.2 默认参数
python
def greet2(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet2("Alice")
greet2("Bob", "Hi")2.3 可变数量的参数(*args / **kwargs)
python
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3)) # 6
print(sum_numbers(1, 2, 3, 4, 5)) # 15python
def greet_person(**kwargs):
print(f"Hello {kwargs['name']}! Your age is {kwargs['age']}.")
greet_person(name="Alice", age=30)2.4 关键字参数
python
def person_info(name, age):
print(f"Name: {name}, Age: {age}")
person_info(name="Alice", age=25)3. 匿名函数(lambda)
python
add2 = lambda x, y: x + y
print(add2(3, 5)) # 8
points = [(2, 3), (1, 1), (4, 5)]
points.sort(key=lambda x: x[1])
print(points) # [(1, 1), (2, 3), (4, 5)]4. 函数作用域(局部 / 全局)
python
x = 10 # 全局变量
def foo():
x = 5 # 局部变量
print(x)
foo() # 5
print(x) # 10python
x = 10
def modify_global():
global x
x = 20
modify_global()
print(x) # 205. 函数文档字符串(docstring)
python
def greet3(name):
"""
该函数接受一个名字作为参数,并打印问候语。
参数:
name: 字符串,表示被问候的人的名字
"""
print(f"Hello, {name}!")
help(greet3)6. 递归函数
python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # 120小结
📖 相关资源
- Python 官方文档 - Python 3 文档
- Python 教程 - 官方入门教程