【Python】语法入门

文章目录

目录如下:


打印和变量

数据类型

条件语句

循环

函数

类和对象

列表推导式

生成器

文件操作

错误和异常处理

迭代器

Lambda 表达式

模块和包

主要标准库


Python 基础语法:打印和变量

在 Python 中,print 函数用于输出信息,变量用于存储数据。这是编程中的基本操作,适用于所有需要输出结果或存储临时数据的场景。

打印和变量的基本语法

打印

使用 print 函数可以输出文本或变量的值:

python 复制代码
print("Hello, World!")

输出:

Hello, World!

变量

变量用于存储数据,可以是各种数据类型,如整数、浮点数、字符串等:

python 复制代码
# 整数
a = 10

# 浮点数
b = 20.5

# 字符串
name = "Blossom"

你可以使用 print 函数输出变量的值:

python 复制代码
print(a)  # 输出: 10
print(b)  # 输出: 20.5
print(name)  # 输出: Blossom

变量操作

你可以对变量进行各种操作,如赋值、运算等:

python 复制代码
# 赋值
c = a + b

# 输出运算结果
print(c)  # 输出: 30.5

变量的命名规则

变量名必须以字母或下划线开头,后续字符可以是字母、数字或下划线。变量名区分大小写:

python 复制代码
age = 25
Age = 30

print(age)  # 输出: 25
print(Age)  # 输出: 30

打印和变量的应用场景

打印和变量是编程的基本操作,适用于以下场景:

  1. 调试代码 :使用 print 输出变量值,帮助调试和理解代码执行过程。
  2. 与用户交互 :在命令行程序中,print 函数用于显示提示和结果。
  3. 数据存储和处理:变量用于存储临时数据和中间计算结果。

示例:基本计算器

以下是一个简单的计算器示例,展示如何使用变量存储用户输入并输出计算结果:

python 复制代码
# 获取用户输入
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))

# 进行加法运算
result = num1 + num2

# 输出结果
print(f"The result of adding {num1} and {num2} is {result}")

在这个示例中,用户输入的两个数字被存储在变量 num1num2 中,然后计算结果存储在变量 result 中并输出。


Python 基础语法:列表推导式

列表推导式是 Python 中一种简洁且优雅的创建列表的方式。通过列表推导式,你可以在一行代码中生成新的列表,并且这种方式通常比使用传统的 for 循环更加高效。

列表推导式的基本语法

列表推导式的基本语法如下:

python 复制代码
[expression for item in iterable if condition]
  • expression 是你想要对每个元素执行的操作。
  • item 是从 iterable 中迭代出来的元素。
  • condition 是一个可选的过滤条件,只有满足条件的元素才会被包含在新列表中。

基本示例

让我们从一个简单的例子开始,创建一个包含 0 到 9 的平方数的列表:

python 复制代码
squares = [x ** 2 for x in range(10)]
print(squares)

输出:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在这个例子中,x ** 2 是表达式,x 是从 range(10) 迭代出来的元素。

带条件的列表推导式

你可以在列表推导式中加入条件,只包含满足条件的元素。例如,创建一个仅包含偶数平方数的列表:

python 复制代码
even_squares = [x ** 2 for x in range(10) if x % 2 == 0]
print(even_squares)

输出:

[0, 4, 16, 36, 64]

在这个例子中,只有当 x 是偶数时,x ** 2 才会被包含在新列表中。

列表推导式的应用场景

