Python精选200Tips:71-80


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

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

往期链接:

1-5 6-10 11-20 21-30 31-40
41-50 51-60:函数 61-70:类

编程范式及示例

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

071 面向过程编程 (Procedural Programming)

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

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

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

  • 声明式:
    逻辑编程强调“做什么”,而不是“怎么做”。程序员声明要达到的目标,而不是具体的步骤。
  • 事实和规则:
    使用事实(例如,知识的陈述)和规则(逻辑条件)来描述问题空间。例如,Prolog是最典型的逻辑编程语言。
  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnFany

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值