码迷,mamicode.com
首页 > 编程语言 > 详细

01.python对象

时间:2019-10-16 11:23:00      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:ber   string   python3   imp   复数   src   sel   self   mic   

标准类型

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

其他内建类型

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

类型对象和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(复数)
  • ""(空字符串)
  • [](空列表)
  • ()(空元组)
  • {}(空字典)

用户创建的类实例如果定义了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

 

01.python对象

标签:ber   string   python3   imp   复数   src   sel   self   mic   

原文地址:https://www.cnblogs.com/fly-book/p/11684160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!