Python这7个好用内置函数!

发布时间:2020-06-17 01:39:05

来源:51CTO

阅读:206

这篇文章我们来看几个很有用的 Python 内置函数 ,我认为每个学习 Python的 都应该知道这些函数。

对于每个函数,我会使用一个普通的实现来和内置函数做对比。

如果我直接引用了内置函数的文档,请理解,因为这些函数文档写的非常棒!

all(iterable)

如果可迭代的对象(数组,字符串,列表等,下同)中的元素都是 true (或者为空)的话返回 True 。

_all = True

for item in iterable:

if not item:

_all = False

break

if _all:

# do stuff

更简便的写法是:

if all(iterable):

# do stuff

any(iterable)

如果可迭代的对象中任何一个元素为 true 的话返回 True 。如果可迭代的对象为空则返回 False 。

'''

遇到问题没人解答?小编创建了一个Python学习交流QQ群:××× 寻找有志同道合的小伙伴,

互帮互助,群里还有不错的视频学习教程和PDF电子书!

'''

_any = False

for item in iterable:

if item:

_any = True

break

if _any:

# do stuff

更简便的写法是:

if any(iterable):

# do stuff

cmp(x, y)

比较两个对象 x 和 y 。x < y 的时候返回负数, x ==y 的时候返回 0, x > y 的时候返回正数。

def compare(x,y):

if x < y:

return -1

elif x == y:

return 0

else:

return 1

你完全可以使用一句 cmp(x, y) 来替代。

dict([arg])

使用 arg 提供的条目生成一个新的字典。

arg 通常是未知的,但是它很方便!比如说,如果我们想把一个含两个元组的列表转换成一个字典,我们可以这么做。

'''

遇到问题没人解答?小编创建了一个Python学习交流QQ群:××× 寻找有志同道合的小伙伴,

互帮互助,群里还有不错的视频学习教程和PDF电子书!

'''

l = [('Knights', 'Ni'), ('Monty', 'Python'), ('SPAM', 'SPAAAM')]

d = dict()

for tuple in l:

d[tuple[0]] = tuple[1]

# {'Knights': 'Ni', 'Monty': 'Python', 'SPAM': 'SPAAAM'}

或者这样:

l = [('Knights', 'Ni'), ('Monty', 'Python'), ('SPAM', 'SPAAAM')]

d = dict(l) # {'Knights': 'Ni', 'Monty': 'Python', 'SPAM': 'SPAAAM'}

enumerate(iterable [,start=0])

我真的是超级喜欢这个!如果你以前写过 C 语言,那么你可能会这么写:

for i in range(len(list)):

# do stuff with list[i], for example, print it

print i, list[i]

噢,不用那么麻烦!你可以使用 enumerate() 来提高可读性。

for i, item in enumerate(list):

# so stuff with item, for example print it

print i, item

isinstance(object, classinfo)

如果 object 参数是 classinfo 参数的一个实例或者子类(直接或者间接)的话返回 True 。

当你想检验一个对象的类型的时候,第一个想到的应该是使用 type() 函数。

if type(obj) == type(dict):

# do stuff

elif type(obj) == type(list):

# do other stuff

...

或者你可以这么写:

if isinstance(obj, dict):

# do stuff

elif isinstance(obj, list):

# do other stuff

...

pow(x, y [,z])

返回 x 的 y 次幂(如果 z 存在的话则以 z 为模)。

如果你想计算 x 的 y 次方,以 z 为模,那么你可以这么写:

mod = (x ** y) % z

但是当 x=1234567, y=4567676, z=56 的时候我的电脑足足跑了 64 秒!

不要用 ** 和 % 了,使用 pow(x, y, z) 吧!这个例子可以写成 pow(1234567, 4567676, 56) ,只用了 0.034 秒就出了结果!

zip([iterable, ])

这个函数返回一个含元组的列表,具体请看例子。

'''

遇到问题没人解答?小编创建了一个Python学习交流QQ群:××× 寻找有志同道合的小伙伴,

互帮互助,群里还有不错的视频学习教程和PDF电子书!

'''

l1 = ('You gotta', 'the')

l2 = ('love', 'built-in')

out = []

if len(l1) == len(l2):

for i in range(len(l1)):

out.append((l1[i], l2[i]))

# out = [('You gotta', 'love'), ('the', 'built-in)]

或者这么写:

l1 = ['You gotta', 'the']

l2 = ['love', 'built-in']

out = zip(l1, l2) # [('You gotta', 'love'), ('the', 'built-in)]

如果你想得到倒序的话加上 * 操作符就可以了。

print zip(*out)

# [('You gotta', 'the'), ('love', 'built-in')]

结论

Python 内置函数很方便,它们很快并且经过了优化,所以它们可能效率更高。

我真心认为每个 Python 开发者都应该好好看看内置函数的文档(引言部分)。

忘了说了,在 itertools 模块中有很多很不错的函数。

