9月7日学习内容整理:内置函数
一、内置函数
1、作用域相关:
(1)globals() 查看全局作用域,显示所有的变量
(2)locals() 查看局部作用域,只会显示当前函数使用的变量
2、迭代器相关:
(1)iter(可迭代对象):返回一个迭代器
(2)next(迭代器):执行一次取一个值,取完为止,括号里不能直接写iter(可迭代对象),每次next都会生成一个新的迭代器,每次取出来的都是第一个值
(3)range(100):0到99
range(9,100,2):2为步长,隔一个取值
range不会直接显示出所有值,一般for循环或者强转为列表
3、其他类:
(1)字符串类:
a) eval()
b) exec()
两个都是将字符串转为python代码,区别是exec没有返回值,所以遇到求值的就不能用exec,要用eval
注意带有import的要先做检测,否则使用OS模块会很危险
c) compile() 需要对字符串类型的代码多次执行,不常用
流程式语句,用exec
求值表达式,用eval
交互式语句,用single
(2)输入输出:
a) 输入:input 输入的是字符串类型
b) 输出:print
end= 按什么结束,默认是换行
sep= 按什么分割,默认是空格
file=文件句柄 打印到文件中,默认打印到屏幕上
flush=True 立即打印,默认会等一下再打印,防止程序还有东西打印等到最后一起打印出来
补充:\r 把光标移动到行首但不换行
3、内存相关:
(1)哈希:hash() 结果是一串数字,并且是不可逆的,不能用这一串数字反推出对象
注意:列表、字典、集合不能被哈希
在python一次执行中,相同的可哈希对象来说,得到的是同样的数字结果
(2)id() :显示内存地址
应用:身份运算,is 比较值和内存地址是否相同
(3)文件操作:open
(4)模块操作:就用import
(5)帮助:help 输入q退出
(6)调用相关:callable(),判断函数是否可调用
(7)查看内容属性: dir() 查看所有的类功能(方法)
dir(_ _builtins_ _) 查看所有内置函数名字
4、数据类型相关
(1)过滤:filter(函数名,可迭代对象)
循环可迭代对象的每个元素当作函数的参数,若返回True就把这个元素放到一个新的可迭代对象中,filter最终返回一个迭代器,可循环强转取值
def func(n):if n%2 == 0:return True lst = [1,2,3,4,5,6,7] ret = filter(func,lst) #过滤 # 返回一个迭代器 for i in ret:print(i)
filter函数举例
(2)map(函数名,可迭代对象)
也是循环每个可迭代对象的元素当作函数的参数,函数返回什么就返回什么到新的可迭代对象中,map最终返回一个迭代器,可循环强转取值
lst = [1,2,3,4,5,6,7] def func(item):return item*item print(list(map(func,lst)))
map函数举例
(3)enumerate(可迭代对象,1)
本身是个迭代器
给可迭代对象加序号,默认从0开始,写几就从几开始
输出的元组类型
se = {'computer':10000,'umbrella':200}for num,goods in enumerate(se,1):print(num,goods,se[goods])
排序函数举例
转载于:https://www.cnblogs.com/wanghl1011/articles/7490044.html
9月7日学习内容整理:内置函数相关推荐
- 1月26日学习内容整理:reverse函数补充,modelform对象补充,form表单参数补充
1.reverse函数中的args参数,必须是一个元组,只有一个元素时必须加逗号,并且args给URL传参数的时候是根据分组传的,所以我们设置的URL中的要传参的正则表达式一定要加括号 2.我们用未绑 ...
- 1月8日学习内容整理:JS的作用域和作用域链
补充: 对于编译型语言,是编译一次生成可执行文件来执行多次:对于解释型语言,始终都是编译一次执行一次 python编译时要看有没有赋值操作,没有的话就不编译任何内容:若有赋值操作,才会开辟内存空间,把 ...
- 11月8日学习内容整理:js的引入方式,变量数据类型,运算符,流程控制,函数...
js是一门成熟的编程语言,专门用浏览器客户端执行的语言 一.js的引入方式 1.直接在body标签中使用script标签写js语言 2.通过script标签导入js文件,<script sr ...
- 8月30日学习内容整理:命名空间,作用域,函数名本质,闭包
补充: 三元运算:c= a if a>b else b 相当于: if a>b: c=a else: c=b 结构; if条件成立的结果 if 条件 else if条件不成 ...
- 10月25日学习内容整理:数据操作:增加更新删除,单表查询操作
>>\G是按行显示,必须是大写 >>插入数据:补充另一种插入记录的方法 -->insert into 表名1(字段1,字段2,...) select 字段1,字段2,.. ...
- 3月19日学习内容整理:redis
1.定义 redis是一个软件,来帮助我们在内存中存储数据,支持持久化 mysql也是一个软件,是帮助我们在硬盘中存储数据 2.应用 由于速度快 可做缓存,存储一些不常改变的数据 临时数据 消息队列 ...
- 9月13日学习内容整理:异常处理
一.异常处理 1.排错:多行报错的时候,真正报错的是最下面:若报错的地方在别人的代码里,注意别人写的代码是不会报错的,还是找自己的错 2.特点:一旦发生异常,程序不会再向下执行 3.处理方法: (1) ...
- 2月1日学习内容整理:算法
1.概念 一个计算过程,解决问题的方法 2.时间复杂度和空间复杂度 时间复杂度:用来表示算法的运行效率 >>>一般来说,时间复杂度高的算法比时间复杂度低的算法运行效率高,,但这不是绝 ...
- 12月7日学习内容整理:ORM单表操作
补充:url(r"^$") 代表只匹配域名,没有路径部分 一.添加: 1.方式一:昨天讲过的实例化对象 2.方式二: stu_obj=类名(就是表名).objects.creat ...
最新文章
- linux 系统打造man中文帮助手册图解
- Javascript 变量、函数的声明
- LuceneLucene简介
- web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
- java代码块是对象吗_面向对象(Java中普通代码块,构造代码块,静态代码块区别及代码示例)...
- 机器人走方格(51Nod-1119)
- Java继承结构中类的初始化
- Linux NAT基本流程与实现技巧
- 反爬虫破解——百度翻译
- Recovered from a route's Handler('github.com/kataras/iris/mvc.(*ControllerActivator).handlerOf.func2
- 智遥工作流——会签与多人审批区别
- java 判断手机运营商_如何用java判断手机号运营商?
- mac svn 服务器及客户端
- 【Bluetooth蓝牙开发】三、蓝牙调试工具【集合汇总】
- 1.socket网络编程
- c语言中的void类型解析
- 第十届河南 ACM 省赛纪事
- 无标号有根仙人掌计数
- java c 速度_Java和C#运行速度对比:Java比C#快约3倍
- 【CSS】如何实现价格文字中间划一条线