python之禅怎么关闭_《Python之禅》中对于Python编程过程中的一些建议
围绕一门语言,学习它的文化精髓,能让你成为一名更优秀的程序员。如果你还没读过Python之禅(Zen of Python) ,那么打开Python的命令提示符输入import this,列表中的每一项你都可以在这里找到相对应的例子。
吸引我注意力的一条是:
优雅胜于丑陋 (Beautiful is better than ugly)
看下面例子:
一个带有数字参数的list函数其功能是返回参数中的奇数可以分开写:
?
记住Python中那些非常简单的事
两个变量的交换:
?
参数在切片操作中的步骤,如:
?
一个特殊的例子 `x[::-1]`用来反转x的实用语法。
?
不要用可变对象作为默认参数值(Don't use mutable as defaults)
?
使用iteritems而不是items
iteriterms 使用的是 generators,所以当迭代很大的序列是此方法更好
?
此情景和range与xrange的关系相似。
使用isinstance 而不是type
不要这样做:
?
应该是这样:
?
至于为什么这样做,看这里:http://stackoverflow.com/a/1549854/504262
需要注意的是这里使用basestring而不是str是因为你可能会用一个unicode对象去检查是否为string,例如:
?
因为在Python中3.0以下的版本存在两种字符串类型str和unicode
学习各种集合(learn the various collections)
python有各种各样的容器数据类型,在特定情况下选择python内建的容器如:list和dict。通常更多像如下方式使用:
?
一种更好的方案如下:
?
一种更好的选择 collection类型defautdict:
?
其它集合
?
当创建类时Python的魔术方法:
?
条件赋值
?
表达式请起来恰恰像:如果y等于1就把3赋值给x,否则把2赋值给x,当然同样可以使用链式条件赋值如果你还有更复杂的条件的话。
?
然而到了某个特定的点,它就有点儿过分了。
记住,你可以在任何表达式中使用if-else例如:
?
func1将被调用如果y等于1的话,反之func2被调用。两种情况下,arg1和arg2两个参数都将附带在相应的函数中。
类似地,下面这个表达式同样是正确的
?
class1和class2是两个类
在有必要的时侯使用Ellipsis
创建类时,你可以使用__getitem__,让你的类像字典一个工作,拿下面这个类举例来说:
?
因为有了__getitem__,你就能够通过对象x的x[‘a']获取a的值,这应该是公认的事实。
这个对象通常用于继承Python的切片(slicing) (http://docs.python.org/library/stdtypes.html#bltin-ellipsis-object),如果添加如下语句:
?
我们就可以使用x[…]获取的包含所有项的序列
?
python之禅怎么关闭_《Python之禅》中对于Python编程过程中的一些建议相关推荐
- python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议
<Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: <Python之禅>中对于Pyt ...
- python怎么复数乘方开方_运维必须掌握的 Python 宝典:值得每天复习一遍
前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演练时能够快速查询遗忘的知识点. 学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分, ...
- python线程池阻塞队列_福利又来啦!python多线程进阶篇
使用Python中的线程模块,能够同时运行程序的不同部分,并简化设计.如果你已经入门Python,并且想用线程来提升程序运行速度的话,希望这篇教程会对你有所帮助. 通过阅读本文,你将了解到:什么是死锁 ...
- python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理
Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...
- python竞赛试题及答案_竞赛信息 | 蓝桥杯大赛Python组
蓝桥杯大赛 青少年创意编程Python组 竞赛规则及样题 - 竞赛规则 - 1 竞赛时长 Python编程组竞赛的选拔赛.省赛及国赛,竞赛时长均为120分钟,详细赛程安排另行通知. 2 竞赛形式 竞赛 ...
- python创建类统计属性_轻松创建统计数据的Python包
python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...
- python就业需要的技能_教你如何快速掌握Python就业技能
-人生苦短,为什么要学Python? 简单易学 应用广泛 大厂青睐 (油管大神评选的2020最值得学就业语言-Python) 因为以上的种种理由,无论是国外还是国内, Python都荣登2020最值得 ...
- python shell的无法保存_关于shell:如何保存Python交互式会话?
我发现自己经常使用Python的解释器来处理数据库,文件等-基本上是半结构化数据的许多手动格式化.我没有按我想的那样适当地保存和清理有用的位.有没有一种方法可以将我的输入保存到外壳中(数据库连接,变量 ...
- 抖音python上的代码视频_资深程序员:十行Python代码教你爬取抖音视频!
环境说明 环境: python 3.7.1 centos 7.4 pip 10.0.1 部署 [root@localhost ~]# python3.7 --version Python 3.7.1 ...
- python人生的不同阶段_从入门到入土的Python自学教程,用改变你的人生轨迹
Python在近几年越来越受追捧,很多童鞋或者职场小伙伴想要提升技能-学习Python. 这是非常好的事情,但问题在于很多人不知道学Python做什么,所以什么零碎细末.艰难晦涩.长篇大论的都去看,很 ...
最新文章
- 模式设计概述:反应器(Reactor)模式
- 有人说Julia比Python好,还给出了5个理由
- duapp获取mysql用户名密码等等……
- 看看样条插值区间查找函数写的多细腻
- 介绍一种找bug的方法
- iostat -x命令诊断
- 在Ubuntu 14.04平台上利用Intel的GPU实现硬件加速--基于VAAPI
- IIS部署VUE刷新404问题如何解决?
- MySQL实现类似Oracle的序列
- matlab绘制等间距同心圆,CDR绘制等距离同心圆的多种方法
- VirtualBox中安装Android-x86详解
- (13)Spring框架----Spring与Mybatis的框架整合(XML配置详解)
- Verilog学习笔记 (四)QPSK调制实现
- 用户故事 | 工商银行核心应用 MySQL 治理实践
- 新MAC苹果M1芯片简要分析(是不是地表最强呢??)
- 阿里云--短信服务---开通步骤
- 荣耀60和荣耀x30max哪个好
- Python分析盘点2019全球流行音乐:是哪些歌曲榜单占领了我们?
- 深度学习6---案例:人民币识别实现
- 2021年10月8日模拟赛(保龄奇遇记)