比较 Python 中的模块化和输入处理(带有代码示例)

比较 python 中的模块化和输入处理(带有代码示例)

我正在研究 cs50 python 编程课程中的一些问题集,并在试图理解所提出问题的预期解决方案时陷入困境。

提供了先决条件代码,要求是添加将输入字符串转换为代表美元金额的浮点数的函数。

下面的代码片段提供了解决该问题的两种不同方法。

第一个片段显示了教师添加的部分。我应该填写dollar_to_float和percent_to_float函数中的空白。

立即学习“Python免费学习笔记(深入)”;

第二个概述了我解决问题的方法。它涉及修改先决条件代码以获得预期结果。

代码1(具有独立功能的原始代码)

def main():    dollars = dollars_to_float(input("how much was the meal? "))    percent = percent_to_float(input("what percentage would you like to tip? "))    tip = dollars * percent    print(f"leave ${tip:.2f}")def dollars_to_float(d):    return float(d.replace("$", ""))def percent_to_float(p):    return float(p.replace("%", "")) / 100main()

代码2(没有单独函数的简化代码)

def main():    dollars = float(input("How much was the meal? "))    percent = float(input("What percentage would you like to tip? "))    tip = dollars * percent / 100    print(f"Leave ${tip:.2f}")main()

令我困惑的是为什么使用第一种方法,以及它是否是开发人员首选的编码实践。

结果是一样的,但是处理解决方案的方式有所不同,基于以下差异:

差异

函数定义:

代码1:定义两个独立的函数,dollar_to_float 和percent_to_float,来处理特定的转换。代码 2:直接在主函数中执行转换,而不使用单独的函数。

输入处理:

代码 1:假设输入可能包含货币 ($) 和百分比 (%) 符号,并在单独的函数中处理它们的删除。代码2:假设输入是没有任何符号的普通数字,直接将输入字符串转换为浮点数。

小费计算:

代码 1:将美元乘以百分比,其中百分比已转换为小数。代码 2:将美元乘以百分比,然后除以 100 将百分比转换为内联小数。

优缺点:哪种方法更好、更常用?

代码 1 的优点:

模块化:将转换逻辑分解为单独的函数(dollars_to_float 和percent_to_float)使代码更加模块化。每个函数都有一个职责,使其更容易测试和维护。

可重用性:如果需要,单独的函数可以在程序的其他部分重用。

清晰度:转换的意图更清晰。每个函数名称都描述了它的作用,这可以使代码更易于阅读和理解。

代码 2 的优点:

简单:代码更简单更短,因为它没有定义额外的函数。一切都是在主函数内内完成的。

直接性:直接处理输入和转换逻辑,对于小脚本来说更容易理解。

常见做法:

模块化和清晰度:在较大的项目或输入处理复杂的地方,代码1的方法是首选。它使代码库更易于管理和理解。使用单一职责函数编写模块化代码是编程中常见的最佳实践。

简单和简洁:对于小脚本或当输入很简单(例如,保证是纯数字)时,代码2的方法通常足够并且由于其简单性而被广泛使用。

结论:

我做了一些研究并了解了小型而简单的脚本,由于其简单性和简洁性,直接在主函数中处理输入和转换是很常见的(代码2)。
然而,在更大或更复杂的应用程序中,将逻辑分解为单独的函数可以增强模块化性、可重用性和清晰度,使代码库更易于管理和理解(代码 1)。

以上就是比较 Python 中的模块化和输入处理(带有代码示例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1348014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 11:39:58
下一篇 2025年12月13日 11:40:22

相关推荐

发表回复

登录后才能评论
关注微信