你需要改掉的Python开发习惯(五)
1、使用import *:
form itertools import *count()
使用“import *”会和带有变量的命名空间重合,使程序报错,建议需要使用什么接口就import相关接口:
from itertools import countcount()
2、依赖结构项目的特定目录:
from nearby_module import awesome_functiondef main():awesome_function()if __name__ == '__main__'main()
如果你的python代码在很多的不同目录中,这样会不太利于接口的调用,幸好python支持目录索引的方式,所以建议你将需要调用的接口打包到一个相同功能的目录下:
from xxpackage.nearby_module import awesome_functiondef main():awesome_function()if __name__ == '__main__'main()
3、很多人认为python不用编译的:
def function():#DO SOMETHING
但事实是在.py文件边上有一些.pyc文件或者在__pycache__目录中,这些都是编译好的python文件,python确实是解释性语言,它的编译结果是字节码,而不是机器码。通过解释字节码运行代码。
4、不需要遵循PEP8:
def function():x = (1, 2)y = 5l = [1, 2, 3]def func(x = 5)#DO SOMETHING
PEP8规则链接
PEP8只是一个规则,就算不遵守也不影响代码的运行。估计身边会有人让你遵守这个规则,但我觉得只要不是公司规定的,随他去吧,自己开心就好。
5、用python2做任何事情:
def function():x = 10000000000000print(x in range(2 * x))d = {"a": 1, "b": 2, "c": 3}keys = d.keys()del d["a"]print("a" in keys)
目前python3已经出现很久了,但是可能你的代码中还有大量的python2,这个时候迁移的工作量会很大,所以python2目前还是有一定的保有量在使用的。当然新项目肯定是使用python3了,python3新增了很多新特性。对于python2,上面的代码中x这么大,后面的range居然还能执行。还有就是keys的变化,不再是一个copy,它仅仅是一个view。所以最后我想说,python3的变化是前所未有的,但是老项目用python2也很难直接签到python3
你需要改掉的Python开发习惯(五)相关推荐
- 你需要改掉的Python开发习惯(一)
1.手动字符串格式化: def manual_string_formatting(name, fans):if fans> 1000:print("Wow " + name ...
- 你需要改掉的Python开发习惯(三)
1.对于用if bool 和 if len做判断,其实是很多余的. def function(x):if bool(x):passif len(x) != 0:pass 可以直接用对x进行判断就行: ...
- 你需要改掉的Python开发习惯(四)
1.怎么去创建自己的索引计数器变量: def create_index_counter():l = [1, 2, 3]i = 0for x in l:# do some operationsi += ...
- 你需要改掉的Python开发习惯(二)
1.使用默认可变参数的使用需要注意的地方: def append(n, l=[]):l.append(n)return lprint(append(0)) # [0] print(append(1)) ...
- 夜光带你走进python开发 (五十五)传奇语言
夜光序言: Do not worry about smiling, my mouth hardly ever smiles, but it doesn't mean I'm not smiling i ...
- 硬核教程:五步掌握用VSCode进行高效Python开发
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 在程序员圈子里,Visual Stud ...
- vscode使用教程python-硬核教程:五步掌握用VSCode进行高效Python开发
在程序员圈子里,Visual Studio Code(以下简称VSCode)可以说是目前最火的代码编辑器之一了. 它是微软出品的一款可扩展的轻量级开源编辑器,并且支持全平台系统.这些特性使得VSCod ...
- 对比了上百个python程序员的开发习惯,这10个方法最节省时间!
前言 观察了100个python的开发习惯,从中做出对比,精选初10个最节省时间的方法,在此送上: 为以后不管是学习还是工作中提高效率 Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你 ...
- python 网络爬虫开发第五天
python 网络爬虫开发第五天 css选择器来选择html css选择器使用 python demo extract()[0]风险 编写爬虫使其可以索引文章 修改目标 NVD 构建python de ...
最新文章
- 嵌入式学习:存储器总结
- Android布局之相对布局——RelativeLayout
- http://udacity.com 和 https://www.udemy.com 请注意区分!
- hadoop 2.4.1 集群安装二
- ioctl之FIONREAD
- 构造函数调用默认构造函数_显式无参数构造函数与默认构造函数
- LocalDateTime时间加减法
- k2p 老毛子纯净版固件
- 电脑录像,如何录制游戏视频 游戏视频录制的方法
- 工程力学(18)—压杆稳定
- Paper翻译:《MobileNet Based Apple Leaf Diseases Identification》
- SD/SDHC/SDXC区别
- wpf 动态设置textblock的字体颜色
- word 文本框插入图片
- CSS3 - @keyframes
- h5 使用canvas实现电子签名和图片的保存
- python引用类全局变量_调用全局变量时无法解析的引用? - python
- android会超过苹果,任正非:超过苹果和安卓的华为操作系统,不会超过三百年...
- hive插件 ranger_hive 整合ranger
- 确定性随机数发生器测试向量——DRBG-HASH-SHA1