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中的函数分为内建函数和自定义函数。

内建函数为我们提供的丰富的功能,方便开发人员使用,但是内建函数有时候不能完成开发过程中的特殊功能,就需要我们使用自定义函数丰富我们的程序。

这篇文章主要针对内建函数介绍,自定义函数会另一篇文章进行介绍。

什么是内建函数?

内建函数由解释器语法构成,这些函数内置与解释器中,程序员在使用时不用重新定义,直接调用即可。

 

python中的内建函数及使用方法
abs(number)

abs()  求绝对值,括号参数为整型浮点型,复数。输出值为数字。

print abs(4)  4

参数为负数时,输出值为数值取模
print abs(4+2j)  4.472135955

all(iterable)

all()参数为一个可迭代对象如:字符串,列表等。

当可迭代的对象所有元素为True时,返回值为True.有一个元素为False,返回值为False

>>> f=[0,1,2,3,[]]
>>> all(f)
False
>>> f1=[1,2,3,4,5]
>>> all(f1)
True

当参数为空时,返回值为真,True

>>> all([])
True

any(iterable)

any()参数是一个可迭代对象

当可迭代对象有一个元素为True时,返回值为ture,否则返回False
>>> any(f)
True
>>> any(f1)
True

当参数为空时,返回值为False
>>> any([])
False

bool(object)

返回True或False,需要留意的是:0,空字符串,空列表,空元祖,空字典返回值为False

>>> bool([])
False
>>> bool("")
False
>>> bool(0)
False
>>> bool({})
False
>>> bool(())
False

callable(object) 检查对象是否可被调用。可调用时返回True,否则返回False
chr(number)

返回ascll码给定的数字字符

>>> chr(1)
‘\x01‘


>>> chr(0)
‘\x00‘

cmp(x,y)

比较x和y,如果x<y,则返回负数;如果x>y则返回正数;x==y返回0

此函数在3.0中已经舍弃,在2.0版本中的使用方法是:

>>> cmp(1,2)
-1
>>> cmp(1,1)
0
>>> cmp(1,0)
1

 

 

bin(number)

 返回一个数字的二进制数

>>> bin(1)
‘0b1‘
>>> bin(2)
‘0b10‘

dict()  字典转换
dir(object)  显示该对象可使用的方法
divmod(a,b)

 返回(a//b,a%b)

>>> divmod(10,3)
(3, 1)

enumerate(iterable)

 返回iterable中的所有项迭代(索引,项目)对

>>> l=[1,2,3,4]
>>> for i in enumerate(l):
    print(i)

 结果如下
  (0, 1)
  (1, 2)
  (2, 3)
  (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
>>> id(a)
1416082784

 

 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)
76
>>> min(1,2,3,45,6,7,85,5,4)
1

 

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)
1
>>> pow(2,3)
8

 reduce(function,seq)

 对序列渐增应用给定函数,使用累积的结果为第一个参数

 

g1=reduce(lambda x,y:x+y,g)
print(g1)

 

 sorted(iterable)

 对迭代的每一个项目进行整理排序,输出一个新的列表

>>> l=[1,2,3,3,2,1,9,6,9,5,8,10]
>>> sorted(l)
[1, 1, 2, 2, 3, 3, 5, 6, 8, 9, 9, 10]

 sum(seq,[start,])

 返回到添加到可选参数start一系列数字的和

[1, 1, 2, 2, 3, 3, 5, 6, 8, 9, 9, 10]
>>> sum(l)
59

 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()是干什么用的啊?的主要内容,如果未能解决你的问题,请参考以下文章

Python中字典的内建函数用法是啥?

Python中的内建函数

Python中的内建函数(Built_in Funtions)

一文搞懂python的内建函数,自己添加一个print函数

一文搞懂python的内建函数,自己添加一个print函数

python进阶之函数和类内建魔法属性