zoukankan      html  css  js  c++  java
  • 01.python对象

    标准类型

    • 数字
    • Integer 整型
    • Boolean 布尔型
    • Long integer 长整型 (python2)
    • Floating point real number 浮点型
    • Complex number 复数型
    • String 字符串
    • List 列表
    • Tuple 元组
    • Dictionary 字典

    其他内建类型

    • 类型
    • Null对象(None)
    • 集合/固定集合
    • 函数/方法
    • 模块

    数字类型:

      整数:python2中输入的数比较大时,会自动在其后面加字母L或它的小写l

      浮点型:浮点数可以使用科学计数发表示如2e2,2e-3等

      复数:由实部和虚部组成,使用j或J表示虚部,如3.12+12.5j

    字符串类型:

      使用单引号或多引号括起来的必须在一行,使用三引号的可在多行,三引号的能按找代码输入时的格式输出

      字符串引号前加r,该字符串将原样输出,其中的转义字符不进行转义

    print("12	12")  # 12    12
    print(r"12	12")  # 12	12

    数据类型转换:

    int(x) :将x转换为整型

    float(x):转浮点型

    complex(real[,imag]):创建一个复数

    str(x):转为字符串

    repr(x):转为表达式字符串

    eval(str):计算在字符串中的有效python表达式,并返回一个对象

    chr(x):将整数x转换为一个字符

    ord(x):将一个字符x转换为它对应的整数值

    hex(x):将一个整数x转换为一个十六进制的字符串

    oct(x):将一个整数x转换为一个八进制的字符串

    类型对象和type类型对象

    调用内建函数type(),能够得到特定对象的类型信息

    # 11是个int型对象
    >>> type(11) <type 'int'>
    # 类型对象的类型是type,所有类型对象的类型都是type,它是所有python类型的根和所有python标准类的默认元类
    >>> type(type(11))
    <type 'type'>

    布尔值

    下列对象的布尔值是False

    • None
    • False(布尔类型)
    • 所有的值为零的数
    • 0(整型)
    • 0.0(浮点型)
    • 0L(长整型)
    • 0.0+0.0j(复数)
    • ""(空字符串)
    • [](空列表)
    • ()(空元组)
    • {}(空字典)
    • 自定义对象的__bool__方法返回False或__len__方法返回0

    用户创建的类实例如果定义了nonzero(__nonzero__())或length(__len__())且值为0,那么它们的布尔值就是False

    class NonTest:
        #  __nonzero__必须是静态的  
        @staticmethod
        def __nonzero__(self):
            pass
    
    
    if __name__ == '__main__':
        if NonTest():
        
    print(True) # True
    class NonTest:
        def __len__(self):
            return 0
    
    
    class NonTest2:
        def __len__(self):
            return 1
    
    
    if __name__ == '__main__':
        if NonTest():
            print('NonTest')
        if NonTest2():
            print('NonTest2')  # 打印 NonTest2

    对象身份比较

    # python3.7测试
    if __name__ == '__main__':
        # foo1 和 foo2 指向相同的对象
        foo1 = foo2 = 4.2
        print(foo1 is foo2)  # True
        # foo3 和 foo4 指向相同的对象
        foo3 = 5.3
        foo4 = foo3
        print(foo3 is foo4)  # True
        # foo5 和 foo6 指向相同的对象
        foo5 = 6.99
        foo6 = 6.99
        print(foo5 is foo6)  # False
        print(id(foo5) == id(foo6))  # foo5 is foo6等价与id(foo5) == id(foo6) # True
    #python2.7.10测试 
    >>> a = 1.99
    >>> id(a)
    140195765685264
    >>> b = 1.99
    >>> id(b)
    140195765685240
    >>> c = 1.99
    >>> id(c)
    140195765685216
    >>> 

    标准类型内建函数

    - cmp(obj1,obj2):

    # python2中的比较
    >>> cmp(a,b)
    0
    >>> cmp(1,1)
    0
    >>> cmp(1,2)
    -1
    >>> cmp(2,1)
    1

    附:python3中cmp不能用了,可用operator代替

    import operator
    
    if __name__ == '__main__':
        obj1 = 12.99
        obj2 = 11.99+1.00
        print(operator.eq(obj1, obj2))  # True

    - repr(obj)或``
    # python3不支持
    `obj`
    # 返回一个对象的字符串表示
    repr(obj)

    - str(obj)

    - type(obj)

    instance()

        # isinstance(_o,_t)判断对象类型
        print(isinstance(6, (int, float)))  # True
        print(isinstance(6.1, (int, float)))  # True
        print(isinstance("6.1", (int, float)))  # False
        print(isinstance("6.1", str))  # True

     算术运算符:

    //取整除,即返回商的整数部分

    **幂,即返回x的y次方

    左移位运算符<<

    将一个二进制操作数向左移动指定位数,左端溢出丢失,右边空位补0,相当于乘以2的n次幂

    右移位运算符<<

    将一个二进制操作数向右移动指定位数,右端溢出丢失,左边空位补0,相当于除以2的n次幂

  • 相关阅读:
    SharePoint 2013 文档库中PPT转换PDF
    Linux线程-互斥锁pthread_mutex_t
    利用Python,四步掌握机器学习
    linux 文件夹权限及umask
    Android.mk入门(一)
    《Linux性能及调优指南》----1.1 Linux进程管理
    从进程到线程
    从程序到进程
    Android源码解析系列
    嵌入式工程师必读100本专业书籍
  • 原文地址:https://www.cnblogs.com/fly-book/p/11684160.html
Copyright © 2011-2022 走看看