zoukankan      html  css  js  c++  java
  • python之数字类型

    1. 支持类型

    python支持多种数字类型:整形,长整型,布尔型,双精度浮点型,十进制浮点型,复数
    注意:给数字对象重新赋值,实际上并没有更新该对象的原始数字(数字对象immutable),只是重新生成一个新的数值对象,并指向它。

     

    复数

    >>> aComplex = -3.1-4.2j
    >>> aComplex
    (-3.1-4.2j)
    >>> aComplex.real
    -3.1
    >>> aComplex.imag
    -4.2
    >>> aComplex.conjugate()
    (-3.1+4.2j)

    布尔型
    对于值为零的任何数字或空集(空列表、空元组和空字典等)在 Python 中的布尔值都是 False。

     

    2. 运算符

    加法
    python支持不同的数值类型相加,遵循转换规则:整数转为浮点数,非复数转为复数。
    数字类型间的转换是自动的,但可以通过 coerce() 内建函数来明确指定对某种数据进行特殊类型转换

    除法

    >>> 1 / 2
    0
    >>> 1.0 / 2.0
    0.5 # 传统除法
    >>> 1.0 // 2.0
    0.0 # 地板除
    >>> from __future__ import division # 导入真正除法
    >>> 1 / 2
    0.5

    位运算:取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)

     

     

    3. 内建函数与工厂函数

    支持标准类型内建函数 cmp(), str() 和 type()

    数值类型函数

    转换工厂函数

    bool(obj)
    int(obj, base=10)
    long(obj, base=10)
    float(obj)
    complex(str) or complex(real, imag=0.0)

    >>> bool('hello')
    True
    >>> int('2015')
    2015
    >>> long(2015)
    2015L
    >>> float(2015)
    2015.0
    >>> complex(2015)
    (2015+0j)
    >>> complex(2015, 5)
    (2015+5j)

    功能函数

    abs(num)
    coerce(num1, num2)            将num1和num2转换为同一类型,然后返回一个tuple
    divmod(num1, num2)          返回一个tuple(num1/num2, num1%num2)
    pow(num1, num2, mod=1)   取num1的num2次方,如果提供mod参数,则再对mod进行取余运算
    round(fit, ndig=0)                接受浮点数并进行四舍五入,保留ndig位小数

    >>> abs(-1)
    1
    >>> abs(3+4j)
    5.0
    >>> coerce(1.5, 3)
    (1.5, 3.0)
    >>> coerce(3+4j, 5)
    ((3+4j), (5+0j))
    >>> divmod(10, 3)
    (3, 1)
    >>> divmod(10, 2.5)
    (4.0, 0.0)
    >>> divmod(3+4j, 1+2j)
    ((2+0j), (1+0j))
    >>> pow(2, 3)
    8
    >>> pow(3+4j, 2)
    (-7+24j)
    >>> round(2.4)
    2.0
    >>> round(-2.4)
    -2.0
    >>> round(-2.17, 1)

    仅用于整数(标准整数、长整数)的函数

    进制转换

    oct(): 转换为八进制,返回字符串
    hex(): 转换为十六进制,返回字符串
    >>> oct(8)
    '010'
    >>> hex(16)
    '0x10'

    ASCII转换

    >>> ord('a')
    97
    >>> chr(97)
    'a'

     

     

    2015-05-24

  • 相关阅读:
    用vuex写了一个购物车H5页面的示例代码
    css如何引入外部字体?
    移动开发中更好的图片自适应
    常见样式问题七、word-break、word-wrap、white-space区别
    你真的了解word-wrap和word-break的区别吗?
    css中word-break、word-wrap和white-space的区别
    另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新
    应该用forEach改变数组的值吗? 原生JS forEach()和map()遍历的异同点
    Vue 全家桶介绍
    Spring MVC配置MyBatis输出SQL
  • 原文地址:https://www.cnblogs.com/whuyt/p/4526830.html
Copyright © 2011-2022 走看看