博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Day6_内置函数
阅读量:5740 次
发布时间:2019-06-18

本文共 2261 字,大约阅读时间需要 7 分钟。

定义完一个有名函数,可以直接利用函数名+括号来执行,例如:func()

 

有名函数:

def func(x,y,z=1):    return x+y+z

 

匿名函数:

lambda x,y,z=1:x+y+z#与有参函数相比: #1,函数体没有名字 2,函数体自带return,不用加return #只利用一次就不用的,临时使用的

 

一些内置函数的意思:内置函数又被称为工厂函数

abs():取绝对值

#布尔值为假的情况:None,空,0,False

all():传可迭代对象,判断是不是所有的值布尔值是不是为真。

any() :传可迭代对象,只要有布尔值为真就为真。

bin():2进制

oct():8进制

hex():16进制

bytes:

  unicode---encode----bytes

  print('hello'.encode('utf-8'))=print(bytes('hello',encode='utf-8'))

callable():是否能够被调用的

chr():根据ASCI表的位置输出值

ord():根据ASCI表的值来输出位置

int():整型

complex():复数

float():浮点型

str():字符串

list():列表

tuple():

dict():字典

frozenst():不可变集合

divmod(): 将商和余数放到一起,例子:divmod(10,3)   结果为:(3,1)

globals,locals:查看全局作用域和局部作用域

hash():校验一段字符串,得到一堆数字,只要是内容一样,得到的结果是一样的。

help():查看函数里边的注释信息

id():访问id的一串ID号,只是python解释器实现的功能,反应了变量在内存的位置。

isinstance():

x=1print(isinstance(x,int))#判断x是不是int的实例

 max:求最大值

min:最小值

repr:把对象转换成字符串。

reversed:将列表内的内容反转。

round:将数字变为多少位小数,利用四舍五入。eg:print(3.478,2)

l=[1,2,3,4,5,6]print(l[0:4])#取得是下标0-4的值print([0:4:2])#去下标是0-4的值,而且隔2个取一个 #slice:指定一种想要数据的方法,跟上面一样。 s=slice(0,4,2) print(l[s])

 

zip:拉链

s='hello'l=[1,2,3,4,5]res=zip(s,l)print(list(res))#结果是[('h,'1)........]

 

内置函数与匿名函数结合使用:

求字典中工资最高的那个人名:

salaries={'egon':3000,'alex':110000,'wupeiqi':1000,'yunahao':2000}#将字典的key和值反转 #print(zip(salaries.values(),salaries.key())) print(max(zip(salaries.values(),salaries.key()))) #或者这样写 #max(salarie,key=lambda name:salaries[name]) def get_value(name)   return salaries[name] print(sorted(salaries,key=get_value))#这样得到的人名是从大到小排列的 print(sorted(salaries,key=get_value,reverse=True))#这样是将人名从大到小的值反转,也就是从小到大

 

map:把一堆值映射成一堆新值。

例如:将不是yangshuai的值加上一个丑的后缀。

name=['yangshuai','datuo','chenhao','dafei']#map(lambda x:x+'_SB',name)#这个是一段内存地址res=map(lambda x:x+'_SB',name)print(list(res)) #也可以指定哪个值不加 res=map(lambda x:x if x == 'yangshuai' else x:x+'_SB',name) print(list(res))

 

算下从1-100的和:

from functools import  reduceprint(reduce(lambda x,y:x+y,range(101))) #如果数列有初始值,可以在后边加上 print(reduce(lambda x,y:x+y,range(101),100))

 

将某些数据过滤出来:

name=['yangshuai', 'datuo_SB', 'chenhao_SB', 'dafei_SB']res=filter(lambda name:name.endswith('SB'),name)print(list(res))

 

eval:将文本命令执行一遍。

cmd='print(x)'x=1eval(cmd,{'x':0},{'x':1000})#当全局不存在全局变量时候会报错,可以指定一个全局变量和局部变量。#第一个值是全局变量,第二个是局部变量,当局部变量生效的时候,全局变量不会生效

 

转载于:https://www.cnblogs.com/sexiaoshuai/p/7298158.html

你可能感兴趣的文章
Docker 环境 Storage Pool 用完解决方案:resize-device-mapper
查看>>
第五讲 python函数
查看>>
【阻塞Windows防火墙端口做测试】firewall.win7.port.cn.bat
查看>>
微软mcitp 70-640 释意
查看>>
RHEL7设置磁盘配额
查看>>
LVS三种工作模式总结
查看>>
Linux SSH 配制
查看>>
RHEL5-6普通用户提权
查看>>
关于正则表达式
查看>>
制作本地yun源 http方式的详解
查看>>
Myslq 启动报错The server quit without updating PID file
查看>>
存储在线总裁郑信武:以道论存储,2007“万存归一”
查看>>
k8s网络-容器网络
查看>>
Centos7.2下安装VLC视频播放器
查看>>
实现基于LNMP的电子商务网站--小米商城
查看>>
结合Apache Kafka生态系统,谈谈2018年机器学习5大趋势
查看>>
shell 如何判断用户从键盘输入的变量是否为数字
查看>>
mysql sql 常用命令和函数
查看>>
一文看懂各种神经网络优化算法:从梯度下降到Adam方法
查看>>
如何让oracle DB、监听和oem开机启动(dbstart)
查看>>