[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅

简介: 本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。

回忆上次内容

  • 上次直接从模块中导入变量、函数
  • from my_file import pi
  • 导入my_file.pi
  • 并作为 pi 使用
  • from my_file import pi as my_pi
  • 导入变量 并 重命名

  • 想写个 实用点儿的程序??🤔

提问

  • 想要输入苹果和香蕉的数量
  • 再求和

quantity = input("请输入苹果的数量:")
print(f"苹果的数量为:{quantity}")
  • 这里用了一个f-string的方式显示quantity

目标达成

  • 结果

  • 想要两个水果求和

再提问

  • 生成代码
apple_quantity = input("请输入苹果的数量:")
banana_quantity = input("请输入香蕉的数量:")
try:
    total = int(apple_quantity) + int(banana_quantity)
    print(f"苹果和香蕉的总数为:{total}")
except ValueError:
    print("输入的不是有效的整数。")
  • 尝试运行

运行结果

  • 看点
  1. 蛇形命名法
  2. 类型转化
  3. 异常处理

  • 全都顺利完成

  • 我希望苹果数量输入出错后
  • 立刻报错
  • 不要再输入香蕉数量了

代码优化

try:
    apple_quantity = int(input("请输入苹果的数量:"))
    banana_quantity = int(input("请输入香蕉的数量:"))
    total = apple_quantity + banana_quantity
    print(f"苹果和香蕉的总数为:{total}")
except ValueError:
    print("输入的不是有效的整数。")
  • 遇到苹果数据有问题
  • 立刻报错

  • 类型从str转成int
  • 再从int输出到标准输出流
  • 也是 python之禅 里面的一句话
  • Explicit is better than implicit
  • 怎么理解呢?

plicare

  • plicare是
  • 拉丁语词根折叠

explicit

  • ex往外折叠
  • explicit

  • 展开了
  • 掰开了
  • 揉碎了
  • 细说清楚了

implicit

  • im往里折叠
  • implicit

  • 折叠了
  • 遮盖了
  • 掩藏了
  • 暗示了

对比

  • Explicit is better than implicit

  • 明了胜于晦涩

"1" + 2

  • "1" + 2
  • 报错了

  • 字符串加法
  • 不接受 隐式的 类型转化
  • 后面的操作数必须得是字符串
  • 如果 要用整数加法 就要把前面
  • 显示地 转化 为 整数类型
  • 明了 胜于 晦涩
  • Explicit is better than implicit
  • 这句话确实
  • 真有禅机
  • 这 python之禅 还说了些什么?
  • 这些禅语 都是写的呢?

python 之禅

  • python之禅 是 Tim Peters写的

  • 在游乐场
  • import this

翻译

原文 译文 指向
Beautiful is better than ugly 优美胜于丑陋 要优美
Explicit is better than implicit 明了胜于晦涩 明了
Simple is better than complex 简洁胜于复杂 简洁
Complex is better than complicated 复杂胜于凌乱 若复杂不可避免
保持接口简洁
Flat is better than nested 扁平胜于嵌套 扁平的
不要太多嵌套
Sparse is better than dense 间隔胜于紧凑 适当间隔
不奢望一行解决
Readability counts 可读性很重要 可读才是好代码
Special cases aren't special enough to break the rules 不可违背规则 规则重要
Although practicality beats purity 虽然实践性胜过纯洁性 实践很重要
Errors should never pass silently 错误必须处理 不放过异常
不写 except:pass
Unless explicitly silenced 除非明确保持沉默 除非故意
In the face of ambiguity, refuse the temptation to guess 不要让人猜测 明确
There should be one-- and preferably only one --obvious way to do it 找最好的解决方案 精益求精
Although that way may not be obvious at first unless you're Dutch 虽然这并不容易
因为你不是 Python 之父
这里的 Dutch 是指 Guido
Now is better than never 做也许好过不做 实践出真知
Although never is often better than right now 但不假思索就动手还不如不做 谋定而后动
If the implementation is hard to explain, it's a bad idea 如果你无法向人描述你的方案
那肯定不是一个好方案
好方法用容易描述
If the implementation is easy to explain, it may be a good idea 容易解释,就是好的 说得清 才理解得透彻
Namespaces are one honking great idea -- let's do more of those! 命名空间是一种绝妙的理念
我们应当多加利用
多用名字空间

总结

  • 这次我们编写了一个加法运算程序
  • 明了 胜于 晦涩
  • explicit is better than implicit
  • 指的是变量类型 要明了

相关文章
|
1月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
24天前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
83 28
|
1月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
1月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
1月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
1月前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
|
1月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
1月前
|
人工智能 自然语言处理 算法
AI做数学学会动脑子! UCL等发现LLM程序性知识,推理绝不是背答案
大型语言模型(LLM)在数学推理中的表现一直备受争议。伦敦大学学院等机构的研究发现,LLM可能通过综合程序性知识而非简单检索来解决数学问题。研究分析了7B和35B参数模型在三个简单数学任务中的数据依赖,表明模型更关注解决问题的过程和方法,而非答案本身。这一发现为改进AI系统提供了新思路,但也指出LLM在复杂问题处理上仍存在局限。论文地址:https://arxiv.org/abs/2411.12580
52 2
|
1月前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。
|
1月前
|
消息中间件 分布式计算 并行计算
Python 高级编程与实战:构建分布式系统
本文深入探讨了 Python 中的分布式系统,介绍了 ZeroMQ、Celery 和 Dask 等工具的使用方法,并通过实战项目帮助读者掌握这些技术。ZeroMQ 是高性能异步消息库,支持多种通信模式;Celery 是分布式任务队列,支持异步任务执行;Dask 是并行计算库,适用于大规模数据处理。文章结合具体代码示例,帮助读者理解如何使用这些工具构建分布式系统。