千家信息网

Python中数字的示例分析

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章给大家分享的是有关Python中数字的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数字在Python中,数字并不是一个真正的对象类型,而是一组类似类型的分
千家信息网最后更新 2025年11月13日Python中数字的示例分析

这篇文章给大家分享的是有关Python中数字的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数字

在Python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。Python不仅支持通常的数据类型(整数和浮点数。),而且能够通过常量去直接创建数字以及处理数字的表达式。

 整数和浮点数
 复数
 固定精度的十进制数;
 有理分数
 集合
 布尔类型
 无穷的整数精度
 各种数字内置函数和模块。

数字常量:
数字 常量
123,-23,0,99999…… 整数(无穷大小)
1.23,1.,3.14e-10,4E210 浮点数
0o177,0x9ff,0b11000 Python3.0中的八进制、十六进制和二进制常量
3+4j,3j 复数产量

Python表达式操作符:

数字变量表达式:
 变量在它第一次赋值时创建
 变量在表达式中使用将被替换为它们的值
 变量在表达式中使用之前必须已赋值
 变量像对象一样不需要在一开始进行声明

>>> a=3>>> b=4>>> a,b(3, 4)

数字的转换:

>>> int('100')          #将数字从文本转换为数字100>>> str(100)            #将数字从数字转换为文本'100'

数字显示格式:

>>> num=1/3.0>>> num0.3333333333333333>>>>>>>>>>>> print(num)0.3333333333333333>>>>>> '%e'%num'3.333333e-01'>>> '%4.2f'%num'0.33'>>> '{0:4.2f}'.format(num)'0.33'>>>

数字比较:一般的和连续的
一般的比较操作数相对大小,并且返回一个布尔类型的结果。

>>> 1<2True>>>>>> 2.0>=1True>>> 2.0==2.0True>>> 2.0!=2.0False

连续比较:

>>> x=10>>> y=20>>> z=30>>>>>>>>> x>> xzFalse

获取数字最大值和最小值的函数:

>>> max(x,y,z)30>>> min(x,y,z)10>>>

除法:

传统除法、Floor除法和真除法:

传统除法:
X / Y
传统除法和真除法,在Python2.6及之前的版本中,这个操作对于整数部分会省去小数部分,对于浮点数会保持小数部分。在Python3.0版本中为真除法(无论任何类型都会保持小数部分)。

Floor除法:
X // Y
在Python2.2中新增操作,在Python2.6和Python3.0均能使用。操作不考虑操作对象类型,总会省略结果的小数部分,剩下最小的能整除的整数部分。

在Python3.0中取消了传统除法,/和//分别实现真除法和floor除法。

>>> 10 / 42.5>>>>>> 10 // 42>>>>>> 10 / 4.02.5>>>>>> 10 // 4.02.0>>>>>> 5 / 2.02.5>>> 5 // 2.02.0>>>>>> 5 / -2.0-2.5>>> 5 // -2.0-3.0>>>

整数精度:
Python3.0整数支持无穷的大小,Python2.6长整数在末尾显示一个"L"。

复数:
复数分为两个浮点数(实部和虚部)并在虚部增加了j或J的后缀。可以把非零实部的复数写成由+连接起来的两部分。

>>>>>> 1j*1j(-1+0j)>>> 2+3j*3(2+9j)>>> (5+6j)**2(-11+60j)>>>

十六进制、八进制和二进制常量

>>>>>> 0o1,0o20,0o377(1, 16, 255)>>>>>> 0x01,0x10,0xFF(1, 16, 255)>>>>>> 0b1,0b10000,0b11111111(1, 16, 255)>>>>>>>>> oct(64),hex(64),bin(64)('0o100', '0x40', '0b1000000')>>>

Int将数字按照进制进行转换:

>>>>>> int('64')64>>> int('100',8)64>>> int('40',16)64>>> int('1000000',2)64>>>>>> int('0o100',8),int('0x40',16),int('0b1000000',2)(64, 64, 64)

Eval函数:

>>>>>> eval('64'),eval('0o100'),eval('0x40'),eval('0b1000000')(64, 64, 64, 64)>>>

通过字符调用转换进制:

>>> '{0:o},{1:x},{2:b}'.format(64,64,64)'100,40,1000000'>>>>>>>>> '%o,%x,%X' % (64,255,255)'100,ff,FF'>>>

位操作

把整数当作二进制位串进行位移及布尔操作。

>>>>>> x=1>>>>>> x<<12>>> x<<24>>> x<<38>>> y=8>>>>>> y>>14>>> y>>22>>> y>>31>>> y>>40>>> y>>50>>>>>>>>> x=0b0001>>>>>> x1>>> bin(x<<1)'0b10'>>> bin(x<<2)'0b100'>>> bin(x<<3)'0b1000'>>> bin(x<<4)'0b10000'>>>>>>>>> bin(x | 0b0010)'0b11'>>>>>>>>> bin(x ^ 0b0010)'0b11'>>>>>> bin(x & 0b0010)'0b0'>>>

显示数字二进制的位数:

>>> X=100>>>>>> bin(X),X.bit_length()('0b1100100', 7)>>>>>> Y=101>>>>>> bin(Y),Y.bit_length()('0b1100101', 7)

小数
小数是固定精度的浮点值。
小数对象:小数是通过导入decimal模块调用函数后创建的。拥有固定的位数和小数点。

浮点数字缺乏精确性,因为存放数值的空间有限。

>>>>>> 0.1+0.1+0.1-0.35.551115123125783e-17>>>>>>>>> from decimal import Decimal>>>>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')Decimal('0.0')>>>

