python代码如何写的优雅?】的更多相关文章

简介 在实际项目中,我们可能一开始为了完成功能而忽视了代码的整体质量,因此,使用一些高阶的函数或方法,能够更加使我们的代码更加优雅.废话不多说,现在马上开始. 使用enumerate方法替代range(len) enumerate()中也包含了下标和值,可以很方便的进行索引和值的遍历. data = range(10000) start = time.time() data_len = len(data) for i in range(data_len): print(data[i]) prin…
1.变量交换 大部分编程语言中交换两个变量的值时,不得不引入一个临时变量: >>> a = 1>>> b = 2>>> tmp = a>>> a = b>>> b = tmp pythonic >>> a, b = b, a 2.循环遍历区间元素 for i in [0, 1, 2, 3, 4, 5]:    (print i) # 或者for i in range(6):    (print i)…
最近在看一个同学代码的时候,发现代码中大量使用了 Google 开源的 Guava 核心库中的内容,让代码简单清晰了不少,故学习分享出 Guava 中我认为最实用的功能. Guava 项目是 Google 公司开源的 Java 核心库,它主要是包含一些在 Java 开发中经常使用到的功能,如数据校验.不可变集合.计数集合,集合增强操作.I/O.缓存.字符串操作等.并且 Guava 广泛用于 Google 内部的 Java 项目中,也被其他公司广泛使用,甚至在新版 JDK 中直接引入了 Guava…
要写出 Pythonic(优雅的.地道的.整洁的)代码,还要平时多观察那些大牛代码,Github 上有很多非常优秀的源代码值得阅读,比如:requests.flask.tornado,笔者列举一些常见的 Pythonic 写法,希望能给你带来一点启迪. 1.变量交换 大部分编程语言中交换两个变量的值时,不得不引入一个临时变量: >>> a = 1 >>> b = 2 >>> tmp = a >>> a = b >>>…
转载:https://mp.weixin.qq.com/s?timestamp=1498528588&src=3&ver=1&signature=DfFeOFPXy44ObCMO3yMBLLgt5iFzbFAuShvog4m*JYf1w-gLIDZd7VoPWJN5f36DbVcaBJi33DkfXw6i-h*F7hVyz-wkID*CWQApnqKNCZU-D1o0fNl7h5DnB0HabcBOJV0c7i0*vmiKEZhGAFowkbtf*lioV3DQxtjLDFQI-L…
1.链式比较操作 age = 18 if age > 18 and age < 60: print("young man") pythonic if 18 < age < 60: print("young man") 理解了链式比较操作,那么你应该知道为什么下面这行代码输出的结果是 False. >>> False == False == True False 个人理解:这里的 False ==False == True 其…
http://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652565527&idx=1&sn=840c1ce854afc29bea9aaced35e4f78d&chksm=8464d85db313514b67d4bf7e559844f548fdc867346561b194ad065f9f2425a60d6646e43703&mpshare=1&scene=23&srcid=0703D1GnuUC9y…
1.一行代码启动一个Web服务 python -m SimpleHTTPServer 8080  # python2 python3 -m http.server 8080  # python3 2.一行代码实现变量值互换 a, b = 1, 2; a, b = b, a 3.一行代码解决FizzBuzz问题 FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz” print(' '.join(["fizz…
#-*- coding: utf-8 -*- import curses from random import randrange, choice from collections import defaultdict #Defines valid inputs to not allow for input errors actions = ['Up', 'Left', 'Down', 'Right', 'Restart', 'Exit'] lettercodes = [ord(ch) for…
本文是给有一点 Python 基础但还想进一步深入的同学,有经验的开发者建议跳过. 前言 上文讲述了如何认识开源项目和一些编程方法的介绍,这节主要来说说 Python 代码怎么写的一些演化过程和可以如何写的参考,在现在的 Sipeed 开源社区/社群里,有太多的新手不知道如何写好 Python 代码,尤其是嵌入式中的 Python 代码也是有不少的技巧和观念需要注意的,至少让这篇文章从循环开始说起. 可以把本文当作一篇经验之谈,主要是探讨代码稳定性与性能,以及一些计算机知识的拓展. 循环执行代码…