zoukankan      html  css  js  c++  java
  • ③ Python3.0 数字类型

    Python3 的六个标准数据类型中:
    不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

    数字类型

    Python中数字有四种类型:整数、布尔型、浮点数和复数。

    int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
    bool (布尔), 如 True和False。
    float (浮点数), 如 1.23、3E-2
    complex (复数), 如 1 + 2j、 1.1 + 2.2j

    Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
    内置的 type() 函数可以用来查询变量所指的对象类型,

    print(type(1))

    此外还可以用 isinstance 来判断:

    isinstance(1, int)

    两者的区别在于:
    type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。执行结果如下:

    可以通过使用del语句删除单个或多个对象

    在使用过程中注意以下几点:

    1、Python可以同时为多个变量赋值,如a, b = 1, 22、一个变量可以通过赋值指向不同类型的对象。
    3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
    4、在混合计算时,Python会把整型转换成为浮点数。
    

     布尔类型

    1、在数值上下文环境中,True 被当作 1,False 被当作 0,例如:

    2、其他类型值转换 bool 值时除了 ''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 为 False 外,其他都为 True 例如:

    数学函数 

    函数返回值 ( 描述 )
    abs(x) 返回数字的绝对值,如abs(-10) 返回 10
    ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

    cmp(x, y)

    如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换
    exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
    floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
    log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
    max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y) x**y 运算后的值。
    round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    sqrt(x) 返回数字x的平方根。

    随机数函数

    随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

    Python包含以下常用随机数函数:

    函数

    描述

    choice(seq)

    从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

    randrange ([start,] stop [,step])

    从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1

    random()

    随机生成下一个实数,它在[0,1)范围内。

    seed([x])

    改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。

    shuffle(lst)

    将序列的所有元素随机排序

    uniform(x, y)

    随机生成下一个实数,它在[x,y]范围内。

    三角函数

    Python包括以下三角函数:

    函数

    描述

    acos(x)

    返回x的反余弦弧度值。

    asin(x)

    返回x的反正弦弧度值。

    atan(x)

    返回x的反正切弧度值。

    atan2(y, x)

    返回给定的 X 及 Y 坐标值的反正切值。

    cos(x)

    返回x的弧度的余弦值。

    hypot(x, y)

    返回欧几里德范数 sqrt(x*x + y*y)。

    sin(x)

    返回的x弧度的正弦值。

    tan(x)

    返回x弧度的正切值。

    degrees(x)

    将弧度转换为角度,如degrees(math.pi/2) , 返回90.0

    radians(x)

    将角度转换为弧度

    数学常量

    常量描述
    pi 数学常量 pi(圆周率,一般以π来表示)
    e 数学常量 e,e即自然常数(自然常数)。

    其他

    1、Python 所谓的奇进偶弃,因为浮点数的表示在计算机中并不准确,用的时候可能要注意一下。尽量避免使用round()。
    当个位为奇数,小数部分>=0.5入,其余为舍
    当个位为偶数,小数部分>0.5入,其余为舍。

     

    2、python 不支持复数转换为整数或浮点数

     

    3、random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。

     

    random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围

     

    4、一定要注意 += 和 =+ 的不同。一定要分清 += 和 =+ 哦!另外要注意 Python 可是没有 a++ 指令的!可以理解b=+6其实就是正数6。

     

    5、字符转为数字

    var='1234'

    num=int(var) # 如果是小数可用 float

    字符转为列表

    num_list=list(var)

    列表转为数组

    可以用 numpy 模块:

    import numpy as np

    num_array=np.array(num_list)

    也可以是 num_array=[int(i) for i in num_list]。

    6、Python3中已经不能使用cmp()函数了,被如下五个函数替代:

    import operator       #首先要导入运算符模块
    operator.gt(1,2)      #意思是greater than(大于)
    operator.ge(1,2)      #意思是greater and equal(大于等于)
    operator.eq(1,2)      #意思是equal(等于)
    operator.le(1,2)      #意思是less and equal(小于等于)
    operator.lt(1,2)      #意思是less than(小于)

    7、针对前面有人提到复数不能强转为int或者float的问题:

    其实在Python中,复数提供了2个函数,一个函数是real,返回复数的实数部分,另一个函数是imag,返回复数的虚数部分。因为实数跟复数是差异很大的类型,所以不支持强制转换是可以理解的。因为在强制转换过程中,虚数部分到底该怎么转换,是没有定义的,而int和float只有实数部分

     

  • 相关阅读:
    zlib编译不过(Error A2070)解决方法(转)
    error C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CStaticLink::* )(CPoint)' to 'LRESULT (__thiscall CWnd::* )(CPoint) (转)
    MFC does not support WINVER less than 0x0501 解决方案(转)
    【程序打包工具 Inno Setup】转
    【Visual Studio】简单内存泄漏检测方法 解决 Detected memory leaks! 问题(转)
    各种版本QT下载地址与VS2013+QT5.3.1环境搭建过程(转)
    【Windows Message】MFC 通过F5,刷新桌面
    [bzoj]3343 教主的魔法
    NOIP2012 国王游戏
    NOIP模拟赛 路面修整
  • 原文地址:https://www.cnblogs.com/shawWey/p/11323488.html
Copyright © 2011-2022 走看看