0
点赞
收藏
分享

微信扫一扫

关于python3内置函数的详细总结

书写经典 2022-03-30 阅读 67

目录


1.内置函数的概述

python内置了很多有用的函数。

这些函数不需要导入任何模块就能直接使用,非常方便。

这篇笔记是对一些内置函数的简要总结。

对我来说,这既是一次分享。也能巩固知识。

一般地,我们会把内置函数进行分类,方便记忆。

下面便是内置函数的介绍。


2.有关输入输出的函数


input()

语法:

input([prompt])

参数:
prompt----字符串(可选项,用于提醒用户输入)

返回:

  • 该函数从输入中读取一行,转换为字符串并返回。
  • 返回的值是字符串类型

实例:

在这里插入图片描述


print()

语法:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数:

objects----表示输出的对象,对象不知一个时,相互之间需用逗号隔开
sep----字符串,表示输出语句中多个对象之间的间隔符,默认为空格
end----字符串,表示输出语句中的结束符,默认值是换行符 \n
file----表示输出位置,是一个具有 write(string) 方法的对象,默认为标准输出
flush----表示是否强制刷新输出缓存里的内容,默认值是False

实例:

加了end的效果如下:


也就是说,print()默认输出是换行的。


3.有关运算的函数

abs(x)

语法:

abs(x)

参数:

x----数值表达式,可以是整数,浮点数,复数等

返回

  • 返回参数x的绝对值。若x是复数,则返回复数的模。

实例:


pow()

语法:

pow(x, y[, mod])

参数:

x,y,mod----都是数值表达式。参数mod是可选的

返回:

  • 返回xy次方,即 x y x^y xy.

  • 如果加了参数mod的话,就对结果进行取模,即pow(x,y) % mod

实例:


round()

语法:

round(number[, ndigits])

参数:

number----数值表达式

ndigits----数值表达式

返回:

  • 返回 number 舍入到小数点后ndigits 位精度的值。

  • ndigits是可选的,如果不加参数ndigits,则默认返回最接近输入值的整数,即四舍五入。

实例:

还有这个例子:


divmod()

语法:

divmod(a, b)

参数:

a,b----数值表达式

