python语言中的内建函数dir()是干什么用的啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python语言中的内建函数dir()是干什么用的啊?相关的知识,希望对你有一定的参考价值。
请用通俗语言说一下在什么情况下经常用到,谢啦
dir() 函数尽管查找和导入模块相对容易,但要记住每个模块包含什么却不是这么简单。您并不希望总是必须查看源代码来找出答案。幸运的是,Python 提供了一种方法,可以使用内置的 dir() 函数来检查模块(以及其它对象)的内容。
dir() 函数可能是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称 参考技术A dir(...)
dir([object]) -> list of strings
Return an alphabetized list of names comprising (some of) the attributes
of the given object, and of attributes reachable from it:
No argument: the names in the current scope.
Module object: the module attributes.
Type or class object: its attributes, and recursively the attributes of
its bases.
Otherwise: its attributes, its class's attributes, and recursively the
attributes of its class's base classes.
参考资料:python2.5
参考技术B lst = dir(obj)返回一个列表包含obj所包含变量的名字
如:
import os
print "\n".join(dir(os)) 参考技术C 记不起模块里面有什么函数,变量,嵌套的模块等,dir(obj)后可以找到。 参考技术D 简单的说,就是它列出来对象里有哪些方法(记住python里任何东西都是对象)
Python中的内建函数
Python中的函数分为内建函数和自定义函数。
内建函数为我们提供的丰富的功能,方便开发人员使用,但是内建函数有时候不能完成开发过程中的特殊功能,就需要我们使用自定义函数丰富我们的程序。
这篇文章主要针对内建函数介绍,自定义函数会另一篇文章进行介绍。
什么是内建函数?
内建函数由解释器语法构成,这些函数内置与解释器中,程序员在使用时不用重新定义,直接调用即可。
abs(number) |
abs() 求绝对值,括号参数为整型浮点型,复数。输出值为数字。 print abs(4) 4 参数为负数时,输出值为数值取模 |
all(iterable) |
all()参数为一个可迭代对象如:字符串,列表等。 当可迭代的对象所有元素为True时,返回值为True.有一个元素为False,返回值为False >>> f=[0,1,2,3,[]] 当参数为空时,返回值为真,True >>> all([]) |
any(iterable) |
any()参数是一个可迭代对象 当可迭代对象有一个元素为True时,返回值为ture,否则返回False 当参数为空时,返回值为False |
bool(object) |
返回True或False,需要留意的是:0,空字符串,空列表,空元祖,空字典返回值为False >>> bool([]) |
callable(object) | 检查对象是否可被调用。可调用时返回True,否则返回False |
chr(number) |
返回ascll码给定的数字字符 >>> chr(1)
|
cmp(x,y) |
比较x和y,如果x<y,则返回负数;如果x>y则返回正数;x==y返回0 此函数在3.0中已经舍弃,在2.0版本中的使用方法是: >>> cmp(1,2)
|
bin(number) |
返回一个数字的二进制数 >>> bin(1) |
dict() | 字典转换 |
dir(object) | 显示该对象可使用的方法 |
divmod(a,b) |
返回(a//b,a%b) >>> divmod(10,3) |
enumerate(iterable) |
返回iterable中的所有项迭代(索引,项目)对 >>> l=[1,2,3,4] |
filter(function,sep) |
返回从给定序列中的函数返回的真的元素,例如:
#用filter来处理,得到股票价格大于20的股票名字 shares={ ‘IBM‘:36.6, ‘Lenovo‘:23.2, ‘oldboy‘:21.2, ‘ocean‘:10.2, } shares1=filter(lambda k:shares[k]>20,shares) for i in shares1: print(i) #运行结果 IBM Lenovo oldboy
|
id(object) |
返回一个给定对象的唯一ID >>> a=10
|
int(object,radix) | 将字符串或者数字基数转换为整数 |
iter(object) | 返回一个迭代器对象 |
len() | 返回一个对象的的长度(项数) |
list(seq) | 构造一个列表 |
locals() | 返回当前局部作用域的字典 |
map(function,seq) |
创建由给定函数fun应用所提供的列表seq每个项目时返回值组成的列表
name=[‘alex‘,‘wupeiqi‘,‘yuanhao‘] name1=map(lambda k:k+"_sb",name) print(list(name1)) #运行结果为 [‘alex_sb‘, ‘wupeiqi_sb‘, ‘yuanhao_sb‘]
|
max(object) min(object) |
返回一个对象的最大值(min返回最小值) >>> max(1,5,6,8,5,3,54,56,76)
sarlary={"123":1000000, "234":100, "345":200 } m=min(sarlary,key=lambda k:sarlary[k]) #print(type(m)) d=max(sarlary,key=lambda k:sarlary[k]) #print(type(d)) print(m) print(d) #运行结果 234 123
|
pow(x,y,[z]) |
返回x的y次方,加入z后取模z >>> pow(2,4,3) |
reduce(function,seq) |
对序列渐增应用给定函数,使用累积的结果为第一个参数
g1=reduce(lambda x,y:x+y,g)
|
sorted(iterable) |
对迭代的每一个项目进行整理排序,输出一个新的列表 >>> l=[1,2,3,3,2,1,9,6,9,5,8,10] |
sum(seq,[start,]) |
返回到添加到可选参数start一系列数字的和 [1, 1, 2, 2, 3, 3, 5, 6, 8, 9, 9, 10] |
zip(seq,seq) |
把两个序列按按最短长度组成新的列表
l=[1,2,3,4] l2=["a","b","c","d"] z=zip(l,l2) for i in z: print(i) #运行结果 (1, ‘a‘) (2, ‘b‘) (3, ‘c‘) (4, ‘d‘)
|
以上是关于python语言中的内建函数dir()是干什么用的啊?的主要内容,如果未能解决你的问题,请参考以下文章