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. Sqlflow 之隐私政策(Privacy plolicy)介绍

    在大数据技术流行的今天,SQLFlow 可以通过分析各种数据库对象的定义给开发和管理者带来很大的助力.能够让您在大数据时代应对自如,如虎添翼. 在之前的文章中我们已经详细介绍过SQLFlow是什么.能 ...

  2. GO学习-(18) Go语言基础之并发

    Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微 ...

  3. GO学习-(17) Go语言基础之反射

    Go语言基础之反射 本文介绍了Go语言反射的意义和基本使用. 变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息. 值信息:程序运行过程中可动态变化的. 反射介绍 反射是指 ...

  4. Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法

    Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法   之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...

  5. 不是都需要ARM吗?

    不是都需要ARM吗? ARM系统架构简介 什么是ARM处理器,为什么没有听说? ARM-缩写:Advanced RISC Machines 该处理器起源于1984年的英格兰.在成立之初,ARM代表Ac ...

  6. 使用nGraph的Intel&#174;Xeon&#174;上的高性能TensorFlow

    使用nGraph的IntelXeon上的高性能TensorFlow High-performance TensorFlow* on Intel Xeon Using nGraph 最近宣布了nGrap ...

  7. Python集合:set

    集合 集合的描述 set是一个无序不重复的序列,可以用{}或者 set() 函数创建集合,它存放不可变类型(如字符串.数字.元组)数据. 注意:创建一个空集合必须使用set()方法,因为{}是用来生成 ...

  8. 孟老板 Paging3 (二) 结合Room

    BaseAdapter系列 ListAdapter系列 Paging3 (一) 入门 Paging3 (二) 结合 Room Paging3 (二)  结合Room Paging 数据源不开放, 无法 ...

  9. Mybati-Plus的用法 记录

    参考文件下载地址:  https://files.cnblogs.com/files/bulter/MyBatis-Plus.zip --------------------------------- ...

  10. 【复习】Listening and Reading Comprehension

    短对话 M: Why do you declare the news that you're pregnant on your blog directly? W: I'm so excited tha ...