python start函数_Python中10个常用的内置函数

大家好,我是小张

在 3.8 版本中,Python 解释器有近 69 个内置函数可供使用,有了它们能极大地提高编码效率,

5803c074edf0a8cee5d87baae3e92978.png

数量虽然不少,但在日常搬砖中只用到其中一部分,根据使用频率和用法,这里列出来几个本人认为不错的内置函数,结合一些例子介绍给大家

complex()

返回一个形如 a+bj 的复数,传入参数分为三种情况:

参数为空时,返回0j参数为字符串时,将字符串表达式解释为复数形式并返回参数为两个整数(a,b)时,返回 a+bj参数只有一个整数 a 时,虚部 b 默认为0,函数返回 a+0j>>> complex('1+2j')(1+2j)>>> complex()0j>>> complex(1,2)(1+2j)>>> complex(2)(2+0j)dir()

不提供参数时,返回当前本地范围内的名称列表提供一个参数时,返回该对象包含的全部属性>>> class Test: def first(self):return 1 def second(self):return 2>>> dir(Test)# 提供参数时['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'first', 'second']>>> dir()# 未提供参数时['Test', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']divmod(a,b)

a -- 代表被除数,整数或浮点数;b -- 代表除数,整数或浮点数;根据 除法运算 计算 a,b 之间的商和余数,函数返回一个元组(p,q) ,p 代表商 a//b ,q 代表余数 a%b

>>> divmod(21,4)(5, 1)>>> divmod(20.1,3)(6.0, 2.1000000000000014)enumerate(iterable,start=0)

iterable -- 一个可迭代对象,列表、元组序列等start -- 计数索引值,默认初始为0该函数返回枚举对象是个迭代器,利用 next() 方法依次返回元素值,每个元素以元组形式存在,包含一个计数元素(起始为 start )和 iterable 中对应的元素值;

>>> stu = ['xiao','zhang','li','qian']>>> enumerate(stu)>>> list(enumerate(stu))# 默认start = 0[(0, 'xiao'), (1, 'zhang'), (2, 'li'), (3, 'qian')]>>> list(enumerate(stu,start = 1))# 默认start = 1[(1, 'xiao'), (2, 'zhang'), (3, 'li'), (4, 'qian')]eval(expression,globals,locals)

expression -- 字符串表达式globals -- 变量作用,全局命名空间,如果提供必须为字典形式;可选参数locals -- 变量作用域,局部命名空间,如果提须可为任何可映射对象;可选参数将字符串表达式解析,返回执行结果

>>> eval("2+2")4>>> eval("2==2")Truefilter(function,iterable)

function -- 提供筛选函数名,返回 true 或 falseiterable -- 列表、元组等可迭代对象函数返回 iterable 中满足 function 为 True 的元素;假设有一个列表,我们只需要其中的一部分元素,这时就可以提前写一个函数再借助 filter 来进行过滤

>>> num_list = list(range(20))>>> num_list[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]>>> def mod_three(num):if(num%3==0):return Trueelse:return False>>> filter(mod_three,num_list)>>> list(filter(mod_three,num_list))[0, 3, 6, 9, 12, 15, 18]isinstance(object,classinfo)

object --表示一个类型的对象,若不是此类型, 函数恒返回 False;calssinfo -- 为一个类型元组或单个类型;判断对象 object 的类型是否为 classinfo 或 classinfo 中其中一个类型,返回 True 或 False;

调试Python程序时,障碍之一就是初始变量没有定义类型,所以在代码编写或者调试时,isinstance() 函数常被用来判断变量类型,帮助我们了解程序整个逻辑防止出错

>>> isinstance(num,str)False>>> isinstance(num,int)Truemap(function,iterable,...)

function -- 执行函数;iterable -- 可迭代对象;将 iterable 中的每一个元素放入函数 function 中依次执行,得到与 iteable 元素数量相同的迭代器;

map() 中可迭代对象可以为多个,其中函数 function 中的参数为所有可迭代对象中并行元素,最终得到的迭代器的数量是以提供元素数量最少可迭代对象为基准,当数量最少的可迭代对象所有元素输入完毕后即执行停止

>>> def fun_a(a,b):return a+2*b>>> num_list1 = [1,2,3,4]>>> num_list2 = [2,3,4,5]>>> list(map(fun_a,num_list1,num_list2))[5, 8, 11, 14]input()

函数用于人机交互,读取从输入端输入的一行内容,转化为字符串

>>> s = input('input:')input:小张Pyhon>>> s'小张Pyhon'zip(*iteables)

*iterables -- 两个或两个以上可迭代对象将所有 iterable 对象中元素按参数顺序以元素并行方式聚合在一起,得到一个迭代器,迭代器中每个元素是个n元素元组,n 表示函数中输入 iterable 参数数量

>>> num_list1 = [1,2,3,4]>>> num_list2 = [2,3,1,2]>>> list(zip(num_list1,num_list2))[(1, 2), (2, 3), (3, 1), (4, 2)]zip() 函数功能等价于

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值