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. expand--符号矩阵的展开
  2. aspen和python一起使用_python-将$cond语句与$project一起使用并在PyMon...
  3. js按键处理demo
  4. C++Singleton的DCLP(双重锁)实现以及性能测评
  5. Silverlight与Flash的技术比较(图)
  6. 缓存雪崩,缓存穿透,缓存预热,缓存热备都是什么鬼?
  7. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(五)
  8. lambda 复制数组
  9. 在haoodp-2.7.3 HA的基础上安装Hbase HA
  10. Cisco Packet Tracer安装教程
  11. 数据分析师笔试刷题题库(2020最新版)
  12. lg g3 android 5.0,lg g3 5.0 root教程_lg g3获取5.0系统的root方法
  13. MATLAB读二进制数据文件
  14. 用别人的githut账号在自己电脑上拉取代码问题
  15. c++哈利波特游戏(流行的版本的破解版)
  16. putty使用SSH密钥登录Linux实例
  17. c语言规定的主函数名是,C语言源程序中主函数名由系统规定为_______,程序员是不能改变的。...
  18. HTML5游戏开发案例教程
  19. 《Microduino实战》——1.6 总结
  20. PHPMyWind编辑器支持Word导入

热门文章

  1. Mac如何共享wifi热点
  2. 基础软件照搬开源不可取,自力更生才是正途
  3. mysql recordcount_Filter 和 RecordCount 属性示例 (VB)
  4. mysql红黑联盟_MySQL - mysql数据库栏目 - 红黑联盟
  5. Django项目实战——10—(修改地址前后端逻辑、删除地址前后端逻辑、设置默认地址、修改密码、虚拟机安装docker/FastDFS、电商-商品知识、首页广告数据库表分析、商品信息数据库表分析)
  6. 奇虎360历届笔试面试题汇总
  7. Android的TextView中文字添加删除线,下划线
  8. CST微波工作室学习笔记1 概述
  9. 云栖科技评论第18期:Tenable 发布全球安全指数
  10. 怎样才能够修改PDF文件中的文字大小