文档章节

编写地道的python(1)

hyperfox
 hyperfox
发布于 2015/08/26 00:22
字数 369
阅读 5
收藏 0

该系列博文原文出自jeff knupp所著的编写地道的python(writing idiomatic python)一书, 原书版权归原作者所有.

关于if语句

  1. 避免直接与True, False或None去比较. 在python中,以下几种情况都会被当做False:

    1. None

    2. False

    3. 数字类型的0

    4. 空list或dict

    5. 0值或者当__len__或__nonzero返回False

    其他情况都会当做True, 你可以重写e中的两个内置函数来自定义如何才会返回True或者False.

    你可以直接这样写 if foo: 而不用这样写 if foo == True:

    这样写的好处在于经过未来的重构之后, foo可能变成了一个int类型的值而且永远不会 == True, 直接写 if foo: 就不用再修改原先的函数了.

    这里有个点要注意区分一下,就是==和is的区别, ==意思是值是否相等,它调用的是类内部的_eq, is意思是他们是否是同一个对象,即两个变量是否指向的是同一段内存, 有些地方is表现的像==一样,但是这是不可靠的.

    注意有些情况是必须与None去比较的,比如

    def insert_data(self, position=None):
        if position is None:

    此处由于0也是一个有效值所以不能直接写 if position:

    还有一种情况是如果与None去比较必须使用is或者is not,不要用==. (PEP8规定)

© 著作权归作者所有

共有 人打赏支持
hyperfox

hyperfox

粉丝 4
博文 2
码字总数 798
作品 1
广州
程序员
私信 提问
福利 | Python专场竞技,这些书给你加把力!

端午节将至,各地龙舟备战竞技,粽子部队也整装待发。小编掐指一算,这种热闹的时节,是时候展现真正的技(fu)术(li)了! (“Python号”龙舟闪亮登场!) Python作为当下最流行的编程语言...

06/15
0
0
Python|19个优雅的Python编程技巧,涨姿势

Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀...

糖宝lsh
12/04
0
0
Python书单(内附获取方法)

Python书单 Python 之所以这么流行得益于它适用于很多不同领域,目前 Python 使用最广泛的领域包括有 Python Web(后端)开发、数据分析挖掘、网络爬虫、机器学习人工智能、运维开发等等。不...

_小迷糊
07/27
0
0
巧用 python 脚本控制你的C程序(首发在我的博客园)

http://www.cnblogs.com/haippy/archive/2011/09/17/2179902.html python是一门艺术语言,除了开发桌面程序,还能够开发网络应用,数据库应用,还可以代替shell编写一些的实用脚本,本文主要...

大卷卷
2011/09/22
0
0
centos7使用vim打造强大的python IDE

编译升级vim centos7.3自带的vim是7.4.*版本, YouCompleteMe需要Vim 7.4.1578+ 我这里编译安装vim8.0 编译参数说明: [ ] –with-features=huge:支持最大特性 [ ] –enable-rubyinterp:打开...

喵来个鱼
10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL自增属性auto_increment_increment和auto_increment_offset

MySQL的系统变量或会话变量auto_increment_increment(自增步长)和auto_increment_offset(自增偏移量)控制着数据表的自增列ID。 mysql> show tables;Empty set (0.00 sec)mysql> CREATE TA......

野雪球
12分钟前
0
0
OSChina 周三乱弹 —— 有一天考拉麻麻拉肚子了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享周汇洋的单曲《Man Srae(曼斯拉之舞)》:美滋滋。。。。 手机党少年们想听歌,请使劲儿戳(这里) 我听了一下 赶紧关了, ...

小小编辑
今天
68
5
oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
7
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
6
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部