• python标准数据类型


    Python3 中有六个标准的数据类型:

    • Number(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Sets(集合)
    • Dictionary(字典)
    Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
    在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
    等号(=)用来给变量赋值。
    等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
    

    Number(数字)

    Python3 支持 int、float、bool、complex(复数)。 
    在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
    内置的 type() 函数可以用来查询变量所指的对象类型。
    
    a, b, c, d = 20, 5.5, True, 4+3j
    print(type(a), type(b), type(c), type(d))
    
    <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
    

    也可以使用(del语句)删除一些对象引用。

    del语句的语法是:

    del var1[,var2[,var3[....,varN]]]]
    

    示例:

    您可以通过使用del语句删除单个或多个对象。例如:

    del var
    del var_a, var_b
    

    数学函数

    函数 返回值 ( 描述 )
    abs(x) 返回数字的绝对值或复数的模
    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的对数
    max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y) x**y 运算后的值。
    round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数

    示例:

    import math
    math.fabs(-3)
    
    3.0
    
    abs(-3+4j)
    
    5.0
    

    随机数函数

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

    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即自然常数(自然常数)。

    String(字符串)

    Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠()转义特殊字符。
    详见python的几个相关知识(三)

    Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

    print('Ru
    oob')
    
    Ru
    oob
    
    print(r'Ru
    oob')
    
    Ru
    oob
    

    另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用

    """...""" 
    

    或者 '''...''' 跨越多行。

    List(列表)

    List(列表)是Python中使用最频繁的数据类型。

    列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
    列表是写在方括号([])之间并用逗号分隔开的元素列表。

    Tuple(元组)

    元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。
    一般来说,函数的返回值一般为一个,而函数返回多个值的时候,是以元组的方式返回的。
    python中的函数还可以接收可变长参数,比如以 "*" 开头的的参数名,会将所有的参数收集到一个元组上。

    Set(集合)

    集合(set)是一个无序不重复元素的序列。

    基本功能是进行成员关系测试和删除重复元素。

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    Dictionary(字典)

    字典(dictionary)是Python中另一个非常有用的内置数据类型。
    列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
    字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
    键(key)必须使用不可变类型。
    在同一个字典中,键(key)必须是唯一的。

    Python数据类型转换

    以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

    函数 描述
    int(x [,base]) 将x转换为一个整数
    float(x) 将x转换到一个浮点数
    complex(real [,imag]) 创建一个复数
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列 s 转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    unichr(x) 将一个整数转换为Unicode字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串

    运算符

    Python算术运算符

    运算符 描述
    + 加(两个对象相加)
    -
    * 乘(两个数相乘或是返回一个被重复若干次的序列)
    /
    % 取模(返回除法的余数)
    **
    // 取整除

    Python比较运算符

    ==
    <=
    <
    >=
    >
    !=

    返回布尔值(True/False)

    Python赋值运算符

    运算符 描述 实例
    = 简单的赋值运算符 (c = a + b)(a + b) 的运算结果赋值为(c)
    += 加法赋值运算符 c += a 等效于 c = c + a
    -= 减法赋值运算符 c -= a 等效于 c = c - a
    *= 乘法赋值运算符 c *= a 等效于 c = c * a
    /= 除法赋值运算符 c /= a 等效于 c = c / a
    %= 取模赋值运算符 c %= a 等效于 c = c % a
    **= 幂赋值运算符 c **= a 等效于 c = c ** a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a

    Python位运算符

    按位运算符是把数字看作二进制来进行计算的。

    运算符 描述
    & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
    (mid) 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
    ^ 按位异或运算符:当两对应的二进位相异时,结果为1
    ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
    << 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
    >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
    a = 60            # 60 = 0011 1100 
    b = 13            # 13 = 0000 1101 
    c = 0
     
    c = a & b;        # 12 = 0000 1100
    print ("1 - c 的值为:", c)
     
    c = a | b;        # 61 = 0011 1101 
    print ("2 - c 的值为:", c)
     
    c = a ^ b;        # 49 = 0011 0001
    print ("3 - c 的值为:", c)
     
    c = ~a;           # -61 = 1100 0011
    print ("4 - c 的值为:", c)
     
    c = a << 2;       # 240 = 1111 0000
    print ("5 - c 的值为:", c)
     
    c = a >> 2;       # 15 = 0000 1111
    print ("6 - c 的值为:", c)
    
    1 - c 的值为: 12
    2 - c 的值为: 61
    3 - c 的值为: 49
    4 - c 的值为: -61
    5 - c 的值为: 240
    6 - c 的值为: 15
    

    Python逻辑运算符

    运算符 逻辑表达式 描述
    and x and y 布尔"与" (如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。)
    or x or y 布尔"或" ((如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。))
    not not x 布尔"非" ((如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。))

    注意:and or 惰性求值

    Python成员运算符

    运算符 描述
    in 如果在指定的序列中找到值返回 True,否则返回 False
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False

    Python身份运算符

    身份运算符用于比较两个对象的存储单元

    运算符 描述 实例
    is 判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not 判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

    注:id()函数用于获取对象内存地址。

    Python运算符优先级

    以下表格列出了从最高到最低优先级的所有运算符:

    运算符 描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ -@)
    * / % // 乘,除,取模和取整除
    + - 加法 减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ (mid) 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not or and 逻辑运算符

    python的几个相关知识(二) 介绍了一些关于序列,字典(映射),集合的知识。

  • 相关阅读:
    UVtool 工具解释1
    系统自己提供的 非常方便进行轴向的改变。
    解释脚本语言 计算两个向量的夹角度数。
    转换到正交视图的算法。
    对于 位 的判断我一般都转数组 其实这里有这个很好、
    服务器开启防火墙时千万别忘了开3389!
    j2me笔记
    成为那一小部分人!
    SEO笔记
    Java代码优化方案 J2ME内存优化
  • 原文地址:https://www.cnblogs.com/q735613050/p/7350665.html
Copyright © 2020-2023  润新知