当小数对象中的字符串小数位数多时,会自动调整。

>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.100') - Decimal('0.3')Decimal('0.000')

全局精度设置:

>>>>>> import decimal>>>>>> decimal.Decimal(1) / decimal.Decimal(7)Decimal('0.1428571428571428571428571429')>>>>>> decimal.getcontext().prec = 4>>>>>> decimal.Decimal(1) / decimal.Decimal(7)Decimal('0.1429')>>>

分数
分数在Python中以类似小数的方式使用,也存在于模块中,导入其构造函数并传递一个分子和分母就可以产生一个分数。

>>>>>> from fractions import Fraction>>>>>> x=Fraction(1,3)>>> y=Fraction(4,6)>>>>>> xFraction(1, 3)>>>>>> yFraction(2, 3)>>>>>> print(x,y)1/3 2/3>>>

分数的数学表达式:

>>>>>> x+yFraction(1, 1)>>> x-yFraction(-1, 3)>>> x*yFraction(2, 9)>>>

通过浮点字符串创建分数对象:

>>>>>> Fraction('.25')Fraction(1, 4)>>>>>> Fraction('1.25')Fraction(5, 4)>>>>>> Fraction('.25')+Fraction('1.25')Fraction(3, 2)>>>>>>>>> z=2.5>>>>>> o=Fraction(*z.as_integer_ratio())>>>>>> oFraction(5, 2)

内置数学工具:

>>>>>> import math>>>>>> math.pi,math.e(3.141592653589793, 2.718281828459045)>>>>>> math.sin(2*math.pi / 180)0.03489949670250097>>>>>> math.sqrt(144),math.sqrt(3),math.sqrt(4)(12.0, 1.7320508075688772, 2.0)>>>>>> pow(2,4),pow(2,5),2**4,2**5(16, 32, 16, 32)>>>>>> abs(-42.0),sum((1,2,3,4,5,6))       #求绝对值,求和(42.0, 21)>>>>>> min(3,1,2,4,5)                      #求最小数1>>> max(3,1,2,4,5)                  #求最大数5>>>

小数截断方式:

>>>>>> math.floor(2.567),math.floor(-2.567)(2, -3)>>> math.trunc(2.567),math.trunc(-2.567)(2, -2)>>>>>> int(2.567),int(-2.567)(2, -2)>>>>>> round(2.567),round(2.467),round(2.567,2)(3, 2, 2.57)>>>>>> '%.1f' % 2.567,'{0:.2f}'.format(2.567)('2.6', '2.57')>>>

range-----生成随机数函数

>>>>>> import random>>>>>> random.random()0.6746601025987419>>> random.random()0.569446993489575>>> random.random()0.31398115374410795>>>>>>>>> random.randint(1,10)10>>> random.randint(1,10)4>>> random.randint(1,10)1>>>>>> random.choice(['banane','apple','orange'])'banane'>>>>>> random.choice(['banane','apple','orange'])'orange'>>> random.choice(['banane','apple','orange'])'orange'>>> random.choice(['banane','apple','orange'])'apple'>>>

集合

集合(set),是唯一的、不可变的对象的一个无序集合(collection),支持与数学集合理论相对应的操作。一个项,无论在集合中添加多少次,都只能出现一次。
集合是无序的,并且不会把键匹配到值,既不是序列也不是映射类型。

>>>>>> x = set('abcde')>>> y = set('bdxyz')>>>>>> x,y({'a', 'e', 'd', 'b', 'c'}, {'y', 'x', 'd', 'b', 'z'})>>>>>> 'e' in xTrue>>> 'g' in xFalse>>>>>> x - y{'c', 'e', 'a'}>>>>>> x | y{'a', 'e', 'y', 'x', 'd', 'b', 'c', 'z'}>>>>>> x & y{'b', 'd'}>>>>>> x ^ y{'c', 'a', 'y', 'e', 'x', 'z'}>>>>>> x > y,x < y(False, False)
>>> #Add方法插入项、update按位置求集、remove根据值删除一个项目。>>>>>> z = x.intersection(y)       #  same as x & y>>>>>> z{'b', 'd'}>>>>>> z.add('yert')>>>>>> z{'b', 'd', 'yert'}>>>>>> z.update(set('ace'))>>>>>> z{'b', 'c', 'e', 'a', 'd', 'yert'}>>>>>> z.remove('b')>>>>>> z{'c', 'e', 'a', 'd', 'yert'}>>>>>>>>>>>> a=set('123')>>>>>> a=set([1,2,3])>>>>>> a{1, 2, 3}>>>>>> a.union([3,4]){1, 2, 3, 4}>>>>>> a.intersection((1,3,5)){1, 3}>>>>>> a.issubset(range(-5,5))True>>>

在Python中{}仍然是一个字典,空的集合必须通过内置函数set创建,并且以同样方式显示。

>>> b={1,2,3}>>> b{1, 2, 3}>>>>>>>>> type(b)>>>>>>>>> type({})>>>>>> a={}>>>>>> a{}>>> c={}>>>>>>>>> type(c)>>>>>>>>> d=set()>>>>>> dset()>>>>>> type(d)>>>

集合与列表的转换:

>>>>>> L=[1,2,1,3,4,5,6,7,8.7]>>>>>> set(L){1, 2, 3, 4, 5, 6, 7, 8.7}>>>>>> L=list(set(L))>>>>>> L[1, 2, 3, 4, 5, 6, 7, 8.7]>>>

感谢各位的阅读!关于"Python中数字的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0