Number

数字,是一个大的分类,细分四小类

  • 整数:int
  • 浮点数:float
  • 布尔:bool
  • 复数:complex

int 的栗子

print(type(-1))
print(type(1))
print(type(-999999999999999))
print(type(9999999999999999)) // 输出结果
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
  • 无论正数负数都是 int
  • 即使数字再长也还是 int,不会变成像 java 的 long

float 的栗子

print(type(-1.0))
print(type(1.11))
print(type(-1.11111111111111)) //输出结果
<class 'float'>
<class 'float'>
<class 'float'>

即使精度再大,也还是 float,不会像 java 分单精度、双精度

加法

print(type(1 + 1))
print(type(1 + 1.0))
print(type(1 + 0.0))
print(type(1 + 1.11)) # 输出结果
<class 'int'>
<class 'float'>
<class 'float'>
<class 'float'>
  • int + int = int
  • int + float = float,会自动转型为浮点数
  • float + float = float

减法

print(type(1 - 1))
print(type(1 - 0.0))
print(type(1 - 1.1))
print(type(2.0 - 1)) # 输出结果
<class 'int'>
<class 'float'>
<class 'float'>
<class 'float'>

和加法一个道理

乘法

print(type(1 * 1))
print(type(1 * 1.0))
print(type(-1 * -1.0))
print(type(2.0 * 1)) # 输出结果
<class 'int'>
<class 'float'>
<class 'float'>
<class 'float'> 

和加减法一个道理

除法

