内置函数思维导图:https://www.processon.com/view/link/5c13ad2de4b0ed122da75668

内置函数
作用域相关:   locals() 返回当前作用域中的名字   globals()  返回全局作用域中的名字
迭代器相关:   range()  生成数据     next() 迭代器向下执行一次,内部实际使用__next__()方法返回迭代器的下一个项目         iter()   获取迭代器,内部实际使用的是__iter__() 方法来获取迭代器
lst = ['今天星期三', "明天星期四", "马上星期五"]
 
it = lst.__iter__()
print(it.__next__())
print(it.__next__())
print(it.__next__())
 
it = iter(lst)  # it = lst.__iter__()
print(next(it)) # it.__next__()
print(next(it))
print(next(it))
字符串类型代码的执行
eval()  执行字符串类型的代码,并返回最终结果
print(eval("2+2")) # 4
n = 8 
print(eval("2+n")) # 10 
#eval 是把字符串类型的数据作为代码进行执行
s = "18+2"
ret = eval(s) # 执行字符串类型的代码
print(ret)
exec() 执行字符串类型的代码
s = "{'name':'alex', 'age':18, 'isMan':False}" # 字符串
# 把字符串类型的代码还原回字典, 列表, 元组
ret = eval(s)  # 侧重的有返回值
print(ret)
print(type(ret))
compile() 将字符串类型的代码编译.代码队形能够通过exec语句来执行或者eval()进行求值
code = '''
for i in range(10):
    if i % 2 == 0:
        print(i)
'''
 
 
c = compile(code, "", "exec") # 预加载代码
# exec
exec(c) # 运行代码
匿名函数    lambda
匿名函数统一的名字就是 lambda
fn = lambda a, b : a + b # 定义一个很简单的函数. 复杂的函数不要用lambda
ret = fn(3, 5)
print(ret)
print(func)
print(fn)
 
使用场景: 配合着sorted, map, filter 一起使用
sorted   排序函数. 请你自己去定义排序的规则
sorted 排序函数.  让你自己去定义排序的规则
 
lst = [11,5,36,1,27,58]
 
s = sorted(lst) # 默认从小到大排序.
print(s)
lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"]
# 按照字符串长度排序
def func(s):
    return len(s) # 返回长度
 
# 执行流程:
# 把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数.
# 函数返回数字. 根据数字进行排序
s = sorted(lst, key=func)
print(s)
 
print(sorted(lst, key=lambda s:len(s) ))
 
 
lst = [
    {"name":"alex", "shengao":150, "tizhong":250},
    {"name":"wusir", "shengao":158, "tizhong":150},
    {"name":"taibai", "shengao":177, "tizhong":130},
    {"name":"ritian", "shengao":165, "tizhong":130},
    {"name":"nvshen", "shengao":160, "tizhong":120},
    {"name":"baolang", "shengao":183, "tizhong":190}
]
 
# 按照体重进行排序
print(sorted(lst, key=lambda dic:dic['tizhong'],  reverse=True))
map   映射函数
map()  映射函数
lst = ["篮球球", "打打台球", "唱歌", "爬慌山", "步"]
 
m = map(lambda s: "爱好:"+s , lst)
 
print(list(m))
 
lst = [1,5,78,12,16] # 计算每个数字的平方
print([i **2 for i in lst])
 
m = map(lambda i: i ** 2, lst)
print(list(m))
filter   过滤
 
lst = ["张无忌", "张翠山", "范冰冰", "金毛狮王", "李冰冰"]
 
# 过滤掉姓张的人
# 把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留
f = filter(lambda name : not name.startswith("张"), lst)
 
print("__iter__" in dir(f)) # 可迭代对象
for el in f:
    print(el)
lst = [
    {"name":"alex", "shengao":150, "tizhong":250},
    {"name":"wusir", "shengao":158, "tizhong":150},
    {"name":"taibai", "shengao":177, "tizhong":130},
    {"name":"ritian", "shengao":165, "tizhong":130},
    {"name":"nvshen", "shengao":160, "tizhong":120},
    {"name":"baolang", "shengao":183, "tizhong":190}
]
 
