Yolk

总结 90 条写 Python 程序的建议 用“强迫症”维持代码质量

筅森魡賤 提交于 2020-08-15 17:39:39
阅读本文大概需要 3 分钟。 ” 本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我删除。 自己写 Python 也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量。都有去看 Google 的 Python 代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学 Python,准备要学习 Python,希望这篇文章对你有用。 1. 首先 建议1、理解 Pythonic 概念—-详见 Python 中的《Python之禅》 建议2、编写 Pythonic 代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等。有时候长的变量名会使代码更加具有可读性。 (2)深入学习 Python 相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认的 Pythonic 的代码库,比如Flask等。 建议3:理解 Python 与 C 的不同之处,比如缩进与 {},单引号双引号,三元操作符?, Switch-Case 语句等。 建议4:在代码中适当添加注释 建议5:适当添加空行使代码布局更加合理 建议6:编写函数的 4 个原则 (1)函数设计要尽量短小,嵌套层次不宜过深 (2)函数声明应该做到合理、简单、易用 (3)函数参数设计应该考虑向下兼容 (4)一个函数只做一件事,尽量保证函数粒度的一致性 建议7

总结了 90 条写 Python 程序的建议

别说谁变了你拦得住时间么 提交于 2020-08-14 03:24:43
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 来源丨 恋习Python https://mp.weixin.qq.com/s/6Oy0IzWepqILG0VSbLTczw 本文于网络整理,版权归原作者所有 这是一名5年经验的 Python小伙伴总结的90条python建议,如果你也在学pythpn,准备要学习python,希望这篇文章对你有用。 1. 首先 建议1、理解Pythonic概念—-详见Python中的《Python之禅》 建议2、编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等。有时候长的变量名会使代码更加具有可读性。 (2)深入学习Python相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认的Pythonic的代码库,比如Flask等。 建议3:理解Python与C的不同之处,比如缩进与{},单引号双引号,三元操作符?,Switch-Case语句等。 建议4:在代码中适当添加注释 建议5:适当添加空行使代码布局更加合理 建议6:编写函数的4个原则 (1)函数设计要尽量短小,嵌套层次不宜过深 (2)函数声明应该做到合理、简单、易用 (3)函数参数设计应该考虑向下兼容

编写高质量代码 改善 Python 程序的 91 个建议

雨燕双飞 提交于 2020-08-10 22:42:42
本文内容全部由 Python 编码的最佳实践组成,从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化 8 个方面深入探讨了编写高质量 Python 代码的技巧与禁忌,一共总结出 91 条宝贵的建议。每条建议对应 Python 程序员可能会遇到的一个问题。 建议1:理解Pythonic概念 建议2:编写Pythonic代码 建议3:理解Python与C语言的不同之处 建议4:在代码中适当添加注释 建议5:通过适当添加空行使代码布局更为优雅、合理 建议6:编写函数的4个原则 建议7:将常量集中到一个文件 建议8:利用assert语句来发现问题 建议9:数据交换值的时候不推荐使用中间变量 建议10:充分利用Lazy evaluation的特性 建议11:理解枚举替代实现的缺陷 建议12:不推荐使用type来进行类型检查 建议13:尽量转换为浮点类型后再做除法 建议14:警惕eval()的安全漏洞 建议15:使用enumerate()获取序列迭代的索引和值 建议16:分清=与is的适用场景 建议17:考虑兼容性,尽可能使用Unicode 建议18:构建合理的包层次来管理module 建议19:有节制地使用from…import语句 建议20:优先使用absolute import来导入模块 建议21:i+=1 不等于 ++i 建议22:使用with自动关闭资源 建议23

Python和pip,列出可用的软件包的所有版本?

爷,独闯天下 提交于 2020-02-27 11:38:26
给定可以与 pip 一起安装的Python软件包的名称,是否有任何方法可以找到pip可以安装的所有可能版本的列表? 现在是反复试验。 我正在尝试为第三方库安装一个版本,但是最新版本太新了,进行了向后不兼容的更改。 所以我想以某种方式列出pip知道的所有版本,以便我可以对其进行测试。 #1楼 https://pypi.python.org/pypi/Django/- 适用于维护者选择显示所有软件包的软件包 https://pypi.python.org/simple/pip/- 无论如何都应该做到这一点(列出所有链接) #2楼 更新: 从2017年9月开始,此方法不再起作用: --no-install 在pip 7中删除了 --no-install 使用 pip install -v ,您可以看到所有可用的版本。 root@node7:~# pip install web.py -v Downloading/unpacking web.py Using version 0.37 (newest of versions: 0.37, 0.36, 0.35, 0.34, 0.33, 0.33, 0.32, 0.31, 0.22, 0.2) Downloading web.py-0.37.tar.gz (90Kb): 90Kb downloaded Running setup.py egg