列表推导式在许多场景中都非常有用,以下是一些常见的应用:

  1. 数据处理和转换:可以用来对列表中的每个元素进行转换或计算。

    python 复制代码
    temperatures_celsius = [0, 10, 20, 30]
    temperatures_fahrenheit = [((9/5) * temp + 32) for temp in temperatures_celsius]
    print(temperatures_fahrenheit)  # [32.0, 50.0, 68.0, 86.0]
  2. 过滤数据:可以用来从列表中筛选出符合条件的元素。

    python 复制代码
    numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    even_numbers = [num for num in numbers if num % 2 == 0]
    print(even_numbers)  # [2, 4, 6, 8, 10]
  3. 嵌套列表的扁平化:可以用来将嵌套的列表扁平化为一维列表。

    python 复制代码
    nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    flat_list = [num for sublist in nested_list for num in sublist]
    print(flat_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

列表推导式是一个强大且灵活的工具,掌握它将极大提升你的 Python 编程效率。



Python 基础语法:数据类型

Python 支持多种数据类型,包括整数、浮点数、字符串、列表、元组、字典和集合。选择合适的数据类型有助于更高效地处理数据。

数据类型的基本介绍

整数和浮点数

整数和浮点数用于表示数值数据:

python 复制代码
# 整数
x = 5

# 浮点数
y = 2.5

print(x)  # 输出: 5
print(y)  # 输出: 2.5

字符串

字符串用于表示文本数据,可以用单引号或双引号定义:

python 复制代码
# 字符串
name = "Blossom"

print(name)  # 输出: Blossom

字符串还支持多行字符串,使用三重引号定义:

python 复制代码
# 多行字符串
multiline_string = """This is
a multi-line
string"""

print(multiline_string)

列表

列表是有序的可变序列,用于存储多个元素:

python 复制代码
# 列表
my_list = [1, 2, 3, 4]

print(my_list)  # 输出: [1, 2, 3, 4]

元组

元组是有序的不可变序列,用于存储多个元素:

python 复制代码
# 元组
my_tuple = (1, 2, 3, 4)

print(my_tuple)  # 输出: (1, 2, 3, 4)

字典

字典是无序的键值对集合,用于存储具有映射关系的数据:

python 复制代码
# 字典
my_dict = {"name": "Blossom", "age": 30}

print(my_dict)  # 输出: {'name': 'Blossom', 'age': 30}

集合

集合是无序的不重复元素集合:

python 复制代码
# 集合
my_set = {1, 2, 3, 4}

print(my_set)  # 输出: {1, 2, 3, 4}

数据类型的应用场景

不同的数据类型适用于不同的场景,以下是一些常见的应用:

  1. 整数和浮点数:用于数学计算和数值处理。

    python 复制代码
    radius = 5.0
    area = 3.14 * (radius ** 2)
    print(area)  # 输出: 78.5
  2. 字符串:用于存储和处理文本数据。

    python 复制代码
    first_name = "John"
    last_name = "Doe"
    full_name = first_name + " " + last_name
    print(full_name)  # 输出: John Doe
  3. 列表:用于存储和操作有序的元素集合。

    python 复制代码
    fruits = ["apple", "banana", "cherry"]
    fruits.append("orange")
    print(fruits)  # 输出: ['apple', 'banana', 'cherry', 'orange']
  4. 元组:用于存储不可变的元素集合。

    python 复制代码
    coordinates = (10.0, 20.0)
    print(coordinates)  # 输出: (10.0, 20.0)
  5. 字典:用于存储具有映射关系的数据。

    python 复制代码
    person = {"name": "Alice", "age": 25}
    print(person["name"])  # 输出: Alice
  6. 集合:用于存储不重复的元素集合。

    python 复制代码
    unique_numbers = {1, 2, 3, 4, 4, 5}
    print(unique_numbers)  # 输出: {1, 2, 3, 4, 5}

掌握这些数据类型将帮助你更高效地编写 Python 程序,并使你的代码更具可读性和可维护性。



Python 基础语法:条件语句

条件语句用于根据条件执行不同的代码块。这在需要根据条件做出决策的场景中非常有用,例如用户输入验证和业务逻辑处理。

条件语句的基本语法

if 语句

python 复制代码
if condition:
    # 当 condition 为 True 时执行的代码块
    pass

if-else 语句

python 复制代码
if condition:
    # 当 condition 为 True 时执行的代码块
    pass
else:
    # 当 condition 为 False 时执行的代码块
    pass

if-elif-else 语句

python 复制代码
if condition1:
    # 当 condition1 为 True 时执行的代码块
    pass
elif condition2:
    # 当 condition1 为 False 且 condition2 为 True 时执行的代码块
    pass
else:
    # 当 condition1 和 condition2 都为 False 时执行的代码块
    pass

基本示例

让我们从一个简单的例子开始,根据变量的值打印不同的信息:

python 复制代码
x = 10
y = 20

if x > y:
    print("x is greater than y")
elif x < y:
    print("x is less than y")
else:
    print("x is equal to y")

输出:

x is less than y

在这个例子中,条件语句检查 xy 的值,并根据条件执行不同的代码块。

条件语句的应用场景

条件语句在许多场景中都非常有用,以下是一些常见的应用:

  1. 用户输入验证:检查用户输入的值是否符合预期。

    python 复制代码
    age = int(input("Enter your age: "))
    
    if age < 0:
        print("Age cannot be negative")
    elif age < 18:
        print("You are a minor")
    else:
        print("You are an adult")
  2. 业务逻辑处理:根据不同的条件执行不同的业务逻辑。

    python 复制代码
    score = 85
    
    if score >= 90:
        grade = "A"
    elif score >= 80:
        grade = "B"
    elif score >= 70:
        grade = "C"
    elif score >= 60:
        grade = "D"
    else:
        grade = "F"
    
    print(f"Your grade is {grade}")
  3. 流程控制:控制程序的执行流程,决定是否继续执行某些操作。

    python 复制代码
    is_member = True
    
    if is_member:
        print("Access granted")
    else:
        print("Access denied")

掌握条件语句将帮助你编写更智能和更灵活的 Python 程序,使你的代码能够根据不同的情况做出相应的反应。



Python 基础语法:循环

循环用于重复执行一段代码,直到满足特定条件。循环广泛应用于遍历数据结构、重复计算任务和自动化处理。

循环的基本语法

for 循环

python 复制代码
for item in iterable:
    # 对 iterable 中的每个 item 执行的代码块
    pass

while 循环

python 复制代码
while condition:
    # 当 condition 为 True 时重复执行的代码块
    pass

基本示例

for 循环示例

让我们从一个简单的例子开始,使用 for 循环遍历一个列表并打印每个元素:

python 复制代码
fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

在这个例子中,for 循环遍历列表 fruits 并打印每个水果。

while 循环示例

以下是一个使用 while 循环打印从 0 到 4 的例子:

python 复制代码
count = 0

while count < 5:
    print(count)
    count += 1

输出:

0
1
2
3
4

在这个例子中,while 循环在 count 小于 5 时重复执行,打印当前的 count 值并将 count 增加 1。

循环的应用场景

循环在许多场景中都非常有用,以下是一些常见的应用:

  1. 遍历数据结构:循环用于遍历列表、元组、字典等数据结构。

    python 复制代码
    names = ["Alice", "Bob", "Charlie"]
    
    for name in names:
        print(f"Hello, {name}!")
  2. 重复计算任务:循环用于重复执行某个计算任务。

    python 复制代码
    total = 0
    
    for i in range(1, 11):
        total += i
    
    print(f"The sum of numbers from 1 to 10 is {total}")
  3. 自动化处理:循环用于自动化处理多项任务,例如批量处理文件。

    python 复制代码
    files = ["file1.txt", "file2.txt", "file3.txt"]
    
    for file in files:
        with open(file, "r") as f:
            content = f.read()
            print(content)

掌握循环将帮助你编写更高效和灵活的 Python 程序,使你的代码能够自动化执行重复性任务。



Python 基础语法:函数

函数用于封装一段代码,可以多次调用,减少代码重复。函数使代码更具可读性和可维护性。

函数的基本语法

python 复制代码
def function_name(parameters):
    # 函数体
    return result
  • def 关键字用于定义函数。
  • function_name 是函数的名称。
  • parameters 是函数的参数,可以有多个,用逗号分隔。
  • return 关键字用于返回结果。

基本示例

让我们从一个简单的例子开始,定义一个函数并调用它:

python 复制代码
def greet(name):
    return f"Hello, {name}!"

print(greet("Blossom"))  # 输出: Hello, Blossom!

在这个例子中,greet 函数接受一个参数 name,返回一个问候字符串。

带多个参数的函数

你可以定义带有多个参数的函数:

python 复制代码
def add(a, b):
    return a + b

print(add(3, 5))  # 输出: 8

在这个例子中,add 函数接受两个参数 ab,返回它们的和。

默认参数

函数参数可以有默认值,如果调用函数时未提供该参数,则使用默认值:

python 复制代码
def greet(name, message="Hello"):
    return f"{message}, {name}!"

print(greet("Blossom"))  # 输出: Hello, Blossom!
print(greet("Blossom", "Hi"))  # 输出: Hi, Blossom!

在这个例子中,message 参数有一个默认值 "Hello"

函数的应用场景

函数在许多场景中都非常有用,以下是一些常见的应用:

  1. 代码重用:函数使代码可以重复使用,避免代码重复。

    python 复制代码
    def square(x):
        return x ** 2
    
    print(square(2))  # 输出: 4
    print(square(3))  # 输出: 9
  2. 提高可读性:函数使代码更具结构性和可读性。

    python 复制代码
    def is_even(number):
        return number % 2 == 0
    
    print(is_even(4))  # 输出: True
    print(is_even(5))  # 输出: False
  3. 分解问题:函数使你可以将复杂的问题分解为多个小问题,每个小问题对应一个函数。

    python 复制代码
    def calculate_area(radius):
        return 3.14 * (radius ** 2)
    
    def calculate_circumference(radius):
        return 2 * 3.14 * radius
    
    radius = 5
    print(f"Area: {calculate_area(radius)}")  # 输出: Area: 78.5
    print(f"Circumference: {calculate_circumference(radius)}")  # 输出: Circumference: 31.400000000000002

掌握函数将帮助你编写更简洁和高效的 Python 程序,使你的代码更具可维护性。



Python 基础语法:类和对象

类是面向对象编程的核心,用于定义对象的属性和行为。对象是类的实例,类和对象使

程序具有更高的可重用性和可维护性。

类和对象的基本语法

定义类

python 复制代码
class ClassName:
    def __init__(self, parameters):
        # 初始化属性
        self.attribute = value

    def method(self):
        # 方法体
        pass

创建对象

python 复制代码
# 创建类的实例
object_name = ClassName(arguments)

基本示例

让我们从一个简单的例子开始,定义一个类并创建它的对象:

python 复制代码
class Dog:
    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.bark())  # 输出: Buddy says woof!

