原来月薪50K的Python开发都是运用这些技巧高效编程

  • A+
所属分类:python数据分析

原来月薪50K的Python开发都是运用这些技巧高效编程

Python是一门足够简单但又非常强大的程序语言,应用领域甲冠天下,在WEB开发、WEB爬虫、科学计算、人工智能、云计算、数据分析、数据挖掘、系统运维、金融、游戏等领域都有完备且成熟的开源方案。一个有编程经验的程序员,从0写一个爬虫系统,通常就是一个下午的时间。恰逢人工智能元年,Python无可争议地成为当下最热门的语言之一,越来越多的人涌入到Python学习热潮中来。

然而,基础语法都知道,代码也基本能读懂,但是动手能力差,写代码没有任何头绪,开源项目中的代码稍微复杂就难以理解,这是很多初学者面临的困惑。国内 Python 教程良莠不齐,大多数仅停留在基础语法层面,这导致很多初学者甚至一些富有经验的开发者写出来的代码带有浓重的“口音”(从其它语言转移过来的编程思维),下面分享一下Python编程中的那些技巧,希望可以有帮助

初学者有什么不懂的可以私信我,需要系统学习资料和系统学习框架图的同学,可关注小编头条号,欢迎留言评论和私信小编。【私信方法】文章上方处点击“作者头像”,进入作者首页,在作者主页上方点击“关注”旁边的“发私信”即可。私信内容:学习资料。

原地交换两个数字

Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例:

原来月薪50K的Python开发都是运用这些技巧高效编程

3. 使用三元操作符来进行条件赋值

三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:

[表达式为真的返回值] if [表达式] else [表达式为假的返回值]

这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。

x = 10 if (y == 9) else 20

同样地,我们可以对类做这种操作:

x = (classA if y == 1 else classB)(param1, param2)

在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用。

下面是另一个多个条件表达式链接起来用以计算最小值的例子:

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

或者,对于 in 操作符我们也可以使用 ‘{1,3,5,7}’ 而不是 ‘[1,3,5,7]’,因为 set 中取元素是 O(1) 操作。

13. 运行时检测 Python 版本

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

请只在必要的时候采用上面的技巧。

24. 检查一个对象的内存使用

在 Python 2.7 中,一个 32 比特的整数占用 24 字节,在 Python 3.5 中利用 28 字节。为确定内存使用,我们可以调用 getsizeof 方法:

在 Python 2.7 中

原来月薪50K的Python开发都是运用这些技巧高效编程

很明显,你可以从结果中看到确实有内存使用上的节省,但是你只应该在一个类的内存开销不必要得大时才使用 __slots__。只在对应用进行性能分析后才使用它,不然地话,你只是使得代码难以改变而没有真正的益处。

【译者注:在我的 win10 python2.7 中上面的结果是:

原来月薪50K的Python开发都是运用这些技巧高效编程

原来月薪50K的Python开发都是运用这些技巧高效编程

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: