一个小示例告诉你Python语言的优雅之处


Posted in Python onJuly 04, 2014

比如, 我们希望希望检测"一段string是否以特定的字符串结尾?", 通常我们使用:

if needle.endswith('ly') or needle.endswith('ed') or
    needle.endswith('ing') or needle.endswith('ers'):
    print('Is valid')
  else:
    print('Invalid')

十分丑陋是吧? 如果我们检测变量needle是否是以下特定字符串之一的话, 会这样写:

if needle in ('ly', 'ed', 'ing', 'ers'):
    print('Is valid')
  else:
    print('Invalid')

但是, 我们无法在 endswith function 中使用 in, 但我们换一种想法, 我们需要检查的其实是"一段string的结尾是否是以下字符串的任意一个?", 我们会发现python有内部函数any, 于是我们的代码可以改为:

if any([needle.endswith(e) for e in ('ly', 'ed', 'ing', 'ers')]):
    print('Is valid')
  else:
    print('Invalid')

相信很多读者在此会不同意我的做法, 或者有更好的写法存在. 但这已经不重要. 我明白你们大多数都会使用类似的写法面对这一相似的问题. 我真正的目的其实是展示一下Python的优雅之处.

Python 相关文章推荐
初学Python实用技巧两则
Aug 29 Python
Python中的包和模块实例
Nov 22 Python
Python装饰器使用示例及实际应用例子
Mar 06 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 Python
python中的装饰器详解
Apr 13 Python
使用python遍历指定城市的一周气温
Mar 31 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
python爬取网易云音乐评论
Nov 16 Python
如何利用python发送邮件
Sep 26 Python
python中round函数保留两位小数的方法
Dec 04 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 #Python
Python Deque 模块使用详解
Jul 04 #Python
Python中的二叉树查找算法模块使用指南
Jul 04 #Python
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 #Python
python之import机制详解
Jul 03 #Python
Python之eval()函数危险性浅析
Jul 03 #Python
python的绘图工具matplotlib使用实例
Jul 03 #Python
You might like
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
php 可变函数使用小结
2018/06/12 PHP
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
初步理解Python进程的信号通讯
2015/04/09 Python
python保存字符串到文件的方法
2015/07/01 Python
Python可变参数用法实例分析
2017/04/02 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
关于python 跨域处理方式详解
2020/03/28 Python
python获取整个网页源码的方法
2020/08/03 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
PHP数据运算类型都有哪些
2013/11/05 面试题
应届生高等护理求职信
2013/10/12 职场文书
金融事务专业求职信
2014/04/25 职场文书
高考学习决心书
2015/02/04 职场文书
导游词格式
2015/02/13 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python
python中的random模块和相关函数详解
2022/04/22 Python