Python 之路之 数值转换 (二)

文章
林里克斯

Python 之路之 数值转换 (二)


1.整数型

  • HEX 十六进制 (1-9 a-f)
  • DEC 十进制 (0-9)
  • OCT 八进制 (0-7)
  • BIN 二进制 (0-1)

Python 中以 0b 开头的数字是 二进制

>>> a = 0b001000001000
>>> print(a)
520

Python 中以 0o 开头的数字是 八进制

>>> b = 0o1010
>>> print(b)
520

Python 中以 0x 开头的数字是 十六进制

>>> c = 0x208
>>> print(c)
520

2.进制转换

十进制 23 转换为 二进制 显示

Python 之路之 数值转换 (二)

一般用 8位 来展示二进制,比如:23 的二进制为 0001 0111

  • 一个 二进制1位1 比特 单位 Byte
  • 一个 字节8位,单位 b
  • 1KB = 1024b
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GN

二进制 转换为 十进制

eg: 0b10110101
#与下面数字对应,二进制就是 2 的平方来计算
256 128 64 32 16 8 4 2 1 (2^x次方)
      1  0  1  1 0 1 0 1

#计算规则: 1*1+0*2+1*4+0*8+1*16+1*32+0*64+1*128 = 1+0+4+0+16+32+128=181

Python 之路之 数值转换 (二)

>>> d = 0b10110101
>>> print(d)
181

#使用内置函数 bin 将 十进制 转换为 二进制
>>> e = 181
>>> print(bin(a))
0b10110101

#使用内置函数 oct 将 十进制 转换为 八进制
>>> f = 181
>>> print(oct(f))
0o265

#使用内置函数 hex 将 十进制 转换为 十六进制
>>> g = 181
>>> print(hex(g))
0xb5

3.数据类型的转换

进制转换:将整数型 int 以不同的进制表现出来

eg: 十进制 -> 二进制; 十进制 -> 八进制; 十进制 -> 十六进制;

数据类型转换:将一个类型的数据转换为其他类型的数据

eg: str -> int; str -> bool; str -> float

  • 内置函数 int 将其他类型的数据转换为 整数 类型
>>> num = '18'          #<class 'str'>
>>> print(num)
>>> print(type(num))    #<class 'str'>

>>> new_num = int(num)  ##<class 'int'>
#转换为整型
>>> print(new_num)
>>> print(type(new_num))    #<class 'int'>
18
<class 'str'>
18
<class 'int'>

#将 字母 转换成 int 型的时候,需要字符串是一个合法的十六进制 `(1-9 a-f)`。
>>> a = '11aa'
#11aa 为 十六进制,转为十进制为 4522
>>> print(int(a, 16))   #16 代表为 十六进制; 8 代表为 八进制,其必须为各进制的范围内才可以
4522    #默认以十进制显示
  • 内置函数 float 将其他类型的数据转换为 浮点 类型
>>> b = '13.14'
>>> print(type(b))  #<class 'str'>
>>> c = float(b)
>>>> print(float(b))
#转换为 浮点类型
>>> print(type(c))  #<class 'float'>
<class 'str'>
13.14
<class 'float'>
  • 内置函数 str 将其他类型的数据转换为 字符 类型
>>> d = 1314
>>> print(str(d))
#转换为 字符类型
>>> print(type(d))
  • 内置函数 bool 将其他类型的数据转换为 布尔 类型
>>> print(bool(1314))
>>> print(bool(-13.14))
>>> print(bool(0))
True
True
False
#在数字里,只有数字 0 转换成 布尔类型 为 False;其他数字转换成 布尔类型 均为 True

>>> print(bool('Jarbo'))    #True
>>> print(bool(''))         #False 空字符串
>>> print(bool(""))         #False 空字符串
>>> print(bool([]))         #False 空列表 ( [] )
>>> print(bool(()))         #False 空元组 ( () )
>>> print(bool({}))         #False 空字典 ( {} )
>>> print(bool(set()))      #False 空集合 ( set() )
>>> print(bool(None))       #False
True
False
False
#在字符串里,空字符串( '' "" ) | 空列表 ( [] ) | 空元组 ( () ) | 空字典 ( {} ) | 空集合 ( set() ) | None 转换成 布尔类型 为 False;其他字符串转换成 布尔类型 均为 True

在计算机里 TrueFalse 可以使用数字 10 来表示

>>> print(True + 1)
>>> print(False + 1)
2
1

未完~

版权协议须知!

本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

1237 0 2021-01-18


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-12-28

今日天气
站点统计
  • 文章总数:241篇
  • 分类总数:29个
  • 评论总数:12条
  • 本站总访问量 353457 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!