前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python数字类型

python数字类型

作者头像
py3study
发布2020-01-13 10:49:33
9610
发布2020-01-13 10:49:33
举报
文章被收录于专栏:python3

在python中,数据采用了对象的形式(无论是python内置对象还是使用python工具和像C语言自行创建的对象)。

Python数字类型工具:

  1. 整数和浮点数
  2. 复数
  3. 固定精度的十进制数
  4. 有理分数
  5. 集合
  6. 布尔类型
  7. 无穷的整数类型
  8. 各种数字内置函数和模块

python数字类型在程序中的显示方式之一是作为常量(还有一个是调用模块使用函数):

数字            常量

12,-12      整数

1.23            浮点数

0o177,0x9ff,0b0000100 八进制、十六进制、二进制

3+4j            复数

内置数学工具和扩展:

表达式操作符

        +-*/>>**&

内置数学函数

        pow,abs,round,int等

公共模块

        random,math等

表达式是大多数数字类型的基本工具。

在实际应用中的数字:

    变量和基本的表达式

变量和对象不一样,无需声明

变量在给它第一次赋值时创建

变量在表达式中使用将被替换为他们的值

变量在表达式中使用时需要先赋值,否则会报错。

常用表达式1、简单加减乘除:

>>> a=4

>>> b=5

>>> a+b,a-b

(9, -1)

>>> a*3,b/2

(12, 2.5)

>>> a%3,b**2

(1, 25)

>>> a<b

True

>>> a>b

False

>>> a==b

False

常用表达式二、除法:真除法、Floor除法

x/y:在python3.0中是真除法,无论任何类型都会保留小数部分。

    >>> 5/1

    5.0

    >>> 9/3

    3.0

x//y:截掉余数并针对数字类型保留类型

    >>> 5//3

    1

    >>> 9//2

    4

    >>> 5.0//3

    1.0

    >>> 5//2.0,5//-2.0

    (2.0, -3.0)

整数精度,在python3.0中整数可以使用无穷的长度,只要内存足够大。

常用表达式三、十六进制、八进制、二进制计数

    >>> 0o7,0o11,0o377

    (7, 9, 255)

    >>> 0x01,0xF,0xFF

    (1, 15, 255)

    >>> 0b1,0b1000,0b11111111

    (1, 8, 255)

    >>> oct(64),hex(64),bin(64) 将十进制转换为八进制、十六进制、二进制函数

    ('0o100', '0x40', '0b1000000')

int函数将一个数字字符串变换成一个整数,第二个数字是指定的数字的进制。

    >>> int('64'),int('100',8),int('40',16),int('1000000',2)

    ( 64, 64, 64, 64)

常用表达式四、复数

>>> 2+2j

(2+2j)

以上介绍了核心数据类型:整数、浮点、复数,他们是通过常量表达式创建的,接下来介绍其他数据类型。

1、小数数字,是通过导入模块调用函数后创建的,使用小数数字有固定的精度浮点值。

    >>> from decimal import Decimal

    >>> Decimal('0.2')+Decimal('0.01')

    Decimal('0.21')

    a、设置全局精度

         >>> import decimal

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1428571428571428571428571429')

        >>> decimal.getcontext().prec=4                       #通过调用decimal模块的getcontext函数指定保留小数位数,来指定精度

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1429')

    b、设置临时精度        

        >>> import decimal

        >>> decimal.Decimal('1.00')/decimal.Decimal('7.00')

        Decimal('0.1428571428571428571428571429')

        >>> with decimal.localcontext() as ctx:              #通过调用decimal模块的localcontext函数临时保留小数位数

        ...  ctx.prec=2

        ...  decimal.Decimal('1.00')/decimal.Decimal('7.00')

        ...

        Decimal('0.14')

        >>> decimal.Decimal(1)/decimal.Decimal(7)

        Decimal('0.1428571428571428571428571429')

  2、分数类型(fraction)

类似小数数字,也是通过模块的导入后函数创建。

        >>> from fractions import Fraction

        >>> x=Fraction(1,4)

        >>> x

        Fraction(1, 4)

        >>> print(x)

        1/4

也可以通过浮点数创建

        >>> Fraction(.25)

        Fraction(1, 4)

        >>> Fraction('.25')

        Fraction(1, 4)

3、集合

集合是无序的且不会将键匹配到值,既不是序列也不是映射类型。使用内置函数set来创建集合类型。

注:一个项只能在集合中出现一次。最重要的一个使用原因。。

>>> set('sspa')

        {'a', 's', 'p'}

以下是创建集合的方式:

通用方式       

         >>> x=set('abcde')

        >>> y=set('efghj')

        >>> x,y

        ({'e', 'b', 'd', 'c', 'a'}, {'j', 'f', 'h', 'e', 'g'})

        >>> x-y

        {'c', 'd', 'a', 'b'}

        >>> x|y

        {'j', 'f', 'h', 'e', 'b', 'd', 'g', 'c', 'a'}

        >>> x&y

        {'e'}

3.0的添加方式:

        >>> set([1,2,3,4])

        {1, 2, 3, 4}

        >>> set(['spam'])

        {'spam'}

        >>> set('spam')

        {'m', 'a', 's', 'p'}

        >>> set()                    #空集合必须使用set创建

        set()

        >>>

4、布尔型

true和false

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档