1 python整数概述
称为整数类型的python整数数据类型。 在python中用int表示。
整数是指没有小数部分的数字,python整数包括正整数、0 (数字零)和负整数。
在python中,整数用于存储整数或描述整数。
python只能包含一种类型的整数数据类型,即整数数据类型(int )。
在python中,整数的取值范围是无限的(整数具有无限的精度)。
二进制整数
2.1十进制格式
2.1.1进制格式概述
十进制是我们生活中常用的数字表达形式。
0~9共计10个数字排列组合而成。
2.1.2十进制表示整数注意事项
如果使用十进制格式的整数,则除非该数字本身为0 (零数字),否则不能从0开始。 如下所示。
例1,
num=033 #进制整数不能以0开头
是打印(num )
执行结果:
num=033
^
syntax error : leadingzerosindecimalintegerliteralsarenotpermitted; use an 0o prefix for octal integers
如果数字0是十进制整数的开头,则报告syntaxerror异常,错误消息为leadingzerosindecimalintegerliteralsarenotpermitted; use an 0o prefix for octal integers,翻译:不允许在十进制整数值中前导零; 八进制整数使用0o前缀。
例2,
num1=0
num2=00
num3=000
是打印(num1)
是打印(num2)
是打印(num3)
执行结果:
0
0
0
2.2二进制(LDC目录)格式
二进制格式。 由0和1两个数字组成,以0b或0b开始。 请注意,第一个符号是数字0,第二个符号是小写字母b或大写字母b。 如下所示。
#10进制5对应的二进制数为0b101或0b101
是打印(0b 101 )
是打印(0b 101 )
执行结果:
5
5
2.3进制格式
由0~7的8个数字组成,以0o或0o开始。 请注意,第一个符号是数字0,第二个符号是小写字母o或大写字母o。 如下所示。
#10进制18对应的八进制是0o22或0o22
是打印(0o 22 )
是打印(0o 22 )
执行结果:
18
18
2.4十六进制格式
以十六进制格式,由0~9的10个数字和a~f (或a~f ) 6个字符组成,以0x或0x开头。 请注意,第一个符号是数字0,第二个符号是小写字母x或大写字母x。 如下所示。
#十进制12以十六进制表示,对应于0xc或0xc
是打印(0xc )
是打印(0xc )
执行结果:
12
12
2.5各进制对应的函数及其各进制之间的转换
二进制: ldct () )。
八进制: oct () )。
十六进制: hex () ) ) )。
(1)从十进制到其他进制的转换
print ('从十进制23转换为二进制时',ldct (23 ) ) ) ) ) ) ) ) ) )。
print ('从十进制23转换为八进制时',oct ) )
print ('从十进制23转换为十六进制时',hex ) )
执行结果:
如果将十进制23转换为二进制,则为0b10111
如果将十进制23转换为八进制,则为0o27
如果将十进制23转换为十六进制,则为0x17
)2)二进制转换为其他二进制
如果将print('2进制0b101转换为十进制,则',0b101 ) # print )函数的输出整数默认为十进制
print(2 (如果将二进制0b101转换为八进制,则为)、oct(0b101 ) )
print(2 (如果将二进制0b101转换为十六进制,则为)、hex(0b101 ) )
执行结果:
如果将二进制0b101转换为十进制,则为5
将二进制0b101转换为八进制,则为0o5
二进制数 0b101 转换为十六进制数为: 0x5
(3)八进制转换为其他进制
print('八进制数 0o22 转换为十进制数为:', 0o22) # print() 函数输出整数默认为十进制
print('八进制数 0o22 转换为二进制数为:', ldct(0o22))
print('八进制数 0o22 转换为十六进制数为:', hex(0o22))
运行结果:
八进制数 0o22 转换为十进制数为: 18
八进制数 0o22 转换为二进制数为: 0b10010
八进制数 0o22 转换为十六进制数为: 0x12
(4)十六进制转换为其他进制
print('十六进制数 0xc 转换为十进制数为:', 0xc) # print() 函数输出整数默认为十进制
print('十六进制数 0xc 转换为二进制数为:', ldct(0xc)) # print() 函数输出整数默认为十进制
print('十六进制数 0xc 转换为八进制数为:', oct(0xc)) # print() 函数输出整数默认为十进制
运行结果:
十六进制数 0xc 转换为十进制数为: 12
十六进制数 0xc 转换为二进制数为: 0b1100
十六进制数 0xc 转换为八进制数为: 0o14
3 数字分隔符
数字分隔符,在 python 中使用下划线_作为数字的分隔符。
通常从右往左数每三个数字添加一个数字分隔符,而不会影响数字本身的值。
数字分隔符可以提高数字的可读性。
如下所示:
num = 45252465765747 # 我闭着眼胡乱敲出了一个数,哈哈
num1 = 45_252_465_765_747 # 给加上数字分隔符
print('num = ', num)
print('num1 = ', num1)
运行结果:
num = 45252465765747
num1 = 45252465765747
4 整数相关函数 int()
class int([x][,[base=]])
返回值:返回一个基于数字或字符串 x 构造的整数对象,或者在未给出参数时返回 0。如下例一所示。
x 参数: 为可选参数,可以是数字(整数或浮点数)或字符串(指的是整数字符串);如果是浮点数,它将向零舍入。如下例二所示。
base 参数: 也为可选参数,表示进制数(表示传入的 x 的进制数),默认为十进制。base=可有可无,写上是关键字参数,不写是位置参数。如下例三所示。
如果 x 为数字,则不能有 base 参数,作用是为传入的 x 取整。如下例四所示。
如果 x 为整数字符串,base 参数可有可无。
如果 x 不符合 base 规则(指的是传入的 x 的进制数跟 base 参数值不一致),则报错。如下例五所示。
实例如下代码所示:
例一,
obj = int() # 不传入参数,返回结果为 0
print(obj)
运行结果:
0
例二,
obj1 = int(12)
obj2 = int(12.7) # 传入浮点数,将向零舍入。
obj3 = int('12') # 传入整数字符串
print(obj1)
print(obj2)
print(obj3)
运行结果:
12
12
12
例三,
obj4 = int('12', base=10) # 可使用关键字参数传参 base=10
obj5 = int('12', 10) # 也可使用位置参数传参 10
print(obj4)
print(obj5)
运行结果:
12
12
例四,
obj6 = int(12, base=10) # 如果 x 参数为纯数字,不能有 base 参数
print(obj6)
运行结果:
typeerror: int() can't convert non-string with explicit base
例五,
obj7 = int("b", 8) # 大于等于 16 进制才会允许传入参为 a,b,c...
print(obj7)
运行结果:
valueerror: invalid literal for int() with base 8: 'b'
5 python 3.x 版本与python 2.x 版本中整型的区别
python 3.x 版本中只用 int 一种数据类型存储整数。
python 2.x 版本中多了long类型,使用 long 类型来存储较大的整数,用 int 类型存储较小的整数。
转自:https://www.cnblogs.com/manongajie/p/12738022.html
希望与广大网友互动??
点此进行留言吧!