做网站需要审批不,猎头公司和人力资源公司的区别,开发和研发的区别,莱芜雪野湖简介文章目录 Python 基础语法#xff1a;打印和变量打印和变量的基本语法打印变量 变量操作变量的命名规则打印和变量的应用场景示例#xff1a;基本计算器 Python 基础语法#xff1a;列表推导式列表推导式的基本语法基本示例带条件的列表推导式列表推导式的应用场景 Python 基… 文章目录 Python 基础语法打印和变量打印和变量的基本语法打印变量 变量操作变量的命名规则打印和变量的应用场景示例基本计算器 Python 基础语法列表推导式列表推导式的基本语法基本示例带条件的列表推导式列表推导式的应用场景 Python 基础语法数据类型数据类型的基本介绍整数和浮点数字符串列表元组字典集合 数据类型的应用场景 Python 基础语法条件语句条件语句的基本语法if 语句if-else 语句if-elif-else 语句 基本示例条件语句的应用场景 Python 基础语法循环循环的基本语法for 循环while 循环 基本示例for 循环示例while 循环示例 循环的应用场景 Python 基础语法函数函数的基本语法基本示例带多个参数的函数默认参数函数的应用场景 Python 基础语法类和对象类和对象的基本语法定义类创建对象 基本示例访问对象的属性和方法类和对象的应用场景 Python 基础语法列表推导式列表推导式的基本语法基本示例带条件的列表推导式列表推导式的应用场景 Python 基础语法生成器生成器的基本语法基本示例生成器的应用场景 Python 基础语法文件操作文件操作的基本语法打开文件读写文件 基本示例读取文件写入文件逐行读取文件 文件操作的应用场景 Python 基础语法错误和异常处理错误和异常处理的基本语法try-except 语句try-except-finally 语句 基本示例捕获异常捕获多个异常finally 子句 异常处理的应用场景 Python 基础语法迭代器迭代器的基本语法创建迭代器使用迭代器 基本示例简单的迭代器示例自定义迭代器 迭代器的应用场景 Python 基础语法Lambda 表达式Lambda 表达式的基本语法基本示例在内置函数中使用 Lambda 表达式排序映射过滤 Lambda 表达式的应用场景 Python 基础语法模块和包模块的基本语法导入模块导入特定函数或变量给模块或函数取别名 创建自定义模块例如创建一个名为 my_module.py 的文件在另一个文件中使用自定义模块 包的基本语法创建一个包结构module1.pymodule2.py使用包中的模块 模块和包的应用场景 Python 基础语法主要标准库datetime 模块基本示例 math 模块基本示例 random 模块基本示例 os 模块基本示例 sys 模块基本示例 标准库的应用场景 目录如下 打印和变量 数据类型 条件语句 循环 函数 类和对象 列表推导式 生成器 文件操作 错误和异常处理 迭代器 Lambda 表达式 模块和包 主要标准库 Python 基础语法打印和变量
在 Python 中print 函数用于输出信息变量用于存储数据。这是编程中的基本操作适用于所有需要输出结果或存储临时数据的场景。
打印和变量的基本语法
打印
使用 print 函数可以输出文本或变量的值
print(Hello, World!)输出
Hello, World!变量
变量用于存储数据可以是各种数据类型如整数、浮点数、字符串等
# 整数
a 10# 浮点数
b 20.5# 字符串
name Blossom你可以使用 print 函数输出变量的值
print(a) # 输出: 10
print(b) # 输出: 20.5
print(name) # 输出: Blossom变量操作
你可以对变量进行各种操作如赋值、运算等
# 赋值
c a b# 输出运算结果
print(c) # 输出: 30.5变量的命名规则
变量名必须以字母或下划线开头后续字符可以是字母、数字或下划线。变量名区分大小写
age 25
Age 30print(age) # 输出: 25
print(Age) # 输出: 30打印和变量的应用场景
打印和变量是编程的基本操作适用于以下场景
调试代码使用 print 输出变量值帮助调试和理解代码执行过程。与用户交互在命令行程序中print 函数用于显示提示和结果。数据存储和处理变量用于存储临时数据和中间计算结果。
示例基本计算器
以下是一个简单的计算器示例展示如何使用变量存储用户输入并输出计算结果
# 获取用户输入
num1 float(input(Enter first number: ))
num2 float(input(Enter second number: ))# 进行加法运算
result num1 num2# 输出结果
print(fThe result of adding {num1} and {num2} is {result})在这个示例中用户输入的两个数字被存储在变量 num1 和 num2 中然后计算结果存储在变量 result 中并输出。 Python 基础语法列表推导式
列表推导式是 Python 中一种简洁且优雅的创建列表的方式。通过列表推导式你可以在一行代码中生成新的列表并且这种方式通常比使用传统的 for 循环更加高效。
列表推导式的基本语法
列表推导式的基本语法如下
[expression for item in iterable if condition]expression 是你想要对每个元素执行的操作。item 是从 iterable 中迭代出来的元素。condition 是一个可选的过滤条件只有满足条件的元素才会被包含在新列表中。
基本示例
让我们从一个简单的例子开始创建一个包含 0 到 9 的平方数的列表
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) 迭代出来的元素。
带条件的列表推导式
你可以在列表推导式中加入条件只包含满足条件的元素。例如创建一个仅包含偶数平方数的列表
even_squares [x ** 2 for x in range(10) if x % 2 0]
print(even_squares)输出
[0, 4, 16, 36, 64]在这个例子中只有当 x 是偶数时x ** 2 才会被包含在新列表中。
列表推导式的应用场景
列表推导式在许多场景中都非常有用以下是一些常见的应用 数据处理和转换可以用来对列表中的每个元素进行转换或计算。 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]过滤数据可以用来从列表中筛选出符合条件的元素。 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]嵌套列表的扁平化可以用来将嵌套的列表扁平化为一维列表。 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 支持多种数据类型包括整数、浮点数、字符串、列表、元组、字典和集合。选择合适的数据类型有助于更高效地处理数据。
数据类型的基本介绍
整数和浮点数
整数和浮点数用于表示数值数据
# 整数
x 5# 浮点数
y 2.5print(x) # 输出: 5
print(y) # 输出: 2.5字符串
字符串用于表示文本数据可以用单引号或双引号定义
# 字符串
name Blossomprint(name) # 输出: Blossom字符串还支持多行字符串使用三重引号定义
# 多行字符串
multiline_string This is
a multi-line
stringprint(multiline_string)列表
列表是有序的可变序列用于存储多个元素
# 列表
my_list [1, 2, 3, 4]print(my_list) # 输出: [1, 2, 3, 4]元组
元组是有序的不可变序列用于存储多个元素
# 元组
my_tuple (1, 2, 3, 4)print(my_tuple) # 输出: (1, 2, 3, 4)字典
字典是无序的键值对集合用于存储具有映射关系的数据
# 字典
my_dict {name: Blossom, age: 30}print(my_dict) # 输出: {name: Blossom, age: 30}集合
集合是无序的不重复元素集合
# 集合
my_set {1, 2, 3, 4}print(my_set) # 输出: {1, 2, 3, 4}数据类型的应用场景
不同的数据类型适用于不同的场景以下是一些常见的应用 整数和浮点数用于数学计算和数值处理。 radius 5.0
area 3.14 * (radius ** 2)
print(area) # 输出: 78.5字符串用于存储和处理文本数据。 first_name John
last_name Doe
full_name first_name last_name
print(full_name) # 输出: John Doe列表用于存储和操作有序的元素集合。 fruits [apple, banana, cherry]
fruits.append(orange)
print(fruits) # 输出: [apple, banana, cherry, orange]元组用于存储不可变的元素集合。 coordinates (10.0, 20.0)
print(coordinates) # 输出: (10.0, 20.0)字典用于存储具有映射关系的数据。 person {name: Alice, age: 25}
print(person[name]) # 输出: Alice集合用于存储不重复的元素集合。 unique_numbers {1, 2, 3, 4, 4, 5}
print(unique_numbers) # 输出: {1, 2, 3, 4, 5}掌握这些数据类型将帮助你更高效地编写 Python 程序并使你的代码更具可读性和可维护性。 Python 基础语法条件语句
条件语句用于根据条件执行不同的代码块。这在需要根据条件做出决策的场景中非常有用例如用户输入验证和业务逻辑处理。
条件语句的基本语法
if 语句
if condition:# 当 condition 为 True 时执行的代码块passif-else 语句
if condition:# 当 condition 为 True 时执行的代码块pass
else:# 当 condition 为 False 时执行的代码块passif-elif-else 语句
if condition1:# 当 condition1 为 True 时执行的代码块pass
elif condition2:# 当 condition1 为 False 且 condition2 为 True 时执行的代码块pass
else:# 当 condition1 和 condition2 都为 False 时执行的代码块pass基本示例
让我们从一个简单的例子开始根据变量的值打印不同的信息
x 10
y 20if 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在这个例子中条件语句检查 x 和 y 的值并根据条件执行不同的代码块。
条件语句的应用场景
条件语句在许多场景中都非常有用以下是一些常见的应用 用户输入验证检查用户输入的值是否符合预期。 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)业务逻辑处理根据不同的条件执行不同的业务逻辑。 score 85if score 90:grade A
elif score 80:grade B
elif score 70:grade C
elif score 60:grade D
else:grade Fprint(fYour grade is {grade})流程控制控制程序的执行流程决定是否继续执行某些操作。 is_member Trueif is_member:print(Access granted)
else:print(Access denied)掌握条件语句将帮助你编写更智能和更灵活的 Python 程序使你的代码能够根据不同的情况做出相应的反应。 Python 基础语法循环
循环用于重复执行一段代码直到满足特定条件。循环广泛应用于遍历数据结构、重复计算任务和自动化处理。
循环的基本语法
for 循环
for item in iterable:# 对 iterable 中的每个 item 执行的代码块passwhile 循环
while condition:# 当 condition 为 True 时重复执行的代码块pass基本示例
for 循环示例
让我们从一个简单的例子开始使用 for 循环遍历一个列表并打印每个元素
fruits [apple, banana, cherry]for fruit in fruits:print(fruit)输出
apple
banana
cherry在这个例子中for 循环遍历列表 fruits 并打印每个水果。
while 循环示例
以下是一个使用 while 循环打印从 0 到 4 的例子
count 0while count 5:print(count)count 1输出
0
1
2
3
4在这个例子中while 循环在 count 小于 5 时重复执行打印当前的 count 值并将 count 增加 1。
循环的应用场景
循环在许多场景中都非常有用以下是一些常见的应用 遍历数据结构循环用于遍历列表、元组、字典等数据结构。 names [Alice, Bob, Charlie]for name in names:print(fHello, {name}!)重复计算任务循环用于重复执行某个计算任务。 total 0for i in range(1, 11):total iprint(fThe sum of numbers from 1 to 10 is {total})自动化处理循环用于自动化处理多项任务例如批量处理文件。 files [file1.txt, file2.txt, file3.txt]for file in files:with open(file, r) as f:content f.read()print(content)掌握循环将帮助你编写更高效和灵活的 Python 程序使你的代码能够自动化执行重复性任务。 Python 基础语法函数
函数用于封装一段代码可以多次调用减少代码重复。函数使代码更具可读性和可维护性。
函数的基本语法
def function_name(parameters):# 函数体return resultdef 关键字用于定义函数。function_name 是函数的名称。parameters 是函数的参数可以有多个用逗号分隔。return 关键字用于返回结果。
基本示例
让我们从一个简单的例子开始定义一个函数并调用它
def greet(name):return fHello, {name}!print(greet(Blossom)) # 输出: Hello, Blossom!在这个例子中greet 函数接受一个参数 name返回一个问候字符串。
带多个参数的函数
你可以定义带有多个参数的函数
def add(a, b):return a bprint(add(3, 5)) # 输出: 8在这个例子中add 函数接受两个参数 a 和 b返回它们的和。
默认参数
函数参数可以有默认值如果调用函数时未提供该参数则使用默认值
def greet(name, messageHello):return f{message}, {name}!print(greet(Blossom)) # 输出: Hello, Blossom!
print(greet(Blossom, Hi)) # 输出: Hi, Blossom!在这个例子中message 参数有一个默认值 Hello。
函数的应用场景
函数在许多场景中都非常有用以下是一些常见的应用 代码重用函数使代码可以重复使用避免代码重复。 def square(x):return x ** 2print(square(2)) # 输出: 4
print(square(3)) # 输出: 9提高可读性函数使代码更具结构性和可读性。 def is_even(number):return number % 2 0print(is_even(4)) # 输出: True
print(is_even(5)) # 输出: False分解问题函数使你可以将复杂的问题分解为多个小问题每个小问题对应一个函数。 def calculate_area(radius):return 3.14 * (radius ** 2)def calculate_circumference(radius):return 2 * 3.14 * radiusradius 5
print(fArea: {calculate_area(radius)}) # 输出: Area: 78.5
print(fCircumference: {calculate_circumference(radius)}) # 输出: Circumference: 31.400000000000002掌握函数将帮助你编写更简洁和高效的 Python 程序使你的代码更具可维护性。 Python 基础语法类和对象
类是面向对象编程的核心用于定义对象的属性和行为。对象是类的实例类和对象使
程序具有更高的可重用性和可维护性。
类和对象的基本语法
定义类
class ClassName:def __init__(self, parameters):# 初始化属性self.attribute valuedef method(self):# 方法体pass创建对象
# 创建类的实例
object_name ClassName(arguments)基本示例
让我们从一个简单的例子开始定义一个类并创建它的对象
class Dog:def __init__(self, name, age):self.name nameself.age agedef bark(self):return f{self.name} says woof!# 创建对象
my_dog Dog(Buddy, 3)
print(my_dog.bark()) # 输出: Buddy says woof!在这个例子中Dog 类有一个初始化方法 __init__用于设置 name 和 age 属性并有一个方法 bark返回狗叫的声音。
访问对象的属性和方法
# 访问属性
print(my_dog.name) # 输出: Buddy
print(my_dog.age) # 输出: 3# 调用方法
print(my_dog.bark()) # 输出: Buddy says woof!类和对象的应用场景
类和对象在许多场景中都非常有用以下是一些常见的应用 模拟现实世界实体类和对象用于模拟现实世界中的实体及其行为。 class Car:def __init__(self, make, model, year):self.make makeself.model modelself.year yeardef description(self):return f{self.year} {self.make} {self.model}my_car Car(Toyota, Corolla, 2020)
print(my_car.description()) # 输出: 2020 Toyota Corolla封装数据和行为类和对象用于封装数据和相关的行为提高代码的可维护性和可扩展性。 class BankAccount:def __init__(self, owner, balance0):self.owner ownerself.balance balancedef deposit(self, amount):self.balance amountreturn self.balancedef withdraw(self, amount):if amount self.balance:self.balance - amountreturn self.balanceelse:return Insufficient fundsaccount BankAccount(Alice, 100)
print(account.deposit(50)) # 输出: 150
print(account.withdraw(30)) # 输出: 120
print(account.withdraw(200)) # 输出: Insufficient funds实现代码重用类和对象用于实现代码重用通过继承和多态实现复杂的功能。 class Animal:def __init__(self, name):self.name namedef 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 循环更加高效。
列表推导式的基本语法
[expression for item in iterable if condition]expression 是你想要对每个元素执行的操作。item 是从 iterable 中迭代出来的元素。condition 是一个可选的过滤条件只有满足条件的元素才会被包含在新列表中。
基本示例
让我们从一个简单的例子开始创建一个包含 0 到 9 的平方数的列表
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) 迭代出来的元素。
带条件的列表推导式
你可以在列表推导式中加入条件只包含满足条件的元素。例如创建一个仅包含偶数平方数的列表
even_squares [x ** 2 for x in range(10) if x % 2 0]
print(even_squares)输出
[0, 4, 16, 36, 64]在这个例子中只有当 x 是偶数时x ** 2 才会被包含在新列表中。
列表推导式的应用场景
列表推导式在许多场景中都非常有用以下是一些常见的应用 数据处理和转换可以用来对列表中的每个元素进行转换或计算。 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]过滤数据可以用来从列表中筛选出符合条件的元素。 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]嵌套列表的扁平化可以用来将嵌套的列表扁平化为一维列表。 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 一次性返回。
def generator_function():yield value基本示例
让我们从一个简单的例子开始定义一个生成器并使用它
def count_up_to(max):count 1while count max:yield countcount 1# 使用生成器
counter count_up_to(5)
for num in counter:print(num) # 输出: 1 2 3 4 5在这个例子中count_up_to 生成器按需生成从 1 到 max 的数字。每次 yield 返回一个值后生成器暂停并保留其状态直到下次调用。
生成器的应用场景
生成器在许多场景中都非常有用以下是一些常见的应用 处理大数据集生成器按需生成值避免一次性占用大量内存。 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)延迟计算生成器在需要时生成值可以提高
程序的性能。
def fibonacci(n):a, b 0, 1while n 0:yield aa, b b, a bn - 1# 使用生成器生成前10个斐波那契数
for num in fibonacci(10):print(num) # 输出前10个斐波那契数生成无限序列生成器可以用于生成无限序列直到满足特定条件。 def infinite_sequence():num 0while True:yield numnum 1# 使用生成器生成无限序列
for num in infinite_sequence():if num 10:breakprint(num) # 输出: 0 1 2 3 4 5 6 7 8 9 10掌握生成器将帮助你编写更高效和灵活的 Python 程序特别是在处理大数据集或需要延迟计算的场景中。 Python 基础语法文件操作
文件操作是编程中常见的任务Python 提供了一组函数来读写文件。文件操作在数据处理和存储中非常常用。
文件操作的基本语法
打开文件
使用 open 函数打开文件
file open(filename.txt, mode)filename.txt 是文件名。mode 是文件打开模式如读取r、写入w、追加a等。
读写文件
# 读取文件
with open(example.txt, r) as file:content file.read()print(content)# 写入文件
with open(example.txt, w) as file:file.write(Hello, World!)基本示例
读取文件
以下是一个读取文件内容并打印的例子
with open(example.txt, r) as file:content file.read()print(content)写入文件
以下是一个将文本写入文件的例子
with open(example.txt, w) as file:file.write(Hello, World!)逐行读取文件
以下是一个逐行读取文件内容的例子
with open(example.txt, r) as file:for line in file:print(line.strip())文件操作的应用场景
文件操作在许多场景中都非常有用以下是一些常见的应用 日志记录将程序运行的日志写入文件便于后续分析和调试。 def log_message(message):with open(log.txt, a) as file:file.write(message \n)log_message(Program started)
log_message(An error occurred)数据存储和读取将数据存储到文件中以便后续读取和处理。 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)配置文件读取和写入配置文件动态配置程序参数。 # 写入配置
with open(config.txt, w) as file:file.write(usernameadmin\n)file.write(passwordsecret\n)# 读取配置
config {}
with open(config.txt, r) as file:for line in file:key, value line.strip().split()config[key] valueprint(config) # 输出: {username: admin, password: secret}掌握文件操作将帮助你处理数据的读写任务使你的程序能够持久化数据并与外部文件进行交互。 Python 基础语法错误和异常处理
错误和异常处理用于捕获和处理程序中的错误确保程序在发生错误时不会崩溃。异常处理使你的代码更具鲁棒性和可靠性。
错误和异常处理的基本语法
try-except 语句
try:# 可能引发异常的代码pass
except SomeException as e:# 处理异常的代码passtry-except-finally 语句
try:# 可能引发异常的代码pass
except SomeException as e:# 处理异常的代码pass
finally:# 始终执行的代码pass基本示例
捕获异常
以下是一个捕获除零错误的例子
try:result 10 / 0
except ZeroDivisionError:print(You cant divide by zero!)输出
You cant divide by zero!捕获多个异常
你可以捕获多个异常并对每种异常进行不同的处理
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 intfinally 子句
finally 子句中的代码始终会执行无论是否发生异常
try:file open(example.txt, r)content file.read()
except FileNotFoundError:print(File not found)
finally:file.close()print(File closed)异常处理的应用场景
异常处理在许多场景中都非常有用以下是一些常见的应用 用户输入验证捕获和处理用户输入的错误。 while True:try:age int(input(Enter your age: ))breakexcept ValueError:print(Invalid input. Please enter a number.)
print(fYour age is {age})文件操作捕获和处理文件读写中的错误。 try:with open(data.txt, r) as file:content file.read()print(content)
except FileNotFoundError:print(File not found)网络请求捕获和处理网络请求中的错误。 import requeststry: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(fAn error occurred: {e})掌握错误和异常处理将帮助你编写更健壮和可靠的 Python 程序使你的代码能够在发生错误时优雅地处理并继续运行。 Python 基础语法迭代器
迭代器Iterator是一个对象它包含一个 countable 的元素序列可以遍历其中的元素。迭代器在处理序列数据时非常有用。
迭代器的基本语法
创建迭代器
使用 iter() 函数可以将一个可迭代对象转换为迭代器
iterable [1, 2, 3, 4]
iterator iter(iterable)使用迭代器
使用 next() 函数可以获取迭代器的下一个元素
print(next(iterator)) # 输出: 1
print(next(iterator)) # 输出: 2
print(next(iterator)) # 输出: 3
print(next(iterator)) # 输出: 4当迭代器没有更多元素时next() 函数会引发 StopIteration 异常。
基本示例
简单的迭代器示例
以下是一个使用迭代器遍历列表的例子
my_list [1, 2, 3, 4]
my_iterator iter(my_list)for item in my_iterator:print(item)输出
1
2
3
4自定义迭代器
你可以通过实现 __iter__() 和 __next__() 方法来自定义迭代器
class MyIterator:def __init__(self, start, end):self.current startself.end enddef __iter__(self):return selfdef __next__(self):if self.current self.end:raise StopIterationelse:self.current 1return self.current - 1# 使用自定义迭代器
for num in MyIterator(1, 5):print(num)输出
1
2
3
4迭代器的应用场景
迭代器在许多场景中都非常有用以下是一些常见的应用 遍历大型数据集迭代器按需生成元素避免一次性加载所有数据。 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)自定义序列生成通过自定义迭代器可以生成复杂的序列。 class FibonacciIterator:def __init__(self, max):self.max maxself.a, self.b 0, 1def __iter__(self):return selfdef __next__(self):if self.a self.max:raise StopIterationcurrent self.aself.a, self.b self.b, self.a self.breturn current# 使用自定义迭代器生成斐波那契数列
for num in FibonacciIterator(100):print(num)延迟计算迭代器在需要时生成值提高程序的性能和内存利用率。 def infinite_sequence():num 0while True:yield numnum 1# 使用生成器生成无限序列
for num in infinite_sequence():if num 10:breakprint(num) # 输出: 0 1 2 3 4 5 6 7 8 9 10掌握迭代器将帮助你编写更高效和灵活的 Python 程序使你的代码能够优雅地处理大型数据集和复杂的序列生成。 Python 基础语法Lambda 表达式
Lambda 表达式是一种简洁的定义小型匿名函数的方法。Lambda 表达式通常用于需要一个简单函数的场景如排序或过滤数据。
Lambda 表达式的基本语法
lambda parameters: expressionparameters 是函数的参数可以有多个用逗号分隔。expression 是函数的返回值通常是一个简单的计算或操作。
基本示例
让我们从一个简单的例子开始定义一个 Lambda 表达式并调用它
add lambda x, y: x y
print(add(3, 5)) # 输出: 8在这个例子中lambda x, y: x y 定义了一个接受两个参数并返回它们和的匿名函数。
在内置函数中使用 Lambda 表达式
Lambda 表达式常用于内置函数中如 sorted、map 和 filter。
排序
使用 sorted 函数和 Lambda 表达式对列表进行排序
my_list [(1, 2), (3, 4), (5, 0)]
sorted_list sorted(my_list, keylambda x: x[1])
print(sorted_list) # 输出: [(5, 0), (1, 2), (3, 4)]映射
使用 map 函数和 Lambda 表达式对列表中的每个元素进行操作
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 表达式过滤列表中的元素
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 表达式在许多场景中都非常有用以下是一些常见的应用 简化代码Lambda 表达式用于定义简单的匿名函数简化代码结构。 multiply lambda x, y: x * y
print(multiply(2, 3)) # 输出: 6排序和过滤Lambda 表达式常用于排序和过滤数据使代码更简洁。 students [{name: Alice, score: 85},{name: Bob, score: 92},{name: Charlie, score: 78}
]# 按分数排序
sorted_students sorted(students, keylambda student: student[score])
print(sorted_students)回调函数Lambda 表达式常用于回调函数中使代码更紧凑。 def apply_function(func, value):return func(value)result apply_function(lambda x: x ** 2, 5)
print(result) # 输出: 25掌握 Lambda 表达式将帮助你编写更简洁和高效的 Python 代码使你的代码更具可读性和可维护性。 Python 基础语法模块和包
模块和包是组织和管理代码的基本单元。模块是包含 Python 代码的文件包是包含多个模块的文件夹。通过模块和包你可以将代码分割成更小、更易管理的部分提高代码的重用性和可维护性。
模块的基本语法
导入模块
使用 import 关键字可以导入模块
import mathprint(math.sqrt(16)) # 输出: 4.0导入特定函数或变量
使用 from ... import ... 语法可以从模块中导入特定的函数或变量
from math import piprint(pi) # 输出: 3.141592653589793给模块或函数取别名
使用 as 关键字可以给模块或函数取一个别名
import numpy as nparray np.array([1, 2, 3])
print(array) # 输出: [1 2 3]创建自定义模块
你可以将常用的函数和变量放在一个 Python 文件中作为自定义模块
例如创建一个名为 my_module.py 的文件
# my_module.py
def greet(name):return fHello, {name}!PI 3.14159在另一个文件中使用自定义模块
import my_moduleprint(my_module.greet(Blossom)) # 输出: Hello, Blossom!
print(my_module.PI) # 输出: 3.14159包的基本语法
包是包含多个模块的文件夹每个包通常包含一个 __init__.py 文件用于初始化包。你可以将相关的模块放在一个包中以便更好地组织代码。
创建一个包结构
my_package/__init__.pymodule1.pymodule2.pymodule1.py
# module1.py
def func1():return Function 1 from module 1module2.py
# module2.py
def func2():return Function 2 from module 2使用包中的模块
from my_package import module1, module2print(module1.func1()) # 输出: Function 1 from module 1
print(module2.func2()) # 输出: Function 2 from module 2模块和包的应用场景
模块和包在许多场景中都非常有用以下是一些常见的应用 组织代码模块和包用于将代码分割成更小、更易管理的部分提高代码的可读性和可维护性。 # 例如将数学相关的函数放在一个模块中
# math_utils.py
def add(a, b):return a
b
def subtract(a, b): return a - b 2. **代码重用**通过模块和包你可以在多个项目中重用相同的代码。python
# 例如在项目 A 中使用自定义模块
import math_utilsresult math_utils.add(5, 3)
print(result) # 输出: 8第三方库Python 的模块和包系统使你可以轻松地使用和分享第三方库。 # 例如使用 requests 库进行 HTTP 请求
import requestsresponse requests.get(https://api.example.com/data)
data response.json()
print(data)掌握模块和包将帮助你编写更有组织和更易维护的 Python 代码使你的代码更具可重用性和扩展性。 Python 基础语法主要标准库
Python 提供了大量的标准库以下是一些常用的标准库了解和掌握这些标准库将帮助你更高效地完成各种编程任务。
datetime 模块
datetime 模块用于处理日期和时间。
基本示例
import datetimenow datetime.datetime.now()
print(now) # 当前日期和时间# 格式化日期
formatted_date now.strftime(%Y-%m-%d %H:%M:%S)
print(formatted_date) # 格式化后的日期math 模块
math 模块提供数学函数和常量。
基本示例
import mathprint(math.sqrt(16)) # 输出: 4.0
print(math.pi) # 输出: 3.141592653589793random 模块
random 模块用于生成随机数和随机选择。
基本示例
import randomprint(random.randint(1, 10)) # 生成 1 到 10 之间的随机整数
print(random.choice([apple, banana, cherry])) # 随机选择一个元素os 模块
os 模块用于与操作系统进行交互处理文件和目录。
基本示例
import os# 获取当前工作目录
cwd os.getcwd()
print(cwd)# 列出目录中的文件和子目录
files os.listdir(cwd)
print(files)sys 模块
sys 模块提供与 Python 解释器相关的函数和变量。
基本示例
import sys# 打印命令行参数
print(sys.argv)# 打印 Python 版本
print(sys.version)标准库的应用场景
标准库在许多场景中都非常有用以下是一些常见的应用 日期和时间处理使用 datetime 模块处理日期和时间。 import datetimenow datetime.datetime.now()
print(fCurrent date and time: {now})数学计算使用 math 模块进行数学计算。 import mathradius 5
area math.pi * (radius ** 2)
print(fArea of circle: {area})生成随机数使用 random 模块生成随机数。 import randomrandom_number random.randint(1, 100)
print(fRandom number: {random_number})文件和目录操作使用 os 模块进行文件和目录操作。 import oscurrent_directory os.getcwd()
print(fCurrent directory: {current_directory})与解释器交互使用 sys 模块与 Python 解释器进行交互。 import sysprint(fPython version: {sys.version})掌握标准库将帮助你更高效地完成各种编程任务使你的代码更具功能性和可靠性。