详解python内置函数(二)

1.函数目录

函数名功能
help查看指定对象的帮助信息
sum返回迭代对象相加的结果
dir列出指定对象的属性信息
bytes把字符串转为bytes
all判断可选代对象的每个元素是否都为True值,返回布尔类型
any判断可迭代对象的元素是否有为True值的元素,返回布尔类型
enumerate用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
zip合并多个序列类型
filter根据提供的函数返回为真的一个新序列
map根据提供的函数对指定序列做映射
sorted对指定的序列进行排序
callable用来检测对象是否可被调用,返回布尔类型
globals函数会以字典格式返回当前位置的全部全局变量
locals返回本地作用域中的所有名字
getattr函数用于返回一个对象属性值
hasattr用于判断对象是否包含对应的属性
delattr用于删除属性
setattr用于设置属性值,该属性不一定是存在的
iter用来生成迭代器
next返回可迭代对象中的下一个元素值
super用于调用父类(超类)的一个方法

2.函数详解

(1)help

  • 功能:查看指定对象的帮助信息
help(print)   #返回print的使用说明
Help on built-in function print in module builtins:   #builtins表示该函数在builtins模块中存放

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

(2)sum

  • 功能:返回迭代对象相加的结果
sum([11,22,33]) 

sum([11,22,33],100)   #第二个参数为基值,返回的结果会在基值的基础上进行相加(基值默认为0)
66

166

(3)dir

  • 功能:列出指定对象的属性信息
dir([])
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

(4)bytes

  • 功能:把字符串转为bytes
bytes("内置函数",encoding="utf-8")   #第二个参数为编码格式,将字符串以这种编码格式进行转换
b'\xe5\x86\x85\xe7\xbd\xae\xe5\x87\xbd\xe6\x95\xb0'

(5)all

  • 功能:判断可选代对象的每个元素是否都为True值,返回布尔类型
all([11,22,33])

all([11,22,33,0])

all([11,22,33,[]])
True

False

False

(6)any

  • 功能:判断可迭代对象的元素是否有为True值的元素,返回布尔类型
any([11,0,0,0])

any([0,0,0,0,0])
True

False

(7)enumerate

  • 功能:用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
for i in enumerate([11,22,33]):
	print(i)
(0, 11)
(1, 22)
(2, 33)

(8)zip

  • 功能:合并多个序列类型
a=zip([1,2,3],["a","b","c"])
a   #若直接查看,会显示存放的地址和类型,所以需要转换成其它格式
list(a)   #转换成list进行查看

b=zip([1,2,3],["a","b"])   #若序列的长度不一样,则会向长度最短的看齐
list(b)
<zip object at 0x000001737E5D3A00>   #zip为类型,0x000001737E5D3A00为存放地址
[(1, 'a'), (2, 'b'), (3, 'c')]

[(1, 'a'), (2, 'b')]

(9)filter

  • 功能:根据提供的函数返回为真的一个新序列
  • 相当于过滤器
a=[1,2,3,4,5]

#方式一:使用匿名函数
temp=filter(lambda x:x%2==0,a)   #显示列表中的偶数
temp   #若直接查看,会显示存放的地址和类型,所以需要转换成其它格式
list(temp)   #转换成list进行查看

#方式二:使用普通函数
def f(x):
	return x%2==0
temp=filter(f,a)
list(temp)
<filter object at 0x000001737E54F5E0>   #filter为类型,0x000001737E54F5E0为存放地址
[2, 4]

[2, 4]

(10)map

  • 功能:根据提供的函数对指定序列做映射
  • 相当于映射器
temp=map(lambda x:x+1,[1,2,3])   #传入一个序列
temp   #若直接查看,会显示存放的地址和类型,所以需要转换成其它格式
list(temp)   #转换成list进行查看

temp=map(lambda x,y:x+y,[1,2,3],[11,22,33])   #传入两个序列
list(temp)
<map object at 0x00000148DBB48790>   #map为类型,0x00000148DBB48790为存放地址
[2, 3, 4]

[12, 24, 36]

(11)sorted

  • 功能:对指定的序列进行排序
sorted([22,5,9,11])

#参数reverse,当reverse=True降序,当reverse=False升序,默认为False
sorted([22,5,9,11],reverse=True)

#参数key,是指定排序的依据
dt={"huawei":123,"zw":45,"lenovo":78}   
sorted(dt.items(),key=lambda x:x[1])    #以字典为例
sorted(dt.items(),key=lambda x:x[1],reverse=True)  #按降序排序
[5, 9, 11, 22]

[22, 11, 9, 5]

[('zw', 45), ('lenovo', 78), ('huawei', 123)]
[('huawei', 123), ('lenovo', 78), ('zw', 45)]

(12)callable

  • 功能:用来检测对象是否可被调用,返回布尔类型
a=1

def f(x):
	return x%2==0

callable(a)
callable(f)
callable(print)
False
True
True

(13)globals

  • 功能:函数会以字典格式返回当前位置的全部全局变量
a=1
print(globals())
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'a': 1}

(14)locals

  • 功能:返回本地作用域中的所有名字
def add(a,b):
	print(locals())
	return a+b
add(11,22)
{'a': 11, 'b': 22}

(15)getattr

  • 功能:函数用于返回一个对象属性值
a=[11,22,33]
getattr(a,"append")

getattr(a,"append")(55)   #获取这个对象的方法属性后,若在后面加上括号和参数,则代表调用该方法
a
<built-in method append of list object at 0x00000236F36D6AC0>

[11, 22, 33, 55]

(16)hasattr

  • 功能:用于判断对象是否包含对应的属性
a=[11,22,33]

hasattr(a,"append")
hasattr(a,"append1")
True
False

(17)delattr

  • 功能:用于删除属性
class A(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

a = A("hhh", 66)
print dir(a)
delattr(a, "age")   #删除了age属性
print dir(a)
['__doc__', '__init__', '__module__', 'age', 'name']
['__doc__', '__init__', '__module__', 'name']

(18)setattr

  • 功能:用于设置属性值,该属性不一定是存在的
class A(object):
     name = "xiaoniao"
 
a = A()
setattr(a, "age", 33)   #增加了age属性
print(a.age)
33

(19)iter

  • 功能:用来生成迭代器
a=[11,22,33]

type(a)
a=iter(a)
type(a)
<class 'list'>
<class 'list_iterator'>

(20)next

  • 功能:返回可迭代对象中的下一个元素值
a=[11,22,33]
a=iter(a)

next(a)   #可以通过next来迭代获取下一元素
next(a)
next(a)
11
22
33

(21)super

  • 功能:用于调用父类(超类)的一个方法
class A(object):
    def __init__(self):
        print("A1")
        print("A2")
class B(A):
    def __init__(self):
        print("B1")
        super(B, self).__init__()
        print("B2")

b=B()
B1
A1
A2
B2
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值