定义完一个有名函数,可以直接利用函数名+括号来执行,例如: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=1
print(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  reduce
print(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=1
eval(cmd,{'x':0},{'x':1000})
#当全局不存在全局变量时候会报错,可以指定一个全局变量和局部变量。
#第一个值是全局变量,第二个是局部变量,当局部变量生效的时候,全局变量不会生效

Day6_内置函数的更多相关文章

  1. Entity Framework 6 Recipes 2nd Edition(11-12)译 -> 定义内置函数

    11-12. 定义内置函数 问题 想要定义一个在eSQL 和LINQ 查询里使用的内置函数. 解决方案 我们要在数据库中使用IsNull 函数,但是EF没有为eSQL 或LINQ发布这个函数. 假设我 ...

  2. Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数

    dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...

  3. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  4. DAY5 python内置函数+验证码实例

    内置函数 用验证码作为实例 字符串和字节的转换 字符串到字节 字节到字符串

  5. python之常用内置函数

    python内置函数,可以通过python的帮助文档 Build-in Functions,在终端交互下可以通过命令查看 >>> dir("__builtins__&quo ...

  6. freemarker内置函数和用法

    原文链接:http://www.iteye.com/topic/908500 在我们应用Freemarker 过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker 有没有类似于Jav ...

  7. set、def、lambda、内置函数、文件操作

    set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...

  8. SQL Server 内置函数、临时对象、流程控制

    SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...

  9. Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

    一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1 ...

随机推荐

  1. 如何在Cocos2D游戏中实现A*寻路算法(四)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  2. 当freemarker中EL表达式的值为空时出现异常的解决方法

     <#list pageView.list as msg>      <form name="msgForm" id="msgForm" ...

  3. java中public与private还有protect的区别

    java中public与private还有protect的区别 总是忘记.

  4. UNIX环境高级编程——信号基本概述和signal函数

    一.为了理解信号,先从我们最熟悉的场景说起:1. 用户输入命令,在Shell下启动一个前台进程.2. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断.3. 如果CPU当前正在执行这个进程的代码,则 ...

  5. Java Web 高性能开发,第 1 部分: 前端的高性能

    Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.所有 Web 的思想都是通用的,它们也可以运用到 Java Web.这一系列 ...

  6. 谈谈Ext JS的组件——布局的使用方法续一

    盒子布局 盒子布局主要作用是以水平(Ext.layout.container.HBox)或垂直方式(Ext.layout.container.VBox)来划分容器区域.这也是比较常有的布局方式. 使用 ...

  7. 敏捷测试(8)--ATDD整体研发流程

    ATDD整体研发流程 有了前面的基于story的敏捷基础,接下来来介绍一下验收测试驱动开发的整个流程. 名词解释: ATD,即验收测试设计(acceptancetest design) PM,即需求整 ...

  8. 第一篇、vlc-android之开篇介绍

    转载请注明出处:http://blog.csdn.net/cuiran/article/details/30054835 最近一直研究android的视频直播部分,从最开始的直接播放本地视频文件,到使 ...

  9. AngularJS进阶(三十四)Angular数据更新不及时问题探讨

    Angular数据更新不及时问题探讨 前言 在修复控制角标正确变化过程中,发觉前端代码组织层次出现了严重问题.传递和共享数据时自己使用的是rootScope,为此造成了全局变量空间的污染.根据< ...

  10. 被final关键字坑了

    一直都傻傻的以为用final关键字定义的都是不可变的.没想到的是对基本类型来说,这是一直成立的. 但是对于final修饰的对象,仍然可以修改对象里面的对象和成员变量.不变的只是当前对象的地址. 昨天我 ...