令你瞠目结舌的 Python 代码技巧
0. for-else
在 Python 中,else 不仅可以与 if 搭配使用,还可以与 for 结合。
python答疑 咨询 学习交流群2:660193417###
for x in range(5):
if x == 2:
print(x)
# break
else:
print("执行else....")
1. 交换元素的值
python答疑 咨询 学习交流群2:660193417###
a = "我是a的值"
b = "我是b的值"
a,b = b,a
2. 多赋值
a = b = c = '小熊猫爱恰饭'
3. 列表推导式
列表推导式可以说是我最喜欢的 Python 技巧之一。这种表达式可以让你写出像自然语言一样易于理解并且还很简洁的代码。
python答疑 咨询 学习交流群2:660193417###
numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']
def visit(city):
print("Welcome to "+city)
for city in cities:
visit(city)
4. try-except-else
在 Python 中,使用 try-except 进行异常捕获,else 可用于当没有异常发生时执行。如果你需要执行一些代码,不管是否发生过异常,请使用 finally。
a, b = 1,0
try:
print(a/b)
# exception raised when b is 0
except ZeroDivisionError:
print("division by zero")
else:
print("no exceptions raised")
finally:
print("Run this always")
5. 合并两个字典
在 Python2 中,使用 update() 方法来合并,在 Python3.5 中,更加简单,在下面的代码片段中,合并了两个字典,在两个字典存在交集的时候,则使用后一个进行覆盖。
dict_1 = {'apple': 9, 'banana': 6}
dict_2 = {'banana': 4, 'orange': 8}
combined_dict = {**dict_1, **dict_2}
print(combined_dict)
6. 字典列表生成式
dict1 = {1: "val1", 2: "val2", 3: "val3", 5: "val5"}
dict2 = {k*2: v for k, v in dict1.items()}
print(dict2)
7. MAP
Python 有许多非常有用的内置函数,其中一个就是 map()——特别是和 lambda 函数相结合的时候。
x = [1, 2, 3]
y = map(lambda x : x + 1 , x)
# prints out [2,3,4]
print(list(y))
在这个例子中,map() 对 x 中的每一个元素都应用了一个简单的 lambda 函数。它会返回一个 map 对象,这个对象可以被转化成可迭代对象,如:列表或者元组。
8. VRITUAL ENVIRONMENTS
这可能是我最喜欢的 Python技巧 了。你可能经常要处理不止一个 Python 项目,不幸的是,有时候不同项目会依赖不同的 Python 版本,这个时候,你应该在系统里安装哪个 Python 版本呢?
幸运的是,Python 可以支持建立不同的虚拟环境来满足不同的版本需求。
python -m venv my-project
source my-project/bin/activate
pip install all-the-modules
现在你可以在一台机器上安装和运行各个独立版本的 Python。
09. PPRINT
Python 的默认 print 函数可以满足日常的输出任务,但如果要打印更大的、嵌套式的对象,那么使用默认的 print 函数打印出来的内容会很丑陋。
这个时候我们就需要 pprint 了,它可以让复杂的结构型对象以可读性更强的格式显示,这对于经常要面对非普通数据结构的 Python 开发者来说是必不可少的工具。
import requests
import pprint
url = 'https://randomuser.me/api/?results=1'
users = requests.get(url).json()
pprint.pprint(users)

令你瞠目结舌的 Python 代码技巧的更多相关文章
- 一些你需要知道的Python代码技巧
被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧. Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...
- 掌握这些Python代码技巧,编程至少快一半!
被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧. Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...
- python代码技巧总结(更新至17条)
怎么提高代码水平?答:看牛逼的代码! 牛逼的代码怎么写的?简单,明确,优雅! 怎么简单,明确,优雅?学技巧! 下面搜罗了一些有才格子褂青年的总结,哈哈 1.检查 Python 中的对象 调用 dir( ...
- [转] Python 代码性能优化技巧
选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化 ...
- Python代码性能优化技巧
摘要:代码优化能够让程序运行更快,可以提高程序的执行效率等,对于一名软件开发人员来说,如何优化代码,从哪里入手进行优化?这些都是他们十分关心的问题.本文着重讲了如何优化Python代码,看完一定会让你 ...
- Python 代码性能优化技巧(转)
原文:Python 代码性能优化技巧 Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化. ...
- Python 代码性能优化技巧
选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化 ...
- 教你一招,提升你Python代码的可读性,小技巧
Python的初学者,开发者都应该知道的代码可读性提高技巧,本篇主要介绍了如下内容: PEP 8是什么以及它存在的原因 为什么你应该编写符合PEP 8标准的代码 如何编写符合PEP 8的代码 为什么我 ...
- 【转载】Python 代码调试技巧
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 张 颖2012 年 5 月 03 日发布 ...
随机推荐
- Java语言学习day37--8月12日
今日内容介绍1.List接口2.Set接口3.判断集合唯一性原理 ###01List接口的特点 A:List接口的特点: a:它是一个元素存取有序的集合. 例如,存元素的顺序是11.22.33.那么 ...
- python基础练习题(题目 求输入数字的平方,如果平方运算后小于 50 则退出)
day32 --------------------------------------------------------------- 实例046:打破循环 题目 求输入数字的平方,如果平方运算后 ...
- 漏洞复现:MS12-020 远程桌面协议RDP远程代码执行漏洞
漏洞复现:MS12-020 远程桌面协议RDP远程代码执行漏洞 攻击机:Kali2019 靶机:Win7 64位 解题步骤: 1.打开Kali2019和Win7 64位 ,确定IP地址是多少 2.确定 ...
- bellman-ford 单源最短路问题 图解
核心思想:松弛操作 对于边(u,v),用dist(u)和(u,v)的和尝试更新dist(v): dist(v) = min(dist(v) , dist(u)+l(u,v) 注:dist(i)为源 ...
- QtWebEngine性能问题
目录 1. 概述 2. 详论 2.1. 图形属性设置 2.2. 硬件加速设置 2.3. Qt6 3. 参考 1. 概述 Qt的Qt WebEngine模块是基于Chromium项目,但是本人在使用QW ...
- Cubieboard安装系统
2013年买的一个小玩意. 一.硬件 1.1 相关资料 http://www.cubieforums.com http://cubie.cc 1.2 cubieboard1 1.3 无线网卡 水星 M ...
- linux篇-linux面试题汇总
Linux经典面试题,看看你会几题? 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统 ...
- MUI+html5+script 不同页面间转跳(九宫格)
在点击图片/标题需要跳转到详情页面的使用场景中,首先定义图片元素的id为"tyzc",是同一类下的第一个图片 <img src="img/img3.png" ...
- Spring Authorization Server 0.3.0 发布,官方文档正式上线
基于OAuth2.1的授权服务器Spring Authorization Server 0.3.0今天正式发布,在本次更新中有几大亮点. 文档正式上线 Spring Authorization Ser ...
- 《Effective C++》阅读总结(三):资源管理
C++中的资源管理非常重要,在将资源加载到内存后,便可以使用资源了,当我们不再需要资源时,我们要保证其正确的释放,才能将其占用的内存空间归还给操作系统,不正确的释放很容易造成内存泄漏.本章以资源管理类 ...