心蓝的博客 心蓝的博客
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

心蓝

人生苦短,我用python
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • 编程基础

  • python开发环境搭建

  • 基本数据类型

    • 基本数据类型概述
    • 变量的定义和使用
    • 整数类型
    • 浮点数类型
    • 算术运算符
    • 赋值运算符
    • 字符串类型
    • 字符串常用方法
    • 字符串格式化
    • 列表类型
    • 元组类型
    • 12 可变与不可变对象
    • 13 深浅拷贝
    • 14 集合类型
    • 字典类型
    • 布尔型
      • 布尔类型转换
      • 比较运算符
      • 成员运算符
      • 逻辑运算符
      • 布尔型运算
    • None
  • 程序流程控制

  • 函数与代码复用

  • 面向对象

  • 模块和包

  • 文件IO操作

  • python零基础入门
  • 基本数据类型
心蓝
2022-12-14
目录

布尔型

# 布尔型

python中还有一个数据类型是布尔型(bool),只有两个值,也是内置常量:

  • True:真
  • Flase: 假

一般用于条件判断。

>>> True
True
>>> Flase
False
>>> type(False)
bool
>>> type(True)
bool
1
2
3
4
5
6
7
8

注意

首字母要大写。

# 布尔类型转换

任意数据都可以通过函数bool转换成布尔型。

在python中整数0,浮点数0.0,复数0.0+0.0j,空字符串'',空列表[],空元组(),空集合set(),空字典{},None的布尔值都是False,其他数值都为True。

>>> print(bool(0))
False
>>> print(bool(0.0))
False
>>> print(bool(0.0+0.0j))
False
>>> print(bool(''))
False
>>> print(bool([]))
False
>>> print(bool(()))
False
>>> print(bool({}))
False
>>> print(bool(set()))
False
>>> print(bool(None))
False
>>> print(bool(0.1))
True
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 比较运算符

相同类型的数据可以通过比较运算符进行比较,结果为布尔型。python中支持的比较运算符有:

运算符 描述 实例
== 等于-比较对象是否相等 print(a==b) # False
is 等于-比较对象的内存地址是否相同 print(a is b)
!= 不等于 print(a!=b) # True
> 大于 print(a>b) # False
< 小于 print(a<b) # True
>= 大于等于 print(a>=b) # False
<= 小于等于 print(a<=b) # True
>>> a = 1
>>> b = 2
>>> a == b
False
>>> a < b
True
>>> a != b
True
>>> a <= b
True
1
2
3
4
5
6
7
8
9
10

数字间的比较运算和数学完全一致,字符串的比较是通过unicode。

注意

面试常被问到的一个问题是,==和is的区别。

  • ==是比较两个对象的值是否相等。

  • is是比较两个对象的id()是否相等。

>>> a = 300
>>> b = 300
>>> a == b
True
>>> a is b
False
1
2
3
4
5
6

# 成员运算符

在python中可以通过成员运算符in来检查一个对象是否是另外一个对象的成员。

运算符 描述 实例
in 如果在指定的序列中找到值返回True,否则False L = [1, 2, 3, 4, 5] a = 3 print(a in L) # True
not in 如果在指定的序列中没有找到值返回True,否则False print(a not in L) # False

支持成员运算符的基本数据类型有,字符串,列表,元组,集合,字典。

>>> ls = [1,2,3,4]
>>> 1 in ls					# 检查列表的元素
True
>>> s = ['abcdefg']
>>> 'a' in s				# 检查字符串
True
>>> t = (1,2,3)				# 检查元组
>>> 4 in t
False
>>> d = {'name': 'xinlan', 'age': 18}
>>> 'name' in d				# 检查字典的键
True
>>> st = {1,2,3}
>>> 1 in st					# 检查集合
True
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 逻辑运算符

python中支持的逻辑运算符有

运算符 描述 实例
and 与,如果x为False,x and y返回x的值,否则返回y的值 print(a and b) # True
or 或,如果x为True,x and y返回x的值,否则返回y的值 print(a or b) # True
not 非,如果x为True,返回False,反之,返回True print(not a) # False

注意仔细看描述,编程语言里的逻辑运算为了效率计算方式有所不同。

  • and

逻辑与,两边都为真就为真,否则为假。

但注意在python中真正运算时的规则为:如果x为False那么x and y会返回x的值,否则返回y的值。这样计算的好处是当x为Flase直接返回x的值,不会去计算y,提高效率,在python中这种情况叫短路。

>>> True and True
True
>>> True and Flase
Flase
>>> 0 and 2**3		# 短路,不会计算2**3
0
1
2
3
4
5
6
  • or

逻辑或,有一边为真即为真,全为假即为假。

但注意在python中真正运算时的规则为:如果x为True那么x and y会返回x的值,否则返回y的值。这样计算的好处是当x为True直接返回x的值,不会去计算y,提高效率,在python中这种情况叫短路。

>>> False or False
False
>>> True or False
True
>>> 1 or 2**3		# 短路,不会计算2**3
1
1
2
3
4
5
6
  • not

逻辑非,取反

>>> not False
True
>>> not True
False
>>> not 1
False
>>> not 0
True
1
2
3
4
5
6
7
8

# 布尔型运算

布尔型是整数类型的子类,True是真,实际值是1,False是假,实际值是0。布尔型可以直接和数字进行数学计算。

>>> True + 1
2
>>> False - 1
-1
1
2
3
4

本文完,感谢你的耐心阅读,如有需要可加我微信,备注「博客」并说明原因,我们一起进步,下次见。

#python#零基础
上次更新: 2022/12/15, 21:20:30
字典类型
None

← 字典类型 None→

最近更新
01
requests让接口测试如此简单 原创
03-31
02
最简明的python正则教程
03-30
03
pycharm激活码
12-30
更多文章>
Theme by Vdoing | Copyright © 2019-2025 心蓝
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式