当前位置: 首页 > news >正文

Python精选200Tips:71-80

More in-depth

  • 编程范式及示例
    • 071 面向过程编程 (Procedural Programming)
    • 072 函数式编程 (Functional Programming)
    • 073 逻辑编程(Logical Programming)
    • 074 事件驱动编程 (Event-Driven Programming)
    • 075 声明式编程 (Declarative Programming)
  • 设计模式及示例
    • 076 工厂模式(Factory Pattern)
    • 077 适配器模式(Adapter Pattern)
    • 078 组合模式(Composite Pattern)
    • 079 策略模式(Strategy Pattern)
    • 080 命令模式(Command Pattern)

也来点八股文,可以不用,但是得懂

运行系统:macOS Sonoma 14.6.1
Python编译器:PyCharm 2024.1.4 (Community Edition)
Python版本:3.12

往期链接:

1-56-1011-2021-3031-40
41-5051-60:函数61-70:类

编程范式及示例

编程范式是指一种编程风格或方法论,它定义了程序设计的基本结构和组织方式。不同的编程范式提供了不同的视角和工具来解决问题,从而影响开发者如何编写、组织和维护代码。以下是Python可以支持的主要的编程范式:

071 面向过程编程 (Procedural Programming)

面向过程编程(Procedural Programming)是一种编程范式,通过将程序逻辑分解为一系列步骤(或过程)来组织代码。它强调使用函数和过程来完成特定任务,通常通过顺序控制、条件判断和循环等结构来管理程序的流程。主要特点:

  • 函数和过程:
    程序由多个函数或过程组成,每个函数负责特定的任务或功能。函数可以接受参数并返回结果,促进代码的重用。
  • 顺序执行:
    代码按顺序执行,从上到下,依赖于控制结构(如条件语句和循环)来改变执行流。
  • 全局状态:
    通常使用全局变量来存储程序的状态,函数可以访问和修改这些变量。
  • 模块化:
    通过将相关功能分组到函数中,提高代码的可读性和可维护性。
def calculate_sum(numbers):"""计算列表中所有数字的总和"""total = 0for number in numbers:total += numberreturn totaldef main():"""主函数"""sample_numbers = [1, 2, 3, 4, 5]total_sum = calculate_sum(sample_numbers)print(f"The total sum is: {total_sum}")if __name__ == "__main__":main()

代码解释

  • 计算总和的函数:
    calculate_sum 函数接受一个数字列表作为参数,使用循环遍历所有数字并计算总和。
  • 主函数:
    main 函数定义了一个示例列表 sample_numbers,调用 calculate_sum 函数并打印结果。
  • 执行入口:
    通过 if name == “main”: 确保代码在直接运行时执行 main 函数。

通过检查 if __name__ == “__main__”:,你可以在模块被直接运行时执行特定的代码(通常是主程序逻辑)。

# my_module.py 
def main():print("This is the main function.")if __name__ == "__main__":main()
  • 直接运行
python my_module.py
# 输出 This is the main function.
  • 作为模块导入
import my_module

此时不会输出任何内容,因为 main() 函数没有被调用。

面向对象编程参见类。

072 函数式编程 (Functional Programming)

函数式编程(Functional Programming)是一种编程范式,强调使用数学函数来构建程序,主要特点包括使用纯函数、避免副作用和支持高阶函数。函数式编程的目标是通过函数的组合和应用来实现复杂的逻辑。主要特点

  • 纯函数:
    给定相同的输入,纯函数总是返回相同的输出,并且没有副作用(例如不修改全局变量或输入参数)。
  • 不可变数据:
    数据是不可变的,意味着一旦创建,数据就不能被修改。这可以避免状态变化带来的问题。
  • 高阶函数:
    函数可以作为参数传递给另一个函数,也可以作为返回值返回。这使得函数的组合和复用变得更加灵活。
  • 函数组合:
    可以将多个函数组合在一起,以创建更复杂的操作。
  • 递归:
    函数式编程常用递归代替循环结构。
# 纯函数:计算平方
def square(x):return x * x# 纯函数:计算立方
def cube(x):return x ** 3# 高阶函数:使用 map 函数将平方函数应用于列表
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
cubed_numbers = list(map(cube, numbers))print("Squared:", squared_numbers)  # 输出: Squared: [1, 4, 9, 16, 25]
print("Cubed:", cubed_numbers)      # 输出: Cubed: [1, 8, 27, 64, 125]# 使用 filter 函数过滤出偶数
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print("Even numbers:", even_numbers)  # 输出: Even numbers: [2, 4]

073 逻辑编程(Logical Programming)

逻辑编程(Logical Programming)是一种编程范式,它基于逻辑推理使用规则和事实来进行计算和决策。逻辑编程的核心在于声明事实和规则,程序的执行是通过推理引擎来实现的。主要特点

  • 声明式:
    逻辑编程强调“做什么”,而不是“怎么做”。程序员声明要达到的目标,而不是具体的步骤。
  • 事实和规则:
    使用事实(例如,知识的陈述)和规则(逻辑条件)来描述问题空间。例如,P

http://www.mrgr.cn/news/20400.html

相关文章:

  • Python/Django编程实践指南
  • Java核心知识体系-并发与多线程:线程基础
  • 200. 岛屿数量
  • PERT图讲解(含其在软考的考点)
  • 【SLAM】GNSS的定义,信号原理以及RTK在多传感器融合中的使用方法
  • 模型“鲁棒性”是什么,和“泛化性”有什么异同。
  • 【Fastapi】使用Toml作为配置文件格式
  • 进程
  • 【网络安全】调试模式获取敏感数据
  • python编程知识(实现数据加密和解密)
  • 如何利用python实现碰撞原理
  • 使用GPU加速及配置
  • 淘宝商品详情API:优惠券与红包信息的深度解析
  • CTFSHOWRCE
  • 本地服务器安装MySQL数据库与管理工具phpMyAdmin详细步骤
  • 俄国留学生vs国内计算机本硕博
  • 部署mongosh教程
  • 使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心
  • 欧拉数据库的搭建及其部署
  • nc -s网络连通性测试