Python—3.2、关键函数

1、概念简介

Python有很多内置模块或函数,可以实现很多复杂功能;

2、模块/函数

函数返回类型说明
divmod(var1, var2)tuple对象返回包含商和余数的元组
input([prompt])string对象prompt为提示信息
open(name[, mode[, buffering]])file对象打开一个文件
int(x, base=10)int对象x为数字或字符串,base为进制数;同时当 x为纯数字时,base参数不能出现;
sum()返回 int类型输入参数可以是一个可迭代的序列;

1)sorted()
语法实现:

sorted(iterable, cmp=None, key=None, reverse=False)

说明:
1)sorted() 函数对所有可迭代的对象进行排序操作;
2)内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作;
3)key – 主要是用来进行比较的元素,具体的函数的参数取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
4)reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认);

2)enumerate(sequence, [start=0])

seq_a=["one","two","three","four","five"]

for i,ele in enumerate(seq_a,start=1):
    print(i,ele)

说明:此处默认索引从0开始,可以加参数 start 来指定索引的开始值;

3)type(obj)
4)isinstance(obj,type)

强调:
A:type()不会认为子类是一种父类类型。
B:isinstance()会认为子类是一种父类类型。

>>> 
>>> isinstance(False,int)
True

说明:此处可以得出在 Python3种,bool类型是int的子类;

>>>
>>> type(False) 
<class 'bool'>
>>>
>>> isinstance(False,bool)
True
>>>
>>> isinstance(False,int)
True
>>>
>>> 

说明:此处使用 type()得出 False属于 bool类型,不属于 int类型;isinstance()可以确定 bool既属于 bool类型,同时属于 int 类型;

  • issubclass(type_s,type_f)
  • set.issubset(set)
  • set.issuperset(set)

5)any(iterable)

描述:any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则如果是则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。

6)all(iterable)

描述:all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。

>>> 
>>> list_a = ["aa","bb",33,None,77]
>>> any(list_a)
True
>>> all(list_a)
False
>>> 

7)map(function, iterable, ...)

map()函数接收两个或多个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

list_a = [4, 5, 6, 7, 8]
fun_q = lambda x: x * x
r = map(fun_q, list_a)
print(list(r))

# [16, 25, 36, 49, 64]

说明:由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。

8)reduce(fun(x, y), seq)
该函数使用前需要从模块 functools 导入;reduce 函数接受 2个参数,fun 和 seq,其中 fun 函数必须有2个输入参数;

from functools import reduce

list_a = [4, 5, 6, 7, 8]
fun_s = lambda x, y: x + y
print(reduce(fun_s, list_a))

# 30

9)filter(function or None, iterable)
function:作用是对iterable中的每个元素判断是否符合特定条件。
None:不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素。
iterables:可迭代对象(序列、字典等)。

10)zip(var1,var2,var3,...)

描述:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

>>> 
>>> list_a = ["aa","bb","cc"]
>>> list_b = [11,22,33]
>>> list_c = ["f1","f2","f3","f4"]
>>> list_rt = list(zip(list_a,list_b,list_c))
>>> list_rt
[('aa', 11, 'f1'), ('bb', 22, 'f2'), ('cc', 33, 'f3')]
>>> 
>>> dict_rt = dict(zip(list_a,list_c))
dict_rt
{'aa': 'f1', 'bb': 'f2', 'cc': 'f3'}
>>> 

说明:zip函数可以有多个可迭代对象参数;
=============================================== over ===============================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值