Python 3 教程

Python3 基础语法

Python 3 以其简洁、易读和强大的标准库而闻名。以下是 Python 3 基础语法的全面梳理,涵盖了日常开发中最常用的核心概念。


1. 注释与缩进

  • 注释:单行用 #,多行用三个单引号 ''' 或三个双引号 """
  • 缩进:Python 不使用大括号 {} 来划分代码块,而是严格使用缩进(通常推荐 4 个空格)。缩进错误会直接导致 IndentationError
纯文本
plaintext
# 这是一个单行注释

"""
这是一个多行注释
也可以用作多行字符串
"""

if True:
    print("缩进是 Python 的灵魂")  # 4个空格缩进

2. 变量与数据类型

Python 是动态类型语言,变量不需要声明类型,赋值时自动推断。

纯文本
plaintext
# 基本数据类型
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
纯文本
plaintext
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)

纯文本
plaintext
score = 85
if score >= 90:
    print("优秀")
elif score >= 60:
    print("及格")
else:
    print("不及格")

循环语句 (forwhile)

纯文本
plaintext
# 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, 3

5. 函数

使用 def 关键字定义函数。支持位置参数、默认参数、可变参数 (*args, **kwargs)。

纯文本
plaintext
# 基本函数
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))               # 输出: 25

6. 面向对象编程 (OOP)

使用 class 定义类,__init__ 是构造函数,self 代表实例本身。

纯文本
plaintext
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 捕获和处理错误,防止程序崩溃。

纯文本
plaintext
try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"发生错误: {e}")
except Exception as e:
    print(f"未知错误: {e}")
else:
    print("没有异常时执行")
finally:
    print("无论是否发生异常,都会执行 (常用于清理资源)")

8. 文件操作

推荐使用 with 语句(上下文管理器),它会在代码块执行完毕后自动关闭文件,即使发生异常也是如此。

纯文本
plaintext
# 写入文件
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 引入外部代码。

纯文本
plaintext
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 最佳实践提示:

  1. 类型提示 (Type Hints):Python 3.5+ 引入了类型提示,虽不强制检查,但能极大提高代码可读性和 IDE 支持。
纯文本
plaintext
   def add(a: int, b: int) -> int:
       return a + b
  1. f-string:Python 3.6+ 推荐使用 f"{}" 进行字符串格式化,比 %.format() 更简洁高效。
  2. 海象运算符 (:=):Python 3.8+ 引入,可在表达式内部为变量赋值。
纯文本
plaintext
   if (n := len("hello")) > 3:
       print(f"Length is {n}")

如果你有特定的方向想深入了解(如:列表推导式、装饰器、并发编程、或者某个具体的库),可以随时告诉我!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注