在这个例子中,Dog 类有一个初始化方法 __init__,用于设置 nameage 属性,并有一个方法 bark,返回狗叫的声音。

访问对象的属性和方法

python 复制代码
# 访问属性
print(my_dog.name)  # 输出: Buddy
print(my_dog.age)   # 输出: 3

# 调用方法
print(my_dog.bark())  # 输出: Buddy says woof!

类和对象的应用场景

类和对象在许多场景中都非常有用,以下是一些常见的应用:

  1. 模拟现实世界实体:类和对象用于模拟现实世界中的实体及其行为。

    python 复制代码
    class Car:
        def __init__(self, make, model, year):
            self.make = make
            self.model = model
            self.year = year
    
        def description(self):
            return f"{self.year} {self.make} {self.model}"
    
    my_car = Car("Toyota", "Corolla", 2020)
    print(my_car.description())  # 输出: 2020 Toyota Corolla
  2. 封装数据和行为:类和对象用于封装数据和相关的行为,提高代码的可维护性和可扩展性。

    python 复制代码
    class BankAccount:
        def __init__(self, owner, balance=0):
            self.owner = owner
            self.balance = balance
    
        def deposit(self, amount):
            self.balance += amount
            return self.balance
    
        def withdraw(self, amount):
            if amount <= self.balance:
                self.balance -= amount
                return self.balance
            else:
                return "Insufficient funds"
    
    account = BankAccount("Alice", 100)
    print(account.deposit(50))  # 输出: 150
    print(account.withdraw(30))  # 输出: 120
    print(account.withdraw(200))  # 输出: Insufficient funds
  3. 实现代码重用:类和对象用于实现代码重用,通过继承和多态实现复杂的功能。

    python 复制代码
    class Animal:
        def __init__(self, name):
            self.name = name
    
        def speak(self):
            raise NotImplementedError("Subclass must implement abstract method")
    
    class Dog(Animal):
        def speak(self):
            return f"{self.name} says woof!"
    
    class Cat(Animal):
        def speak(self):
            return f"{self.name} says meow!"
    
    my_dog = Dog("Buddy")
    my_cat = Cat("Kitty")
    print(my_dog.speak())  # 输出: Buddy says woof!
    print(my_cat.speak())  # 输出: Kitty says meow!

