Python 69个内置函数分类总结

1 内置函数

Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用。有些对大家来说比较熟悉,比如abs(), max(), sum()... 也有一些比较陌生,比如locals(), all(), compile(), getattr()... 今天按照类别扼要总结。

2 类型相关

69个内置函数中,与类型相关的指,把入参包装为某种类型,这样的内置函数包括:

bool()  #d布尔型int()  #d整形str()  #d字符型tuple() #d元包型dict() #d字典型list() #d列表型zip() #可迭代对象聚合,(,)complex() #d复数型float() #d浮点型bytes() #d字节型数组bytearray() #d字数数组range() #d不可更改的序列object() #d无属性的根类set() # 集合类型frozenset() # 冻结集合类型,不允许修改slice() # 返回一个slice对象,其中start, stop, step等都是只读的

比如bool(x),将入参x封装为Boolean类型,返回值为True或False

bool(10)>>> Truebool(0)>>> Falsebool(\'false\')>>> Truebool(0.0)>>> False

关于bytes()和bytearray()的用法可参考:

https://www.cnblogs.com/sesshoumaru/p/5980090.html

3 数理统计相关

有的内置函数可以完成简单的数理统计工作,这样的内置函数包括:

abs() #d绝对值min() #d最小max() #d最大sum() #d求和pow() #d求次幂all() #d所有元素为true则为trueany() #d至少一个元素为true则为truedivmod() #d(商,余数)round() #四舍五入len() #参数元素个数

any()函数代码等价于以下5行代码:

def any(iterable):    for element in iterable:        if element:            return True    return False

divmod函数:

divmod(10,8)>>> (1,2)

4 进制转换

有些内置函数可以帮助我们轻松实现进制转换,比如:

chr() #unicode编码ord() #chr()反操作bin() #转化为ob开头的二进制字符hex() #转化为ox开头的十六进制字符ascii() #可打印表示对象,类似于 repr() oct() # 转化为0o开头的八进制字符

5 面向对象相关

Python提供与对象属性相关的操作函数,它们为满足Python属性的动态调整提供了可能。

setattr(object, name, value) #为对象设置属性delattr(object, name) # 删除命名的属性getattr(object,name) #获取属性的取值,如果对象无此属性,会抛异常getattr(object,name, 123) #即便无此属性,也不会抛异常,会返回123hasattr(object,name) # 判断name属性是否属于objectisinstance(object, classinfo) #判断object是classinfo的实例吗issubclass(class, classinfo) # 判断class是否为classinfo的子类super() #调用父类, 方法property() #特性相关,@property标记为属性type() #返回实例的类型vars() # 返回对象的信息等classmethod() # 转化方法为类方法staticmethod() #方法是静态方法

比如,

setattr(x,\'footbar\',12) #等价于 x.footbar=12issubclass(list,object) >>> Trueissubclass(object,list)>>> False

6 迭代器相关

next, reversed, iter(), enumerate()这些都是与迭代相关的函数,比如以下,就是返回一个逆向迭代器:

rev = reversed([1,-2,4,0])for i in rev:  print(i) >>> 0 4 -2 1

iter函数使用例子

iter(\'abc\')>>> <str_iterator at 0x8b9fba8>for i in iter(\'abc\'):  print(i)>>> abc

7 map函数

map函数的原型为:map(function, iterable, ...) ,返回一个迭代器,在每一个可迭代对象的元素上应用function.

map应用举例:

def f(x):  reutn x**2  mymap = map(f, [1,2,3]) # 返回一个迭代器  for i in mymap:   print(i)  >>> 1  4  9

8 排序相关

sorted返回一个排序好的列表,比如:

li = [1,-2,4,0]sorted(li)>>> [-2,0,1,4]

9 其他

compile函数与源码编译相关;memoryview函数与内存视图相关;help查看帮助;dir查看对象的方法和属性;更多见下表:

hash() # 返回对象的哈希码id() #返回一个对象的标识input()  #与标准输出相关breakpoint() #调试相关exec() #动态执行Python代码callable() #判断对象是否可调用format() #对象格式化

format是一个比较常用的,用于格式化输出的函数,详细的格式化参数标准形式,参考文档:

https://docs.python.org/3/library/string.html#formatspec

参考官网:

https://docs.python.org/3/library/functions.html

本文分享自微信公众号 - Python与机器学习算法频道(alg-channel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构-筑基

面试官更喜欢什么样的Java程序员?如何在面试中弥补劣势?

Java程序员学成归来,无论是自学还是培训,都将面临着一个问题,那就是自己的技术要通过面试官的检验才能拿到自己梦寐以求的高薪offer。那面试官都喜欢什么样的J...

9600
来自专栏芋道源码1024

4 个关于Java 虚拟机内存的问题?

JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问...

10110
来自专栏腾讯Bugly的专栏

Android app反调试与代码保护的一些基本方案

| 导语 本文介绍Android app代码(java + ndk)的反调试的方法和保护代码增加逆向难度的一些基本方法。 Android自问世以来得以迅速发展...

61740
来自专栏银河系资讯

Python列表推导(list comprehension)VS 生成器表达式(generator expression

列表是一种可以表示为元素集合的数据。一个简单的列表如下所示:[0, 1, 2, 3, 4, 5] 列表将所有可能类型的数据和数据组合作为其元素:

13310
来自专栏京程一灯

Chrome 74 带来的新功能[每日前端夜话0x66]

Chrome 74 已经发布了,虽然从用户的角度来看并没有什么令人兴奋的东西,但是对开发人员来说带来了一些好处。新版本附带了新的 Javascript 私有类字...

13520
来自专栏银河系资讯

Java创建Annotation

注解是Java很强大的部分,但大多数时候我们倾向于使用而不是去创建注解。例如,在Java源代码里不难找到Java编译器处理的@Override注解,Spring...

16520
来自专栏Java那些事

想进大厂光靠背面试题可没用,谈谈如何真正掌握一个技术知识点

如何真正地掌握一个技术知识点,这是我一直在探索的一个问题,在秋招复习的那段时间,我主要通过阅读博客、整理博客等方式构建了自己的知识体系,所以也算是有了一些经验,...

13730
来自专栏Java架构筑基

使用Java 10的var类型推断的几个注意点!

不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改进良...

13900
来自专栏Web技术布道师

如何快速掌握HTTP协议(高清思维导图 )

HTTP 协议极其庞杂,它影响着浏览器、爬虫、代理服务器、防火墙、CDN、Web 容器、微服务等诸多方面,自身的规范却并不统一,所要面对的各类软件的新旧版本也同...

24130
来自专栏芋道源码1024

Java 面向对象设计的六大原则

这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理...

17420

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励