Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(下)

简介: Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(下)

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


求模


# 求模
print(5 % 2)
print(5.1 % 2)
# 输出结果
1
1.0999999999999996


  • 浮点数的求模结果为一堆小数位,而不是 1.1
  • 因为在计算机内存,有的浮点数无法被精确的表示,在这里,只能使用近似值来表示 1.1

 

灵魂拷问:为什么%表示模除而不是“百分号”?

  • 平时我们把它看做一个“百分号”
  • 在编程计算中,通常把它和/一样当做除法的运算符
  • 求模是一个不同的运算,只是用%符号来表示

 

% 求模是如何运算的

  • X 除以 Y 余 J  比如, 100 除以 16 余数为 4
  • 100%16 就等于 4

 

幂运算


# 幂运算
print(2 ** 3)  # 2 的 3次方
print(1.1 ** 3)  # 1.1 的 3 次方
# 输出结果
8
1.3310000000000004


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
  • 用的比较少,不写了
相关文章
|
6月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
214 0
|
8月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
190 26
|
6月前
|
存储 安全 开发者
Python中的数据类型详解
Python是一种动态类型编程语言,具备丰富的数据类型,包括数值类型、序列类型、映射类型和集合类型等。这些类型为高效编程提供了强大支持。
224 0
|
9月前
|
Python
探索Python的各式数据类型
以上就是Python数据类型的一次简单而有趣的游览。和她继续接触,你会发现她还有更多有趣的面象,例如集合里的冰冻集合(Frozenset),序列里的字符串(String)和字节序列(Bytes)等等。希望这次游览能对你有所启发,让你更好地理解和使用Python。
117 21
|
9月前
|
存储 程序员 Python
Python 变量和简单数据类型
本文介绍了 Python 编程的基础知识,从创建第一个 Python 文件 `hello_world.py` 开始,讲解了 Python 文件的运行机制及解释器的作用。接着深入探讨了变量的定义、命名规则和使用方法,并通过示例说明如何修改变量值。同时,文章详细解析了字符串的操作,包括大小写转换、变量插入及空白字符处理等技巧。此外,还涵盖了数字运算(整数与浮点数)、常量定义以及注释的使用。最后引用了《Python 之禅》,强调代码设计的美学原则和哲学思想。适合初学者快速掌握 Python 基础语法和编程理念。
200 5
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
244 1
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
209 0
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
127 0
|
算法
LeetCode 414. Third Maximum Number
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
279 0
LeetCode 414. Third Maximum Number

推荐镜像

更多