掌握类和对象将帮助你编写更具结构性和可维护性的 Python 程序,使你的代码能够更好地模拟现实世界的问题和解决方案。



Python 基础语法:列表推导式

列表推导式是 Python 中一种简洁且优雅的创建列表的方式。通过列表推导式,你可以在一行代码中生成新的列表,并且这种方式通常比使用传统的 for 循环更加高效。

列表推导式的基本语法

python 复制代码
[expression for item in iterable if condition]
  • expression 是你想要对每个元素执行的操作。
  • item 是从 iterable 中迭代出来的元素。
  • condition 是一个可选的过滤条件,只有满足条件的元素才会被包含在新列表中。

基本示例

让我们从一个简单的例子开始,创建一个包含 0 到 9 的平方数的列表:

python 复制代码
squares = [x ** 2 for x in range(10)]
print(squares)

输出:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在这个例子中,x ** 2 是表达式,x 是从 range(10) 迭代出来的元素。

带条件的列表推导式

你可以在列表推导式中加入条件,只包含满足条件的元素。例如,创建一个仅包含偶数平方数的列表:

python 复制代码
even_squares = [x ** 2 for x in range(10) if x % 2 == 0]
print(even_squares)

输出:

[0, 4, 16, 36, 64]

在这个例子中,只有当 x 是偶数时,x ** 2 才会被包含在新列表中。

列表推导式的应用场景

