每次写Python,是否都会走点弯路,出点错误?这是因为有一些Python的编程窍门你还没有掌握。今天这10个Python编程窍门,可以帮你减少犯错,提高效率。

打开凤凰新闻,查看更多高清图片

1、正交性

正交性是编程的一个重要原则。在设计优良的系统中,数据库代码与用户界面之间是正交的,替换数据库也不会影响用户界面,调整用户界面不会对数据库有影响。实践时要记住,A和B不应该互相影响,否则容易失去控制,系统将变得无法管理。

2、每个数据只保存在一处

如果手上有一个数据,那么只将其存储在一个地方,而不要存在多个地方。最好是创建一个保存地区编号的全局变量,将信息保存在文件或数据库中。

3、函数只做一件事

把函数限制成只完成一个任务,这有很多好处:首先,函数名称可以直接说明其功能,代码可读性增强。其次若代码出错,调试也会很方便,因为每个函数只负责一个特定的任务,可以快速隔离并调试修改。

4、选择最佳方法

如果在编程时你产生了“我想到更好的做法,但已经开始编码了,不想重写”的想法,那建议你立即停止,并选择你发现的更好的方法去做。

5、测试

在生产环境中,测试是极其重要的。对于计划部署在生产环境的程序,没有编写测试之前都是不完整的。尤其是如果编写的是其他人也将使用的程序,更应该编写测试。

6、记录日志

记录日志指的是在软件运行时记录数据的做法。可以通过日志来协助程序调试,更好地了解程序运行时的状态。Python有自带logging日志模块,支持在控制台或文件中记录日志。

7、代码审查

建议尽可能多地进行代码审查,因为即使遵守了最佳实践,也有可能存在错误做法。所以一定要对代码进行检查,找出错误的地方,加以解决。或者可以借助类似Code Review这种代码审查的程序员社区。

8、安全

安全是一个容易被忽略的问题,但实际上我们需要对自己代码的安全性负直接责任,所以最好不要在命令行使用sudo执行命令;另外,要假设用户的输入是恶意的,以此最大程度地防范;其次,要最小化攻击面积,即黑客可从程序中提取数据或攻击系统的相关区域。总之,应试着从黑客的角度进行思考:他们会如何利用你的代码?尽量找出可能会被忽略的漏洞。

9、使用强大的IDE

通常使用的是Python自带的IDE——IDLE来编码。但事实上IDLE功能有限。所以建议使用更强大的IDE,以保障你的代码质量。至于好用的IDE,小编介绍过,可以参考之前的文章。如果大家对Python感兴趣的话,可以加一下我的威信哦:abb436574,免费领取一套学习资料和视频课程哟~

10、术语总结

生产:将软件投入生产,指的是对外正式发布。

DRY:一个编程原则,“不要重复自己”的英文简称。

正交性:表示某种独立性或解耦化。如果两个或多个事物之间的变化不会相互影响,那么它们之间就存在正交性。

调试器:调试器是支持中断代码执行,可逐行查看代码效果的程序。通过调试器,我们可以查看不同代码中变量的值。

日志记录:指的是在软件运行时记录数据的做法。

测试:检查程序是否达到了设计和开发要求,对各类输入返回正确的结果,功能执行耗时在可接受范围,可用性足够高,可在目标环境下安装和运行,且实现了相关利益方所期待的效果。

代码审查:阅读代码并给予反馈的过程。

攻击面积:黑客可从程序中提取数据或攻击系统的相关区域。

10个Python编程窍门你收藏了吗?如果还有什么想要了解的,或者你有其他的见解,可以在下方评论留言和大家一起探讨~

