【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] # 一次获得所有位置

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 第一优先级规则声明: # 除了梦境,每一个意识主进程都必须与一个身体参与的机械进程相匹配,否则结束意识主进程。...
    李洞BarryLi阅读 9,525评论 0 1
  • 面向过程的编程思维是:按照处理流程,每一步需要做什么?用哪些函数可以解决?严格按照流程来把事情完成就ok了。这个在...
    redLion阅读 4,642评论 0 2
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 12,233评论 1 118
  • 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() >>> type(123...
    牛崽儿酷阅读 1,661评论 0 0
  • 好快,又是一年立春。一年之计在于春,很多人开始奋斗了,而我还在堕落。 在家,真的很安逸,虽然有很多的时间可以学习,...
    熙惜阅读 1,598评论 0 0

友情链接更多精彩内容