让你相见恨晚的十个Python骚操作


Posted in Python onNovember 18, 2020

前言

众所周知,Python 以语法简洁著称,同样实现一个功能,Java 可能要十来行,Python 一行就可以搞定。

Python 的代码之所以这么优雅,完全归功于其独有的特性,只要你掌握了这些特性,同样可以写出像诗一样的代码。

下面我们就一起看看 Python 中的骚操作。

0x00 Hello World

对于大部分程序员来说,第一个程序应该都是 "Hello World!" 了,Python 直接将该入门程序做成了一个包。

In [1]: import __hello__
Hello world!

0x01 交换变量

一行代码搞定变量交换,无需临时变量,也无需异或操作。

In [1]: x,y = y,x

0x02 变量比较

对于变量的连续比较,Python 是支持的比较好的。

In [24]: x = 10

In [25]: 5 < x < 20
Out[25]: True

In [26]: 11 < x < 20
Out[26]: False

0x03 列表推导式

In [2]: list = list(range(10))
# 取偶数
In [3]: even = [x for x in list if x % 2 == 0]

In [4]: even
Out[4]: [0, 2, 4, 6, 8]

0x04 合并字符串

很多语言合并字符串大都是通过 + 号来实现的,但由于字符串的不可变性,不断合并后的字符串会不断的申请新的内存。

In [5]: x = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

In [6]: ''.join(x)
Out[6]: 'abcdefg'

0x05 列表切片

In [2]: x
Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 取索引为 2 到 8 的值,步长为 2
In [4]: x[2:8:2]
Out[4]: [2, 4, 6]

# 步长为负值,表示从后面取值
In [6]: x[::-2]
Out[6]: [9, 7, 5, 3, 1]

0x06 反转字符串

In [7]: x = 'Hello Python!'

In [8]: x[::-1]
Out[8]: '!nohtyP olleH'

0x07 同时获取下标和值

x = list(range(10))
for index, value in enumerate(x):
 print(index, value)

0x08 zip()函数

In [7]: a = [1,2,3]

In [8]: b = [4,5,6]

In [9]: c = [7,8,9]

In [16]: list(zip(a, b, c))
Out[16]: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

# 逆操作
In [18]: zz = (zip(a, b, c))

In [19]: x, y, z = zip(*zz)

In [20]: x,y,z
Out[20]: ((1, 2, 3), (4, 5, 6), (7, 8, 9))

# 合并列表相邻项
In [22]: a = [1, 2, 3, 4, 5, 6]

In [23]: list(zip(a[::2], a[1::2]))
Out[23]: [(1, 2), (3, 4), (5, 6)]

0x09 闭包

def outer(x):
 def inner(y):
  # 在内函数中 用到了外函数的变量
  nonlocal x
  x += y
  return x + y

 # 外函数的返回值是内函数的引用
 return inner

fun = outer(10)

print(fun(10)) # 30
print(fun(10)) # 40
print(fun(10)) # 50

总结

今天我们学习了一些 Python 的技巧,都是大家平时工作必须掌握的技能。大家学会了么。

到此这篇关于让你相见恨晚的十个Python骚操作的文章就介绍到这了,更多相关十个Python骚操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
简单谈谈Python中的闭包
Nov 30 Python
Python实现Event回调机制的方法
Feb 13 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
python实现电子书翻页小程序
Jul 23 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
Python requests获取网页常用方法解析
Feb 20 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
浅谈anaconda python 版本对应关系
Oct 07 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 Python
pytorch 6 batch_train 批训练操作
May 28 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 Python
python搜索算法原理及实例讲解
Nov 18 #Python
python的数学算法函数及公式用法
Nov 18 #Python
python3中TQDM库安装及使用详解
Nov 18 #Python
Python3中FuzzyWuzzy库实例用法
Nov 18 #Python
scrapy redis配置文件setting参数详解
Nov 18 #Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 #Python
详解Scrapy Redis入门实战
Nov 18 #Python
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
理解Javascript闭包
2013/11/01 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
写给女生的道歉信
2014/01/08 职场文书
求职信模板
2014/05/23 职场文书
解除租房协议书
2014/12/03 职场文书
污染环境建议书
2015/09/14 职场文书
环保建议书作文400字
2015/09/14 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python