Python 3 以其简洁、易读和强大的标准库而闻名。以下是 Python 3 基础语法的全面梳理,涵盖了日常开发中最常用的核心概念。
1. 注释与缩进
- 注释:单行用
#,多行用三个单引号'''或三个双引号"""。 - 缩进:Python 不使用大括号
{}来划分代码块,而是严格使用缩进(通常推荐 4 个空格)。缩进错误会直接导致IndentationError。
# 这是一个单行注释
"""
这是一个多行注释
也可以用作多行字符串
"""
if True:
print("缩进是 Python 的灵魂") # 4个空格缩进2. 变量与数据类型
Python 是动态类型语言,变量不需要声明类型,赋值时自动推断。
# 基本数据类型
name = "Alice" # 字符串 (str)
age = 25 # 整数 (int)
height = 1.75 # 浮点数 (float)
is_student = True # 布尔值 (bool, 注意首字母大写: True, False)
# 复合数据类型
my_list = [1, 2, 3] # 列表 (List),可变,有序
my_tuple = (1, 2, 3) # 元组 (Tuple),不可变,有序
my_dict = {"name": "Bob", "age": 30} # 字典 (Dictionary),键值对,无序(Python 3.7+ 保持插入顺序)
my_set = {1, 2, 3, 3} # 集合 (Set),无序,元素唯一 (结果为 {1, 2, 3})— is a good separator —
3. 运算符
- 算术运算符:
+,-,*,/(真除法,结果为float),//(整除),%(取模),**(幂) - 比较运算符:
==,!=,>,<,>=,<= - 逻辑运算符:
and,or,not(注意全是小写英文单词) - 成员运算符:
in,not in
x = 10
y = 3
print(x / y) # 3.3333333333333335
print(x // y) # 3
print(x ** y) # 1000
if x > 5 and y < 5:
print("条件成立")4. 控制流
条件语句 (if-elif-else)
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")循环语句 (for 和 while)
# for 循环 (通常用于遍历序列)
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 配合 range() 使用
for i in range(3): # 生成 0, 1, 2
print(i)
# while 循环
count = 0
while count < 3:
print(count)
count += 1
# 循环控制
for i in range(5):
if i == 2:
continue # 跳过本次循环
if i == 4:
break # 终止整个循环
print(i) # 输出 0, 1, 35. 函数
使用 def 关键字定义函数。支持位置参数、默认参数、可变参数 (*args, **kwargs)。
# 基本函数
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!" # f-string (Python 3.6+ 推荐的格式化方式)
print(greet("Alice")) # 输出: Hello, Alice!
print(greet("Bob", "Hi")) # 输出: Hi, Bob!
# 可变参数
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3, 4)) # 输出: 10
# 匿名函数 (Lambda)
square = lambda x: x ** 2
print(square(5)) # 输出: 256. 面向对象编程 (OOP)
使用 class 定义类,__init__ 是构造函数,self 代表实例本身。
class Dog:
# 类属性
species = "Canis familiaris"
# 实例初始化方法
def __init__(self, name, age):
self.name = name # 实例属性
self.age = age
# 实例方法
def bark(self):
return f"{self.name} says woof!"
# 实例化
my_dog = Dog("Buddy", 3)
print(my_dog.name) # 输出: Buddy
print(my_dog.bark()) # 输出: Buddy says woof!7. 异常处理
使用 try-except-finally 捕获和处理错误,防止程序崩溃。
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"发生错误: {e}")
except Exception as e:
print(f"未知错误: {e}")
else:
print("没有异常时执行")
finally:
print("无论是否发生异常,都会执行 (常用于清理资源)")8. 文件操作
推荐使用 with 语句(上下文管理器),它会在代码块执行完毕后自动关闭文件,即使发生异常也是如此。
# 写入文件
with open("test.txt", "w", encoding="utf-8") as f:
f.write("Hello, Python 3!\n")
# 读取文件
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)(模式说明: 'r' 读取, 'w' 写入(覆盖), 'a' 追加, 'b' 二进制模式)
9. 模块与包
Python 通过 import 引入外部代码。
import math
print(math.sqrt(16)) # 输出: 4.0
from datetime import datetime
print(datetime.now())
# 给模块起别名
import numpy as np # 常见于数据科学领域10. Python 3 常用内置函数速查
print(*objects, sep=' ', end='\n'): 打印输出len(s): 返回对象长度或元素个数type(object): 返回对象的类型range(start, stop, step): 生成整数序列enumerate(iterable): 同时获取索引和值 (例如:for i, val in enumerate(lst):)zip(*iterables): 将多个可迭代对象打包成元组str(),int(),float(),list(),dict(): 类型转换
💡 现代 Python 3 最佳实践提示:
- 类型提示 (Type Hints):Python 3.5+ 引入了类型提示,虽不强制检查,但能极大提高代码可读性和 IDE 支持。
def add(a: int, b: int) -> int:
return a + b- f-string:Python 3.6+ 推荐使用
f"{}"进行字符串格式化,比%和.format()更简洁高效。 - 海象运算符 (
:=):Python 3.8+ 引入,可在表达式内部为变量赋值。
if (n := len("hello")) > 3:
print(f"Length is {n}")如果你有特定的方向想深入了解(如:列表推导式、装饰器、并发编程、或者某个具体的库),可以随时告诉我!