print(type(2 / 2))
print(type(2 / 1.0))
print(type(2 // 2))
print(type(2 // 1.0)) # 输出结果
<class 'float'>
<class 'float'>
<class 'int'>
<class 'float'> 

和加减乘法稍稍不一样哦,具体看下面

/ 和 // 的区别

  • / 除法,自动转型成浮点数
  • // 整除,只保留整数部分
print(2 / 2)
print(2 // 2)
print(1 / 2)
print(1 // 2) # 输出结果
1.0
1
0.5
0

进制数

10 进制

  • 0,1,2,3,4,5,6,7,8,9
  • 满 10 进 1 位
  • 正常写的 Number 都是 10 进制

2 进制

  • 0,1
  • 满 2 进 1 位
# 二进制
print(0b10) # 2^1 + 0
print(0b11) # 2^1 +2^0
print(0b100) # 2^2 + 0 + 0 # 输出结果
2
3
4

8 进制

  • 0,1,2,3,4,5,6,7
  • 满 8 进 1 位
# 八进制
print(0o1) # 1
print(0o11) # 8^1 + 1
print(0o117) # 8^2 + 8^1 + 7 # 输出结果
1
9
79

16 进制

  • 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
  • 满 16 进 1 位
# 十六进制
print(0x1) # 1
print(0x19) # 16+9
print(0x2A) # 16*2+10
print(0x9F) # 16*9+15 # 输出结果
1
25
42
159

int() 转成十进制

int 可以将数字字符串和 Number 类型的值转成整数

# 转成十进制
print(0b101)
print(0o777)
print(0xBBB)
print(int(0b101))
print(int(0o777))
print(int(0xBBB))
print(int("-123"))
print(int(1.1))
print(int(1.9)) # 输出结果
5
511
3003
5
511
3003
-123
1
1
  • 不写 int() 的话,也可以将其他进制的数自动转成十进制
  • int() 能将纯整数(不能是浮点数)的字符串转成 int 类型
  • 传入浮点数不会进行四舍五入,直接取整数部分

bin() 其他进制数转二进制

# 转成二进制
print(bin(10)) # 10 转成 2进制
print(bin(0o7)) # 7 转成 2进制
print(bin(0xA)) # 10 转成 2进制
print(bin(0o27)) # 8*2+7 转成 2进制
print(bin(0x22E)) # 16^2*2+16*2+14 转成 2进制 # 输出结果
0b1010
0b111
0b1010
0b10111
0b1000101110

oct() 其他进制转成八进制

# 转成八进制
print(oct(110))
print(oct(0b100))
print(oct(0xAAA)) # 输出结果
0o156
0o4
0o5252

hex() 其他进制转成十六进制

# 转成十六进制
print(hex(110))
print(hex(0b100))
print(hex(0o777)) # 输出结果
0x6e
0x4
0x1ff

bool

布尔类型

  • 真:True
  • 假:False
# 打印 bool 和 type
print(True)
print(False)
print(type(True))
print(type(False)) # 输出结果
True
False
<class 'bool'>
<class 'bool'>

注意不是 true 和 false哦

为什么说 bool 属于 Number 的一种呢?

# 可以将它转成 int 呢?
print(int(True))
print(int(False)) # 输出结果
1
0

因为 int 能讲 bool 转成整型,True 就是 1,False 就是 0

那只有 1 和 0 能表示 True 和 False吗?

并不是

Number

# 数字
print(bool(1))
print(bool(1.1))
print(bool(-1))
print(bool(0)) # 输出结果
True
True
True
False

字符串

# 字符串
print(bool("123"))
print(bool(""))
print(bool(" "))
print(bool("\n")) # 输出结果
True
False
True
True

列表

# 列表
print(bool([1, 1]))
print(bool([])) # 输出结果
True
False

元组

# 元组
print(bool((1, 1)))
print(bool(())) # 输出结果
True
False

set

# set
print(bool({1, 1, 1}))
print(bool({})) # 输出结果
True
False

None

# None
print(bool(None)) # 输出结果
False

总结

无论什么数据类型,主要是空值就会为 False,非空就是 True

复数

  • 36j,直接在数字后面加 j
  • 用的比较少,不写了

Python - 基本数据类型_Number 数字、bool 布尔、complex 复数的更多相关文章

  1. 第七篇Python基本数据类型之数字&字符串&布尔值

    数字 写在最前,必须要会的:int() 整型 Python3里无论数字多长都用int表示,Python2里有int和Long表示,Long表示长整型 有关数字的常用方法,方法调用后面都必须带括号() ...

  2. Python数据类型-01.数字和布尔值

    本节主要介绍Python中的基础知识中的数据类型,数字和布尔值 介绍几个知识点:1)内置函数print()的用法,直接打印括号里面的内容,或者print后跟多个输出,以逗号分隔.2)内置函数type( ...

  3. python基本数据类型之数字类型和其相关运算

    数字(number) Python3 支持 int.float.bool.complex(复数). 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...

  4. 【python基础语法】数字、布尔值(第1天课堂笔记)

    # 导入模块 import keyword # print语句将内容输出到控制台 print("hello world!") # pep8编码规范 # 代码快速格式化快捷键:ctr ...

  5. Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  6. Python基本数据类型之整型和布尔型

    整型和布尔型 获取对象的数据类型 1.type() 2.dir() 3.help() 4.在pycharm里面的操作 数字类型 int 创建: int() 接收数字字符串 .bit_lenght() ...

  7. Python开发——数据类型【数字】

    布尔型 bool型只有两个值:True 或 False 我们将bool值归类为数字,习惯上:1表示true,0表示false 整型 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2* ...

  8. Python基本数据类型之数字int

    数字 int(x, base=None) 将x转换为一个整数.base为按照多少进制进行转换 float(x) 将x转换到一个浮点数. complex(x) 将x转换到一个复数,实数部分为 x,虚数部 ...

  9. python基础数据类型—int、bool、字符串的常用方法

    1.int int为整型数据,主要用于计算和类型转化(将字符串转为数字) 常用方法 #bit_length()当用二进制表示数字时所用最少位数,如下十进制数12用二进制表示是1100(bin),所以# ...

随机推荐

  1. 灵动微电子ARM Cortex M0 MM32F0010 GPIO 的配置驱动LED灯

    灵动微电子ARM Cortex M0 MM32F0010 GPIO的配置 目录: 1.前言 2.学习方法简要说明 3.要点提示 4.注意事项 5.MM32F0010系统时钟的配置 6.MM32F001 ...

  2. Linux-SSH介绍与认证方式

    Linux SSH 前言: 在实际的生产环境中,运维人员经常要使用本地的计算机对远程主机进行控制工作,TCP/IP协议提供了两种协议来完成这样的操作,分别为Telnet协议和SSH协议. 由于Teln ...

  3. 永远的Ace 实验四 团队作业1:软件研发团队组建

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...

  4. zk客户端及锁的使用

    1.生成zk客户端对象 private CuratorFramework buildClient() { logger.info("zookeeper registry center ini ...

  5. 基于Jittor框架实现LSGAN图像生成对抗网络

    基于Jittor框架实现LSGAN图像生成对抗网络 生成对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的 ...

  6. 3D Cube计算引擎加速运算

    3D Cube计算引擎加速运算 华为达芬奇架构的AI芯片Ascend910,同时与之配套的新一代AI开源计算框架MindSpore. 为什么要做达芬奇架构? AI将作为一项通用技术极大地提高生产力,改 ...

  7. AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(三) ImageNet分类 您可以使用Darknet为1000级ImageNet挑战赛分类图像.如果你还没有安装Darknet,你应该 ...

  8. 「题解」CF1468M Similar Sets

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:洛谷.CF1468M. 题意简述 给定 \(n\) 个集合 \(S_{1\sim n}\),问是否存在 \(i,j\) 满 ...

  9. SpringBoot数据访问(一) SpringBoot整合Mybatis

    前言 SpringData是Spring提供的一个用于简化数据库访问.支持云服务的开源框架.它是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案,其设计目的是为了使我们可以快速且 ...

  10. 搭建 MySQL 高可用高性能集群

    什么是MySQL集群,什么是MySQL集群,如果你想知道什么是MySQL集群,我现在就带你研究. MySQL 是一款流行的轻量级数据库,很多应用都是使用它作为数据存储.作为小型应用的数据库,它完全可以 ...