Place Pip and Yolk inside or outside a virtual environment?

南楼画角 提交于 2019-12-09 23:36:14
问题 I'm using virtualenv for sandboxing my Python environment, pip to install/uninstall packages and yolk to list the packages. I can install packages to my virtual environment by using pip install <package name> -e=<environment name> and I guess I don't need to have pip inside my virtual environment. Am i correct? If I need to list out all the installed packages in my virtual environment, can I use yolk -l to do so? I know I can do this by keeping yolk installed inside the environment but is

查看python中模块的所有方法

自作多情 提交于 2019-12-05 18:16:21
近日需要对远端服务器进行配置时,发现旧版centos只有python2,想按网络代码进行操作都有问题,原因都是兼容性! 为了对代码修改,想查看一下python有那些模块可用(下下策),于是网上找资料 一、命令行下使用pydoc命令 在命令行下运行 $ pydoc modules 即可查看 二、在python交互解释器中使用help()查看 在交互式解释器中输入 >>> help("modules") 即可,效果跟在命令行下输入 $ pydoc modules 是一样的 三、在python交互是解释器下导入sys模块查看 python的sys模块也是可以用来查看模块信息的 >>> import sys >>> sys.modules.keys() 四、命令行下使用pip查看 如果你使用的是pip来作为你的python包管理器的话,可以在命令行下直接运行 $ pip freeze</code>或者<code>$ pip list 来查看安装包的信息,当然其它的包管理器也有类似的功能,同时,你也可以在python交互式解释器中导入pip模块来查看包信息 import pip installed_packages = pip.get_installed_distributions() installed_packages_list = sorted(["%s==%s" % (i.key,

virtualenv yolk problem

你。 提交于 2019-11-30 06:56:13
yolk -l gives me information that I've got 114 packages installed on my Ubuntu 10.04. After creating new virtualenv directory using virtualenv virt_env/virt1 --no-site-packages --clear I switched to that, my prompt changed and then yolk -l gives me again the same 114 packages. What is going on there? Activating a virtualenv works by changing your shell PATH so the virtualenv's bin/ directory is first. This is all it does. This means that when you run "python" it runs the virtualenv's copy of the Python binary instead of your global system python. If you have yolk installed globally, however,

virtualenv yolk problem

空扰寡人 提交于 2019-11-29 08:07:18
问题 yolk -l gives me information that I've got 114 packages installed on my Ubuntu 10.04. After creating new virtualenv directory using virtualenv virt_env/virt1 --no-site-packages --clear I switched to that, my prompt changed and then yolk -l gives me again the same 114 packages. What is going on there? 回答1: Activating a virtualenv works by changing your shell PATH so the virtualenv's bin/ directory is first. This is all it does. This means that when you run "python" it runs the virtualenv's

查看python中模块的所有方法

橙三吉。 提交于 2019-11-27 13:06:00
近日需要对远端服务器进行配置时,发现旧版centos只有python2,想按网络代码进行操作都有问题,原因都是兼容性! 为了对代码修改,想查看一下python有那些模块可用(下下策),于是网上找资料 一、命令行下使用pydoc命令 在命令行下运行 $ pydoc modules 即可查看 二、在python交互解释器中使用help()查看 在交互式解释器中输入 >>> help("modules") 即可,效果跟在命令行下输入 $ pydoc modules 是一样的 三、在python交互是解释器下导入sys模块查看 python的sys模块也是可以用来查看模块信息的 >>> import sys >>> sys.modules.keys() 四、命令行下使用pip查看 如果你使用的是pip来作为你的python包管理器的话,可以在命令行下直接运行 $ pip freeze</code>或者<code>$ pip list 来查看安装包的信息,当然其它的包管理器也有类似的功能,同时,你也可以在python交互式解释器中导入pip模块来查看包信息 import pip installed_packages = pip.get_installed_distributions() installed_packages_list = sorted(["%s==%s" % (i.key,