python语言接收信息的内置函数_Python这7个好用内置函数!相关推荐

  1. python语言接收信息的内置函数是_Python语言接收信息的内置函数是________________...

    Python语言接收信息的内置函数是________________ 答: input() 中国大学MOOC: 铁素体稳定元素倾向于 奥氏体区,使共析点向 方移动. 答:缩小:左上: 注射剂中热原检查 ...

  2. python语言接收信息的内置函数_python接收信息的内置函数是

    有的python内置函数怎么就一个pass这个模块是用C实现的,没有Python源码. 所以python代码中只有一个pass,因为代码中都是C实现的. 两种情况: 一种情况是继承的时候会用到的,父类 ...

  3. python基础实验报告-Python语言接收信息的内置函数是________________。

    [填空题]c_____ v. to criticize, to censure 谴责 [其它]写出每个实验的实验报告 [单选题]细分市场的客观基础是( ) [填空题]i _____ v. offend ...

  4. python中闭包函数_Python的闭包问题(关于内嵌函数引用闭包函数的变量问题)

    一.闭包: 记得:闭包的特性就是:内嵌函数会保存它引用的外围函数的变量值. 闭包概念:在一个内部函数中,对外部作用域的变量进行引用,(并且一般外部函数的返回值为内部函数),那么内部函数和被引用的变量等 ...

  5. python order函数_Python进阶内容(一)--- 高阶函数 High order function

    0. 问题 # 本文将围绕这段代码进行Python中高阶函数相关内容的讲解 # 文中所有代码的兼容性要求为:Python 3.6,IPython 6.1.0 def addspam(fn): def ...

  6. python语言标识符首字符不能是汉字_Python基本语法元素

    一.Python的两种编程方式: 1.交互式:对每个输出语句即时运行结果,适合语法练习. 2.文件式:批量执行一组语句并运行结果,编程的主要方式. 二.Python程序语法分析 1.缩进:缩进表达程序 ...

  7. python语言及其应用电子版翁正秋_Python语言及其应用

    第1章 认识Python 1 1.1 案例 1 1.1.1 案例1:运行你的第一个程序 1 1.1.2 案例2:求正方形的面积 3 1.1.3 案例3:制作你的第一个游戏 4 1.2 知识梳理 5 1 ...

  8. python语言及其应用电子版翁正秋_Python语言及其应用pdf

    <Python语言及其应用>内容易于理解,而且读起来生动有趣,是编程和Python初学者不可多得的教程.书中首先介绍了Python的基础知识,然后逐渐深入多种主题,结合教程和攻略式风格来讲 ...

  9. 华为python语言通用编程规范 模块导入顺序_Python编程规范

    1,Python编程规范 > 编码 所有的 Python 脚本文件都应在文件头标上 #-*- coding:utf-8 -*- 用于设置编辑器,默认保存为 utf-8 格式. > 注释 业 ...

  10. python语言程序设计实践教程答案实验六_Python程序设计实践教程

    书名:Python程序设计实践教程 定价:29.8 ISBN:9787115532602 作者:储岳中 薛希玲 版次:*1版 出版时间:2020-04 内容提要: 本书是Python语言程序设计的配套 ...

最新文章

  1. 资源 | 5月Python好文TOP 10新鲜出炉,你都看了吗?
  2. 靓号站php,阿里宝卡选靓号php代码
  3. springMVC笔记day01
  4. 微信公众平台----带参数二维码生成和扫描事件
  5. POJ-1414 Life Line (暴力搜索)
  6. 用户细分_基于购买历史的用户细分
  7. java获取默认用户目录_Java获取当前路径
  8. Qt工作笔记-QGraphicsProxyWidget放自定义界面实现拖动
  9. 通过线程监控socket服务器是否done机
  10. 大数据开发笔记(八):Sparkstreaming
  11. 【IPM2020】一种处理多标签文本分类的新颖推理机制
  12. 十二、Object类
  13. Node.js连接数据库
  14. python登录华为路由器
  15. 周伟焜挥别IBM 一个时代结束
  16. Execel 中文转拼音英文字母
  17. 解决mac登录APPLE ID无限重复弹窗提示登录
  18. QT5界面(窗口)之间传递参数
  19. 【毕业设计】深度学习实现行人重识别 - python opencv yolo Reid
  20. python模拟蚂蚁森林能量产生过程代码_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...

热门文章

  1. 基于 mini2440 电阻式触摸屏(四):mini2440触摸屏驱动分析
  2. 数学和编程-王垠博客
  3. selenium点击爬取豆瓣高分电影
  4. 关于升级短信源码开发接入SMPP通道
  5. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  6. 概率论(三)-多维随机变量及其分布:n维随机变量、概率分布函数F(x1,x2,..xn)、联合分布律、联合概率密度、边缘分布律、边缘概率密度、条件分布律、条件概率密度、β函数、Γ函数、max{X,Y}
  7. BiTree T 和Bitree T
  8. 把一个代表DateTime带有T和Z的string转化成DateTime c#
  9. SD卡格式化重建分区
  10. Ubuntu 16.04 Kalibr安装使用