返回:

  • 返回一个元组。该元组包含着商和余数,即(a//b, a%b)

实例:


max()

语法:

max(iterable,[,default])

max(x1, x2...)

参数:

iterable----可迭代对象,比如列表,元组等。
default----数值表达式
x----数值表达式

返回:

如果只有一个参数:

  • 那该参数必须是可迭代对象,如列表,元组等。
  • 此时会返回可迭代对象中最大的元素。
  • 注意:参数default是可选的,用于当可迭代对象为空时返回的值。
  • 如果可迭代对象为空,并且没有给 default ,则会触发异常ValueError,即报错。

如果不止一个参数:

  • 那么返回若干实参中的最大值。

实例:


min()

语法:

min(iterable,[,default])

min(x1, x2...)

参数:

iterable----可迭代对象,比如列表,元组等。
default----数值表达式
x----数值表达式

返回:

如果只有一个参数:

  • 那该参数必须是可迭代对象,如列表,元组等。
  • 此时会返回可迭代对象中最小的元素。
  • 注意:参数default是可选的,用于当可迭代对象为空时返回的值。
  • 如果可迭代对象为空,并且没有给 default ,则会触发异常ValueError,即报错。

如果不止一个参数:

  • 那么返回若干实参中的最小值。

实例:


sum()

语法:

sum(iterable[,x])

参数:
iterable----可迭代对象,如列表,元组等
x----数值表达式,是可选的,默认为0,表示计算总和之后再加上x。

返回:

  • 对可迭代对象中的项进行求和运算,并返回结果。

实例:


4.有关转换的函数


int()

语法:

int(x {,base=10])

参数:

x----整数或字符串

base----可选项,用来表示x是多少进制数,默认为10进制(允许的进制有 0、2-36)

返回:

  • 该函数返回一个基于数字或字符串 x 构造的整数对象

  • 如果有 base 参数,那么 x 必须是字符串

  • 如果不给出参数,则返回 0

实例:

温馨小知识:


float()

语法:

float([x])

参数:

x----整数或字符串

返回:

  • 该函数返回从数字或字符串 x 中生成的浮点数。

  • 如果不给出参数,则返回 0.0

  • 我们可以使用下划线将字符串中的数字进行分组,这并不会影响到值

实例:


complex()

语法:

complex([real[, imag]])

参数:

real ---- 整数或字符串
imag ----整数

返回:

  • 该函数返回值为 real + imag j 的复数,或将字符串或数字转换为复数。

  • 如果不给出参数,则返回0j

  • 如果参数是字符串,则必须有且仅有一个这个字符串参数

实例:


注意:传入的字符串里面的加号不能有空格!

否则会引起异常,即报错。

如图:


str()

语法:

str(object='')

参数:
object----一个对象

返回:

  • 将传入的对象转换成字符串形式。

  • 如果不给出参数,则返回空字符串

实例:


bool()

语法:

bool([x])

参数:

x----要进行转换的参数

返回:

  • 该函数返回布尔值,TrueFalse
  • 如果没有参数,返回False
  • 如果是数值0或者空序列,则返回False
  • 如果是非零值,则返回True

实例:


list()

语法:

list([iterable])

参数:

iterable----可迭代对象,比如元组,字符串等。

返回:

  • 将对象转换为列表
  • 如果没有传入参数,则返回空列表

实例:


tuple()

语法:

tuple([iterable])

参数:

iterable----可迭代对象,比如列表,字符串等。

返回:

  • 将对象转换为元组
  • 如果没有传入参数,则返回空元组

实例:

注意如果传入的是字典,那么返回的是由字典的key组成的元组

如图:


dict()

语法:

dict(**kwarg)

dict(mapping, **kwarg)

dict(iterable, **kwarg)

参数:

**kwarg----关键字
mapping----关联式的容器类型,即字典。其存储了对象与对象之间的映射关系。
iterable----可迭代对象

返回:

  • 该函数根据传入的参数创建一个字典
  • 如果没有参数,则返回一个空字典
  • 如果是一个参数,并且参数为映射对象,则返回一个具有与映射对象相同值键对的字典
  • 如果是一个参数,并且参数为可迭代对象,则该对象必须每个元素都是包含两个元素的可迭代对象。其中每一项的第一个对象将成为新字典的一个键,第二个对象将成为其对应的值。
  • 如果有两个参数,即多了个关键字参数,则关键字参数及其值会被加入到基于位置参数创建的字典。 如果要加入的键已存在,来自关键字参数的值将替代来自位置参数的值。

实例:

创建一个空字典:


语法一举例(即dict(**kwarg)

如图:

语法二举例(即dict(mapping, **kwarg)

如图:

语法三举例(即dict(iterable, **kwarg)

如图:


事实上,我们还能结合zip()函数来创建一个字典

如图:


set()

语法:

set([iterable])

参数:

iterable----可迭代对象

返回:

  • 返回一个新的集合,也就是无序不重复元素集

实例:


frozenset()

语法:

frozenset([iterable])

参数:
iterable ---- 可迭代的对象,比如列表、元组等。

返回:

  • 返回一个被冻结的集合,即不可变集合,其不能再添加或删除任何元素
  • 如果没有参数,则返回一个空集合

实例:


eval()

语法:

eval(expression[, globals[, locals]])

参数:
expression – 字符串,是一条表达式
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象

返回:

  • 返回表达式expression中的计算结果。

实例:


chr()

语法:

chr(i)

参数:
i----整数

返回:

  • 该函数返回 Unicode 码位为整数 i 的字符的字符串格式。

实例:


需要注意的是,参数i的范围在0~1114111

如图:

备注1114111的16进制表示就是0x10FFFF


ord()

语法:

chr(c)

参数:

c----字符

返回:

  • 该函数返回与字符相对应的十进制整数

实例:


bin()

语法:

bin(x)

参数:

x----整数

返回:

  • 该函数返回一个以“0b”为前缀的二进制字符串

实例:


oct()

语法:

oct(i)

参数:

i----整数

返回:

  • 该函数返回一个前缀为“0o”的八进制字符串

实例:


hex()

语法:

hex(i)

参数:
i----整数

返回:

  • 该函数返回一个以“0x”为前缀的十六进制字符串

实例:


5.有关逻辑判断的函数


all()

语法:

all(iterable)

参数:
iterable----可迭代对象,如元组,列表等。

返回:

  • 如果 iterable 的所有元素均为真值则返回 True
  • 如果传入的iterable为空,也返回True
  • 如果iterable中存在0,None、False则返回False

实例:


any()

语法:

any(iterable)

参数:

iterable----可迭代对象。

返回:

  • 如果传入的可迭代对象里不全是0,空,None,False,就返回True
  • 如果传入的对象里全是空的,0,None,或者False,则返回False
  • 也就是说,只要传入的参数里有一个是真,返回值就为真

实例:


6.有关迭代的函数

filter()

语法:

filter(function, iterable)

参数:

function ----判断函数,用于过滤掉对象里不符合条件的元素
iterable ----可迭代对象,如列表,元组等。

返回:

  • 返回一个新的迭代器,其中的元素都符合判断函数的条件

实例:

我们可以利用list()函数来转换filter()函数的返回值


map()

语法:

map(function, iterable, ...)

参数:
function---- 函数
iterable---- 可迭代对象,可以有多个iterable

返回:

  • 该函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。
  • 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束

实例:

由于该函数返回的是迭代器,所有我们可以用list()函数将结果转换为列表。


range()

range类型是一种不可变的数字序列,通常用于在 for 循环中循环指定的次数。

语法:

range(stop)

range(start, stop[, step])

参数:

start----表示序列从 start 开始 (如果该形参未提供则为 0)
stop----表示序列到 stop 结束。(但不包括 stop)
step----表示步长 (如果该形参未提供则为 1)

返回:

  • 需要注意的是,该函数返回的是一个可迭代对象,而不是一个列表

如图:

实例:

  • 我们可以使用list()函数来获得列表。

如图:

  • 前文讲过range对象也是一种序列,相比于 listtuplerange的优势在于其总是占用固定数量的内存,因为它只保存了 start, stopstep 值。
  • 所以,一般序列的操作它都能完成(除了拼接和重复,即加法和乘法),因为其内存已经固定了。
  • range对象也能进行检测、元素索引查找、切片等操作

如图:


reversed()

语法:

reversed(seq)

参数:
seq ---- 序列类型或者是具有 __reversed__() 方法的对象

返回:

  • 返回一个反转的序列或迭代器

实例:


sorted()

语法:

sorted(iterable[,key=None, reverse=False])

参数:

iterable ---- 可迭代对象。
key ---- 可选项,指带有单个参数的函数。用于从 iterable 的每个元素中提取用于比较的键进行排序,默认为None,即对所有元素进行排序。
reverse ---- 可选项,指排序规则(默认为False)注:reverse = True 是降序 , reverse = False 是升序

返回:

  • 返回一个重新排好序的列表

实例:


zip()

语法:

zip(iterable, ...)

参数:

iterable----可迭代对象,可以有多个。

返回:

  • 该函数在多个iterable上并行迭代,从每个可迭代对象上返回一个数据项组成元组。

也就是说, zip() 返回元组的迭代器,其中第 i 个元组包含的是每个参数迭代器的第 i 个元素。

如图:


需要注意的是:

  • 如果若干个可迭代对象的长度不同,此时zip() 在最短的迭代完成后停止。较长可迭代对象中的剩余项将被忽略

如图:


7.其他函数

dir()

语法:

dir([object])

参数:

object----变量、类型等对象

返回:

  • 一般返回对象的属性名称,它的类属性名称,并且递归查找它的类的所有基类的属性

  • 如果对象是模块,则返回模块的属性名称

  • 如果对象是类型或类对象,则返回它们的属性名称,并且递归查找所有基类的属性

  • 如果不带参数,则返回当前范围内的变量、方法和定义的类型列表

实例:


help()

语法:

help([object])

参数:
object----对象

返回:

  • 如果对象是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字符串,并在控制台上打印帮助信息。如果实参是其他任意对象,则会生成该对象的帮助页。

实例:

如果没有传入参数,解释器控制台就会启动交互式帮助系统。

如图:


id()

语法:

id([object])

参数:
object----对象

返回:

  • 该函数返回对象的内存地址

实例:

注意:在对象的生命周期中,id值是唯一且恒定的


len()

语法:

len(s)

参数:
s----对象,可以是列表,元组,字符串,集合,字典等。

返回:

  • 该函数防护对象的长度或者说元素个数

实例:


locals()

语法:

locals()

参数:

无参数

返回:

  • 该函数更新并返回表示当前本地符号表的字典

如图:

  • 在函数内部调用 locals() 时,返回由局部变量组成的字典。

如图:


vars()

语法:

vars(object)

参数:

object----对象

返回:

  • 该函数返回模块、类、实例或任何其它具有 __dict__ 属性的对象的 __dict__ 属性。

如图:

查看math模块

注意:

  • 如果不带参数,那么vars() 的行为类似于 locals()

如图:


type()

语法1:

type(object)

参数:

object----对象


语法2:

type(name, bases, dict)

参数:

name ---- 类的名称。
bases ---- 基类的元组。
dict ----- 字典,类内定义的命名空间变量。


返回

  • 如果只有一个参数object,那么返回值是一个 type 对象。

  • 通常与 object.__class__ 所返回的对象相同。

如图:

  • 如果传入三个参数,则返回一个新的 type 对象
  • 这其实是 class 语句的一种动态形式
  • name 字符串即类名并会成为 __name__ 属性
  • bases 元组包含基类并会成为 __bases__ 属性,如果为空则会添加所有类的终极基类 object
  • dict 字典包含类主体的属性和方法定义,它在成为 __dict__ 属性之前可能会被拷贝或包装。

比如:

calss A:
	var = 666

# 上面语句等同于下面这一条语句

A = type('X',(),dict(var=666))



8.小结

以上便是python内置函数的简要总结。

实际上还有一点python的内置函数没讲,我准备用到了再讲。

用好内置函数,能事半功倍,让我们一起加油学好python

举报

相关推荐

0 条评论