美文网首页ITS·黑客
【python】第五周-获取对象信息

【python】第五周-获取对象信息

作者: lucky07 | 来源:发表于2017-05-03 19:00 被阅读0次

    番茄六--获取对象信息

    使用type函数

    import types

    def fn():
    pass

    type(fn)==types.FunctionType 函数类型
    True
    type(abs)==types.BuiltinFunctionType 内建函数啊
    True
    type(lambda x: x)==types.LambdaType
    True
    type((x for x in range(10)))==types.GeneratorType 生成器啊
    True

    使用isinstance()函数

    要判断class的类型,可以使用isinstance()函数。
    isinstance()判断的是一个对象是否是该类型本身,或者位于该类型的父继承链上。

    isinstance(cat,object)
    True
    isinstance(cat,Animal)
    True
    isinstance(cat,Cat)
    True
    

    使用dir()

    如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法:
    然后我明白了lenstr的用法!很棒啊。需要多练习,在用dir来测试。
    类似xxx的属性和方法在Python中都是有特殊用途的,比如len方法返回长度。

    重要【我花了十几分钟搜索,才找到用len求list里面的个数,晕死】

    在len()函数内部,它自动去调用该对象的len()方法,s.len() 或者 len(s)

    例题:

    假设有一个list是[2,1,4,1,5,1,6,1],如果我想统计这个list中有多少个1,以及每个1的位置,应该如何写呢?
    a = [1,2,3,1]
    a.count(1) # 2
    a.index(1) # 0
    [x for x in range(len(a)) if a[x] == 1] # 一次获得所有位置

    记住以后晚上不要看电影哦。

    相关文章

      网友评论

        本文标题:【python】第五周-获取对象信息

        本文链接:https://www.haomeiwen.com/subject/rrdltxtx.html