10个Python编程窍门,不懂就亏了相关推荐

  1. chatgpt赋能python:如何使用Python选中一行文本?——一名有10年Python编程经验的工程师

    如何使用Python选中一行文本?--一名有10年Python编程经验的工程师 如果你是一名Python工程师,你肯定会遇到这样的问题--如何在文本编辑器或终端中选中一行代码或文本?虽然这通常是一个简 ...

  2. 10个Python编程小技巧,让你的代码更上一层楼

    Python之禅 先找到终端运行python,然后输入import this,就可以得到下面的python彩蛋 The Zen of Python, by Tim PetersBeautiful is ...

  3. 挑战Man Group!顶级对冲基金的10道Python面试题

    量化投资与机器学习编辑部 如果你正在面试一家对冲基金公司,你可能需要看看我们今天为大家提供的题目. Man Group量化团队近期出了10道Python编程题,来考考大家的基本功究竟怎么样. 请不要借 ...

  4. python软件下载安装百度网盘-【python编程+第四版】百度云下载 - 云盘精灵

    |- 用Python3带你从小白入门机器学习实战教程手册.pdf - 7.30 MB |- 人工智能Python实战代码 Python code for Artificial Intelligence ...

  5. python3基本语法思维导图_《Python编程基础》陈鑫杰主讲 思维导图式编程课

    [课程作者] 陈鑫杰 & PINGINGLAB研究院 [课程系列介绍] 本课程归属陈鑫杰老师[Python&Web安全渗透系列课],大家可以按需进行购买:如果有Python功底,可以直 ...

  6. 【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型

    学习笔记目录 [day 1]python编程:从入门到实践学习笔记-安装.变量和简单数据类型 [day 2]python编程:从入门到实践学习笔记-列表以及其操作 [day 3]python编程:从入 ...

  7. chatgpt赋能python:Python编程爱好者必备:如何参加线上比赛

    Python编程爱好者必备:如何参加线上比赛 作为一名拥有10年Python编程经验的工程师,我非常喜欢参加线上编程比赛.在这些比赛中,我可以与全球的编程爱好者一起竞技,展现自己编程的优势和挑战自己的 ...

  8. 独家 | 在Python编程面试前需要学会的10个算法(附代码)

    作者:AnBento 翻译:陈超 校对:陈丹 本文长度为3300字,建议阅读10+分钟 本文为大家介绍了最近在Python编程面试中反复出现的10个基础算法问题,并且给出了相应的解答过程. Photo ...

  9. python编程软件例子-软件开发|10 个 Python 图像编辑工具

    以下提到的这些 Python 工具在编辑图像.操作图像底层数据方面都提供了简单直接的方法. 当今的世界充满了数据,而图像数据就是其中很重要的一部分.但只有经过处理和分析,提高图像的质量,从中提取出有效 ...

最新文章

  1. Android后退事件的处理
  2. Veritas Backup Exec 10简体中文版+winXP SP2安装问题
  3. django分页功能
  4. python标准输出_Python(2.7)-标准输入输出,标准错误输出
  5. Atitit.隔行换色  变色 css3 结构性伪类选择器
  6. 测试笔记本续航的软件,性能测试及续航_笔记本评测-中关村在线
  7. Photoshop cc2019 破解教程
  8. Mac上挂载移动硬盘出现“Read-only file system“问题
  9. JavaScript 日期和时间基础知识
  10. [Filecoin]协议实验室关于SNARK竞赛的公告
  11. 人力资源如何进行数据分析
  12. element-ui——安装element-plus
  13. b2g process 和nuwa process 通信
  14. 在线安装计算机应用软件,计算机应用与网络基础教程 常用软件安装new.ppt
  15. flex弹性盒子flex-grow 和flex的区别
  16. Mybatis Smart Code Help插件使用介绍
  17. Timeout of 60000ms expired before the position for partition could be determined踩坑flink消费kafka2.3.0
  18. NOJ 机器狗组装费用 (优先权队列)
  19. prtg linux 性能,PRTG 网络监控入门指南
  20. 平衡车制作---原理篇

热门文章

  1. 新能源汽车简史——电动汽车沉浮录
  2. 2021中国家居行业洞察白皮书
  3. 2021“鲜美生活”新趋势:中国食品行业白皮书
  4. PRD的编写竟然暗含这个思路
  5. java无序数组_Java查找不重复无序数组中是否存在两个数字的和为某个值
  6. 作者:程学旗(1972-),男,中国科学院计算技术研究所研究员、博士生导师、副所长,中国科学院网络数据科学与技术重点实验室主任。...
  7. 【Git】GitHub主页从Dark调回Light的方法
  8. 【Java】模拟分组交换网络的时延、丢包
  9. 【Java】数组拷贝的四种方法
  10. 【数据结构与算法】平方探测法散列表的Java实现