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

番茄六--获取对象信息

使用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】第五周-获取对象信息)