【Python 第18课】 bool类型转换

昨天最后留的几句关于bool类型的转换,其中有一行:

bool('False')

print一下结果,会发现是True。这是什么原因?

因为在python中,以下数值会被认为是False:

为0的数字,包括0,0.0

空字符串,包括'',""

表示空值的None

空集合,包括(),[],{}

其他的值都认为是True。

None是python中的一个特殊值,表示什么都没有,它和0、空字符、False、空集合都不一样。关于集合,我们后面的课程再说。

所以,‘False’是一个不为空的字符串,当被转换成bool类型之后,就得到True。

同样bool(' ')的结果是True,一个空格也不能算作空字符串。

bool('')才是False。

在if、while等条件判断语句里,判断条件会自动进行一次bool的转换。比如

a = '123'

if a:

print 'this is not a blank string'

这在编程中是很常见的一种写法。效果等同于

if bool(a)

或者

if a != ''

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看课程目录

回复『 t 』查看习题列表

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2013-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏转载gongluck的CSDN博客

python笔记:#007#变量

变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在...

3338
来自专栏女程序员的日常

虚函数&多态

对于经常被问到的虚函数和多态的问题,发现百度百科回答得十分详细,所以自己在百度百科上的解释进行总结 一、虚函数 (1)虚函数简介:在某基类中声明为virtua...

2321
来自专栏编码前线

关于三种工厂模式的总结

工厂模式分为简单工厂模式,工厂方法模式和抽象工厂模式,它们都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,目的是降低系统中代...

1071
来自专栏小詹同学

Leetcode打卡 | No.23 合并 k 个有序链表

欢迎和小詹一起定期刷leetcode,每周一和周五更新一题,每一题都吃透,欢迎一题多解,寻找最优解!这个记录帖哪怕只有一个读者,小詹也会坚持刷下去的!

1361
来自专栏AI2ML人工智能to机器学习

Python的map函数理解四式

这个map函数是python的内嵌的函数, 那么如何手写一个自己的map函数, 实现内嵌map函数一模一样的功能呢?

1132
来自专栏工科狗和生物喵

【计算机本科补全计划】《C++ Primer》:类型转换

正文之前 学习,不如爆文?反正晚上也不会学习,某个家伙也对我爱理不理的!!!!(这才是最骚的吧),刚好欠了 C++ Primer太多烂账了。不如赶紧还了! 对了...

3108
来自专栏desperate633

设计模式之工厂方法模式(FACTORY METHOD)问题模拟工厂方法模式分析依赖倒置原则小结

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 我们依然接着简单工厂模式提出的披萨店问题继续探讨

974
来自专栏程序员互动联盟

【编程基础】C++ Primer快速入门五:实用的模板库

除上篇博客介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类 型标准库。包括 string 和 vector,它们分别定义了字符串和矢量(集合)。s...

2935
来自专栏pangguoming

全面理解面向对象的 JavaScript

前言 当今 JavaScript 大行其道,各种应用对其依赖日深。web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而...

38110
来自专栏LeetCode

LeetCode <dp>343. Integer Break

Given a positive integer n, break it into the sum of at least two positive integ...

820

扫码关注云+社区

领取腾讯云代金券