Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用,是新手学习的重要内容。
当然,有些函数对大家来说比较熟悉,比如abs(), max(), sum()...
也有一些比较陌生,比如locals(), all(), compile(), getattr()...
今天按照类别扼要总结。
1 类型相关
69个内置函数中,与类型相关的指,把入参包装为某种类型,这样的内置函数包括:
<code class="language-python">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等都是只读的 </code>
www#gaodaima.com来源gao@!dai!ma.com搞$$代^@码网搞代码
比如bool(x),将入参x封装为Boolean类型,返回值为True或False
<code class="language-python">""" 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! """ bool(10) >>> True bool(0) >>> False bool("false") >>> True bool(0.0) >>> False </code>
2 数理统计相关
有的内置函数可以完成简单的数理统计工作,这样的内置函数包括:
<code class="language-python">abs() #d绝对值 min() #d最小 max() #d最大 sum() #d求和 pow() #d求次幂 all() #d所有元素为true则为true any() #d至少一个元素为true则为true divmod() #d(商,余数) round() #四舍五入 len() #参数元素个数 </code>
any()函数代码等价于以下5行代码:
<code class="language-python">""" 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! """ def any(iterable): for element in iterable: if element: return True return False </code>
divmod函数:
<code class="language-python">divmod(10,8) >>> (1,2) </code>
3 进制转换
有些内置函数可以帮助我们轻松实现进制转换,比如:
<code class="language-python">chr() #unicode编码 ord() #chr()反操作 bin() #转化为ob开头的二进制字符 hex() #转化为ox开头的十六进制字符 ascii() #可打印表示对象,类似于 repr() oct() # 转化为0o开头的八进制字符 </code>
4 面向对象相关
Python提供与对象属性相关的操作函数,它们为满足Python属性的动态调整提供了可能。
<code class="language-python">""" 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! """ setattr(object, name, value) #为对象设置属性 delattr(object, name) # 删除命名的属性 getattr(object,name) #获取属性的取值,如果对象无此属性,会抛异常 getattr(object,name, 123) #即便无此属性,也不会抛异常,会返回123 hasattr(object,name) # 判断name属性是否属于object isinstance(object, classinfo) #判断object是classinfo的实例吗 issubclass(class, classinfo) # 判断class是否为classinfo的子类 super() #调用父类, 方法 property() #特性相关,@property标记为属性 type() #返回实例的类型 vars() # 返回对象的信息等 classmethod() # 转化方法为类方法 staticmethod() #方法是静态方法 </code>
比如,
<code class="language-python">setattr(x,"footbar",12) #等价于 x.footbar=12 issubclass(list,object) >>> True issubclass(object,list) >>> False </code>
5 迭代器相关
next, reversed, iter(), enumerate()
这些都是与迭代相关的函数,比如以下,就是返回一个逆向迭代器:
<code class="language-python">""" 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! """ rev = reversed([1,-2,4,0]) for i in rev: print(i) >>> 0 4 -2 1 </code>
iter函数使用例子
<code class="language-python">iter("abc") >>> <str_iterator at 0x8b9fba8> for i in iter("abc"): print(i) >>> a b c </code>
6 map函数
map函数的原型为:map(function, iterable, ...)
,返回一个迭代器,在每一个可迭代对象的元素上应用function.
map应用举例:
<code class="language-python">""" 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! """ def f(x): reutn x**2 mymap = map(f, [1,2,3]) # 返回一个迭代器 for i in mymap: print(i) >>> 1 4 9 </code>
7 排序相关
sorted返回一个排序好的列表,比如:
<code class="language-python">li = [1,-2,4,0] sorted(li) >>> [-2,0,1,4] </code>
8 其他
compile函数与源码编译相关;memoryview
函数与内存视图相关;
help查看帮助;
dir查看对象的方法和属性;
更多见下表:
<code class="language-python">hash() # 返回对象的哈希码 id() #返回一个对象的标识 input() #与标准输出相关 breakpoint() #调试相关 exec() #动态执行Python代码 callable() #判断对象是否可调用 format() #对象格式化 </code>