# 过滤掉体重大于180的人   想要的是 小于180
 
f = filter(lambda d : d['tizhong'] <= 180, lst)
 
print(list(f))
 

day 13 内置函数的更多相关文章

  1. python --- 13 内置函数

    内置函数 思维导图 1.作用域相关 locals()     返回当前作用域中的名字 globals()  返回全局作用域中的名字 2.迭代器相关 range()     生成数据 next()    ...

  2. python 13 内置函数2

    目录 内置函数(二) 匿名函数 内置函数(三) 闭包 内置函数(二) abs() #返回绝对值--返回的是正数 enumerate("可迭代对象","序号起始值" ...

  3. python note 13 内置函数

    1. lst = ["白蛇传","骷髅叹","庄周闲游"] it = lst.__iter__() print(it.__next__()) ...

  4. Python全栈开发之3、深浅拷贝、变量和函数、递归、函数式编程、内置函数

    一.深浅拷贝 1.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy # 定义变量 数字.字符串 # n1 = 123 n1 ...

  5. 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda

    一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...

  6. Python【day 13】内置函数02

    一.作用域相关-2个 1.locals() 参数是空 返回当前位置作用域的所有变量,返回的是字典 当前位置:函数内,返回局部变量 当前位置:函数外,返回全局变量 2.globals() 参数是空 返回 ...

  7. Python【day 13】内置函数01

    1.python3.6.2 一共有 68个内置函数2.分成6个大类 1.反射相关-4个 2.面向对象相关-9个 3.作用域相关--2个 1.globlas() #注意:最后是s,复数形式 查看全局作用 ...

  8. python内置函数

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

  9. freemarker内置函数和用法

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

随机推荐

  1. leetcode-valid number ZZ

    http://blog.csdn.net/kenden23/article/details/18696083 本题是十分麻烦的题目,情况是非常多,网上也很多方法,其中最有效,优雅的方法是有限状态自动机 ...

  2. SVN常用功能介绍(二)

    说明 上一章节主要描述了SVN的简介.安装搭建,和项目管理人员对SVN的常用操作. 这章主要讲解,SVN对应角色组员,在实际运用中的常用操作. 将SVN服务器项目导入到开发组员的本地电脑里 方式一: ...

  3. GPDB 5.x PSQL Quick Reference

    General \copyright show PostgreSQL usage and distribution terms \g [FILE] or ; execute query (and se ...

  4. [问题记录]cocos的lua绑定安装pyyaml报错

    描述:按照readme中的文档操作报错,提示python2.7没有安装,但是确实已经安装了,而且也设置环境变量成功了. 解决: 在D盘新建register.py的文件,内容如下: # # script ...

  5. BUG Review:关于getting 'android:xxx' attribute: attribute is not a string value的问题及解决方法

    我们在使用Android Studio开发完应用程序后,都要将打好的apk安装包上传到各大应用市场,但是有时候上传时应用市场会出现提交的安装包不能通过应用市场的aapt解析而被打回的情况. 他们使用a ...

  6. hdu-1395 2^x mod n = 1---求阶(欧拉函数)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1395 题目大意: 题目中给出输入一个整数n,要求一个最小整数的x,使得2^x mod n=1; 解题 ...

  7. (一)自定义ViewGroup绘制出菜单

    从网上学习了hyman大神的卫星菜单实现,自己特意亲自又写了一编代码,对自定义ViewGroup的理解又深入了一点.我坚信只有自己写出来的知识才会有更加好的的掌握.因此也在自己的博客中将这个卫星菜单的 ...

  8. 使用Composer管理PHP依赖关系

    Composer 是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件. 系统需求: ...

  9. 【[JLOI2011]飞行路线】

    据说这是分层图最短路的板子题 但其实就是一个\(dij\)多带了一维状态 我们看到\(k\)很小所以显然我们可以设计一个这样的状态 \(d[v][k]\)表示从起点到点\(v\)免费走了\(k\)条路 ...

  10. POJ 3264 Balanced Lineup 【ST表 静态RMQ】

    传送门:http://poj.org/problem?id=3264 Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total S ...