列表推导式在许多场景中都非常有用,以下是一些常见的应用:

  1. 数据处理和转换:可以用来对列表中的每个元素进行转换或计算。

    python 复制代码
    temperatures_celsius = [0, 10, 20, 30]
    temperatures_fahrenheit = [((9/5) * temp + 32) for temp in temperatures_celsius]
    print(temperatures_fahrenheit)  # [32.0, 50.0, 68.0, 86.0]
  2. 过滤数据:可以用来从列表中筛选出符合条件的元素。

    python 复制代码
    numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    even_numbers = [num for num in numbers if num % 2 == 0]
    print(even_numbers)  # [2, 4, 6, 8, 10]
  3. 嵌套列表的扁平化:可以用来将嵌套的列表扁平化为一维列表。

    python 复制代码
    nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    flat_list = [num for sublist in nested_list for num in sublist]
    print(flat_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

列表推导式是一个强大且灵活的工具,掌握它将极大提升你的 Python 编程效率。



Python 基础语法:生成器

生成器(Generator)是一种特殊的迭代器,用于逐个产生(或"生成")值,而不是一次性地生成所有值。生成器在处理大量数据或需要延迟计算时特别有用。

生成器的基本语法

生成器使用 yield 关键字逐个返回值,而不是使用 return 一次性返回。

python 复制代码
def generator_function():
    yield value

基本示例

让我们从一个简单的例子开始,定义一个生成器并使用它:

python 复制代码
def count_up_to(max):
    count = 1
    while count <= max:
        yield count
        count += 1

# 使用生成器
counter = count_up_to(5)
for num in counter:
    print(num)  # 输出: 1 2 3 4 5

在这个例子中,count_up_to 生成器按需生成从 1 到 max 的数字。每次 yield 返回一个值后,生成器暂停并保留其状态,直到下次调用。

生成器的应用场景

生成器在许多场景中都非常有用,以下是一些常见的应用:

  1. 处理大数据集:生成器按需生成值,避免一次性占用大量内存。

    python 复制代码
    def read_large_file(file_path):
        with open(file_path, 'r') as file:
            for line in file:
                yield line.strip()
    
    # 使用生成器逐行读取大文件
    for line in read_large_file('large_file.txt'):
        print(line)
  2. 延迟计算:生成器在需要时生成值,可以提高

程序的性能。

python 复制代码
def fibonacci(n):
    a, b = 0, 1
    while n > 0:
        yield a
        a, b = b, a + b
        n -= 1

# 使用生成器生成前10个斐波那契数
for num in fibonacci(10):
    print(num)  # 输出前10个斐波那契数
  1. 生成无限序列:生成器可以用于生成无限序列,直到满足特定条件。

    python 复制代码
    def infinite_sequence():
        num = 0
        while True:
            yield num
            num += 1
    
    # 使用生成器生成无限序列
    for num in infinite_sequence():
        if num > 10:
            break
        print(num)  # 输出: 0 1 2 3 4 5 6 7 8 9 10

掌握生成器将帮助你编写更高效和灵活的 Python 程序,特别是在处理大数据集或需要延迟计算的场景中。



Python 基础语法:文件操作

文件操作是编程中常见的任务,Python 提供了一组函数来读写文件。文件操作在数据处理和存储中非常常用。

文件操作的基本语法

打开文件

使用 open 函数打开文件:

python 复制代码
file = open("filename.txt", "mode")
  • filename.txt 是文件名。
  • mode 是文件打开模式,如读取('r')、写入('w')、追加('a')等。

读写文件

python 复制代码
# 读取文件
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# 写入文件
with open("example.txt", "w") as file:
    file.write("Hello, World!")

基本示例

读取文件

以下是一个读取文件内容并打印的例子:

python 复制代码
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

写入文件

以下是一个将文本写入文件的例子:

python 复制代码
with open("example.txt", "w") as file:
    file.write("Hello, World!")

逐行读取文件

以下是一个逐行读取文件内容的例子:

python 复制代码
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

文件操作的应用场景

文件操作在许多场景中都非常有用,以下是一些常见的应用:

  1. 日志记录:将程序运行的日志写入文件,便于后续分析和调试。

    python 复制代码
    def log_message(message):
        with open("log.txt", "a") as file:
            file.write(message + "\n")
    
    log_message("Program started")
    log_message("An error occurred")
  2. 数据存储和读取:将数据存储到文件中,以便后续读取和处理。

    python 复制代码
    data = ["line 1", "line 2", "line 3"]
    
    # 写入数据
    with open("data.txt", "w") as file:
        for line in data:
            file.write(line + "\n")
    
    # 读取数据
    with open("data.txt", "r") as file:
        content = file.read()
        print(content)
  3. 配置文件:读取和写入配置文件,动态配置程序参数。

    python 复制代码
    # 写入配置
    with open("config.txt", "w") as file:
        file.write("username=admin\n")
        file.write("password=secret\n")
    
    # 读取配置
    config = {}
    with open("config.txt", "r") as file:
        for line in file:
            key, value = line.strip().split("=")
            config[key] = value
    
    print(config)  # 输出: {'username': 'admin', 'password': 'secret'}

掌握文件操作将帮助你处理数据的读写任务,使你的程序能够持久化数据并与外部文件进行交互。



Python 基础语法:错误和异常处理

错误和异常处理用于捕获和处理程序中的错误,确保程序在发生错误时不会崩溃。异常处理使你的代码更具鲁棒性和可靠性。

错误和异常处理的基本语法

try-except 语句

python 复制代码
try:
    # 可能引发异常的代码
    pass
except SomeException as e:
    # 处理异常的代码
    pass

try-except-finally 语句

python 复制代码
try:
    # 可能引发异常的代码
    pass
except SomeException as e:
    # 处理异常的代码
    pass
finally:
    # 始终执行的代码
    pass

基本示例

捕获异常

以下是一个捕获除零错误的例子:

python 复制代码
try:
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")

输出:

You can't divide by zero!

捕获多个异常

你可以捕获多个异常,并对每种异常进行不同的处理:

python 复制代码
try:
    value = int("abc")
except ValueError:
    print("ValueError: Could not convert string to int")
except TypeError:
    print("TypeError: Unsupported operation")

输出:

ValueError: Could not convert string to int

finally 子句

finally 子句中的代码始终会执行,无论是否发生异常:

python 复制代码
try:
    file = open("example.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("File not found")
finally:
    file.close()
    print("File closed")

异常处理的应用场景

异常处理在许多场景中都非常有用,以下是一些常见的应用:

  1. 用户输入验证:捕获和处理用户输入的错误。

    python 复制代码
    while True:
        try:
            age = int(input("Enter your age: "))
            break
        except ValueError:
            print("Invalid input. Please enter a number.")
    print(f"Your age is {age}")
  2. 文件操作:捕获和处理文件读写中的错误。

    python 复制代码
    try:
        with open("data.txt", "r") as file:
            content = file.read()
            print(content)
    except FileNotFoundError:
        print("File not found")
  3. 网络请求:捕获和处理网络请求中的错误。

    python 复制代码
    import requests
    
    try:
        response = requests.get("https://api.example.com/data")
        data = response.json()
    except requests.ConnectionError:
        print("Failed to connect to the server")
    except requests.Timeout:
        print("The request timed out")
    except requests.RequestException as e:
        print(f"An error occurred: {e}")

掌握错误和异常处理将帮助你编写更健壮和可靠的 Python 程序,使你的代码能够在发生错误时优雅地处理并继续运行。



Python 基础语法:迭代器

迭代器(Iterator)是一个对象,它包含一个 countable 的元素序列,可以遍历其中的元素。迭代器在处理序列数据时非常有用。

迭代器的基本语法

创建迭代器

使用 iter() 函数可以将一个可迭代对象转换为迭代器:

python 复制代码
iterable = [1, 2, 3, 4]
iterator = iter(iterable)

使用迭代器

使用 next() 函数可以获取迭代器的下一个元素:

python 复制代码
print(next(iterator))  # 输出: 1
print(next(iterator))  # 输出: 2
print(next(iterator))  # 输出: 3
print(next(iterator))  # 输出: 4

当迭代器没有更多元素时,next() 函数会引发 StopIteration 异常。

基本示例

简单的迭代器示例

以下是一个使用迭代器遍历列表的例子:

python 复制代码
my_list = [1, 2, 3, 4]
my_iterator = iter(my_list)

for item in my_iterator:
    print(item)

输出:

1
2
3
4

自定义迭代器

你可以通过实现 __iter__()__next__() 方法来自定义迭代器:

python 复制代码
class MyIterator:
    def __init__(self, start, end):
        self.current =



 start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current >= self.end:
            raise StopIteration
        else:
            self.current += 1
            return self.current - 1

# 使用自定义迭代器
for num in MyIterator(1, 5):
    print(num)

输出:

1
2
3
4

迭代器的应用场景

迭代器在许多场景中都非常有用,以下是一些常见的应用:

  1. 遍历大型数据集:迭代器按需生成元素,避免一次性加载所有数据。

    python 复制代码
    def read_large_file(file_path):
        with open(file_path, 'r') as file:
            for line in file:
                yield line.strip()
    
    # 使用生成器逐行读取大文件
    for line in read_large_file('large_file.txt'):
        print(line)
  2. 自定义序列生成:通过自定义迭代器,可以生成复杂的序列。

    python 复制代码
    class FibonacciIterator:
        def __init__(self, max):
            self.max = max
            self.a, self.b = 0, 1
    
        def __iter__(self):
            return self
    
        def __next__(self):
            if self.a > self.max:
                raise StopIteration
            current = self.a
            self.a, self.b = self.b, self.a + self.b
            return current
    
    # 使用自定义迭代器生成斐波那契数列
    for num in FibonacciIterator(100):
        print(num)
  3. 延迟计算:迭代器在需要时生成值,提高程序的性能和内存利用率。

    python 复制代码
    def infinite_sequence():
        num = 0
        while True:
            yield num
            num += 1
    
    # 使用生成器生成无限序列
    for num in infinite_sequence():
        if num > 10:
            break
        print(num)  # 输出: 0 1 2 3 4 5 6 7 8 9 10

掌握迭代器将帮助你编写更高效和灵活的 Python 程序,使你的代码能够优雅地处理大型数据集和复杂的序列生成。



Python 基础语法:Lambda 表达式

Lambda 表达式是一种简洁的定义小型匿名函数的方法。Lambda 表达式通常用于需要一个简单函数的场景,如排序或过滤数据。

Lambda 表达式的基本语法

python 复制代码
lambda parameters: expression
  • parameters 是函数的参数,可以有多个,用逗号分隔。
  • expression 是函数的返回值,通常是一个简单的计算或操作。

基本示例

让我们从一个简单的例子开始,定义一个 Lambda 表达式并调用它:

python 复制代码
add = lambda x, y: x + y
print(add(3, 5))  # 输出: 8

在这个例子中,lambda x, y: x + y 定义了一个接受两个参数并返回它们和的匿名函数。

在内置函数中使用 Lambda 表达式

Lambda 表达式常用于内置函数中,如 sortedmapfilter

排序

使用 sorted 函数和 Lambda 表达式对列表进行排序:

python 复制代码
my_list = [(1, 2), (3, 4), (5, 0)]
sorted_list = sorted(my_list, key=lambda x: x[1])
print(sorted_list)  # 输出: [(5, 0), (1, 2), (3, 4)]

映射

使用 map 函数和 Lambda 表达式对列表中的每个元素进行操作:

python 复制代码
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]

过滤

使用 filter 函数和 Lambda 表达式过滤列表中的元素:

python 复制代码
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出: [2, 4, 6, 8, 10]

Lambda 表达式的应用场景

Lambda 表达式在许多场景中都非常有用,以下是一些常见的应用:

  1. 简化代码:Lambda 表达式用于定义简单的匿名函数,简化代码结构。

    python 复制代码
    multiply = lambda x, y: x * y
    print(multiply(2, 3))  # 输出: 6
  2. 排序和过滤:Lambda 表达式常用于排序和过滤数据,使代码更简洁。

    python 复制代码
    students = [
        {"name": "Alice", "score": 85},
        {"name": "Bob", "score": 92},
        {"name": "Charlie", "score": 78}
    ]
    
    # 按分数排序
    sorted_students = sorted(students, key=lambda student: student["score"])
    print(sorted_students)
  3. 回调函数:Lambda 表达式常用于回调函数中,使代码更紧凑。

    python 复制代码
    def apply_function(func, value):
        return func(value)
    
    result = apply_function(lambda x: x ** 2, 5)
    print(result)  # 输出: 25

掌握 Lambda 表达式将帮助你编写更简洁和高效的 Python 代码,使你的代码更具可读性和可维护性。



Python 基础语法:模块和包

模块和包是组织和管理代码的基本单元。模块是包含 Python 代码的文件,包是包含多个模块的文件夹。通过模块和包,你可以将代码分割成更小、更易管理的部分,提高代码的重用性和可维护性。

模块的基本语法

导入模块

使用 import 关键字可以导入模块:

python 复制代码
import math

print(math.sqrt(16))  # 输出: 4.0

导入特定函数或变量

使用 from ... import ... 语法可以从模块中导入特定的函数或变量:

python 复制代码
from math import pi

print(pi)  # 输出: 3.141592653589793

给模块或函数取别名

使用 as 关键字可以给模块或函数取一个别名:

python 复制代码
import numpy as np

array = np.array([1, 2, 3])
print(array)  # 输出: [1 2 3]

创建自定义模块

你可以将常用的函数和变量放在一个 Python 文件中,作为自定义模块:

例如创建一个名为 my_module.py 的文件:

python 复制代码
# my_module.py
def greet(name):
    return f"Hello, {name}!"

PI = 3.14159

在另一个文件中使用自定义模块:

python 复制代码
import my_module

print(my_module.greet("Blossom"))  # 输出: Hello, Blossom!
print(my_module.PI)  # 输出: 3.14159

包的基本语法

包是包含多个模块的文件夹,每个包通常包含一个 __init__.py 文件,用于初始化包。你可以将相关的模块放在一个包中,以便更好地组织代码。

创建一个包结构:

my_package/
    __init__.py
    module1.py
    module2.py

module1.py

python 复制代码
# module1.py
def func1():
    return "Function 1 from module 1"

module2.py

python 复制代码
# module2.py
def func2():
    return "Function 2 from module 2"

使用包中的模块:

python 复制代码
from my_package import module1, module2

print(module1.func1())  # 输出: Function 1 from module 1
print(module2.func2())  # 输出: Function 2 from module 2

模块和包的应用场景

模块和包在许多场景中都非常有用,以下是一些常见的应用:

  1. 组织代码:模块和包用于将代码分割成更小、更易管理的部分,提高代码的可读性和可维护性。

    python 复制代码
    # 例如,将数学相关的函数放在一个模块中
    # math_utils.py
    def add(a, b):
        return a +

b

def subtract(a, b):

return a - b

2. **代码重用**:通过模块和包,你可以在多个项目中重用相同的代码。

```python
# 例如,在项目 A 中使用自定义模块
import math_utils

result = math_utils.add(5, 3)
print(result)  # 输出: 8
  1. 第三方库:Python 的模块和包系统使你可以轻松地使用和分享第三方库。

    python 复制代码
    # 例如,使用 requests 库进行 HTTP 请求
    import requests
    
    response = requests.get("https://api.example.com/data")
    data = response.json()
    print(data)

掌握模块和包将帮助你编写更有组织和更易维护的 Python 代码,使你的代码更具可重用性和扩展性。



Python 基础语法:主要标准库

Python 提供了大量的标准库,以下是一些常用的标准库,了解和掌握这些标准库将帮助你更高效地完成各种编程任务。

datetime 模块

datetime 模块用于处理日期和时间。

基本示例

python 复制代码
import datetime

now = datetime.datetime.now()
print(now)  # 当前日期和时间

# 格式化日期
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)  # 格式化后的日期

math 模块

math 模块提供数学函数和常量。

基本示例

python 复制代码
import math

print(math.sqrt(16))  # 输出: 4.0
print(math.pi)  # 输出: 3.141592653589793

random 模块

random 模块用于生成随机数和随机选择。

基本示例

python 复制代码
import random

print(random.randint(1, 10))  # 生成 1 到 10 之间的随机整数
print(random.choice(["apple", "banana", "cherry"]))  # 随机选择一个元素

os 模块

os 模块用于与操作系统进行交互,处理文件和目录。

基本示例

python 复制代码
import os

# 获取当前工作目录
cwd = os.getcwd()
print(cwd)

# 列出目录中的文件和子目录
files = os.listdir(cwd)
print(files)

sys 模块

sys 模块提供与 Python 解释器相关的函数和变量。

基本示例

python 复制代码
import sys

# 打印命令行参数
print(sys.argv)

# 打印 Python 版本
print(sys.version)

标准库的应用场景

标准库在许多场景中都非常有用,以下是一些常见的应用:

  1. 日期和时间处理 :使用 datetime 模块处理日期和时间。

    python 复制代码
    import datetime
    
    now = datetime.datetime.now()
    print(f"Current date and time: {now}")
  2. 数学计算 :使用 math 模块进行数学计算。

    python 复制代码
    import math
    
    radius = 5
    area = math.pi * (radius ** 2)
    print(f"Area of circle: {area}")
  3. 生成随机数 :使用 random 模块生成随机数。

    python 复制代码
    import random
    
    random_number = random.randint(1, 100)
    print(f"Random number: {random_number}")
  4. 文件和目录操作 :使用 os 模块进行文件和目录操作。

    python 复制代码
    import os
    
    current_directory = os.getcwd()
    print(f"Current directory: {current_directory}")
  5. 与解释器交互 :使用 sys 模块与 Python 解释器进行交互。

    python 复制代码
    import sys
    
    print(f"Python version: {sys.version}")

掌握标准库将帮助你更高效地完成各种编程任务,使你的代码更具功能性和可靠性。


相关推荐
winks32 分钟前
Spring Task的使用
java·后端·spring
Null箘3 分钟前
从零创建一个 Django 项目
后端·python·django
云空7 分钟前
《解锁 Python 数据挖掘的奥秘》
开发语言·python·数据挖掘
秋意钟13 分钟前
Spring新版本
java·后端·spring
椰椰椰耶15 分钟前
【文档搜索引擎】缓冲区优化和索引模块小结
java·spring·搜索引擎
mubeibeinv16 分钟前
项目搭建+图片(添加+图片)
java·服务器·前端
青莳吖18 分钟前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql
Buleall25 分钟前
期末考学C
java·开发语言
重生之绝世牛码27 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
小蜗牛慢慢爬行33 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试