首页 > 其他 > 详细

py知识(每日更新) 6.19

时间:2019-06-19 23:19:03      阅读:109      评论:0      收藏:0      [点我收藏+]

关键字 golbal,nonlocal

golbal 可以在局部作用域生命一个全局变量。可以修改全局变量 剪切

nonlocal 不能操作全局变量 可以对父级作用域的变量进行修改,并且在当前作用域复制一份此变量

默认参数的坑

当函数的默认嗯参数如果是可变的数据类型,会新建一个内存空间单独存放.

函数名的应用

? 1.函数名指向的是函数的内存地址.加上()就执行这个函数.

? 2.函数名是一个变量.可以进行赋值运算

? 3.函数名可以作为容器类类型的元素.

? 4.函数名可以作为函数的实参.

? 5.函数名可以作为函数的返回值.

Python新特性,f-string

? 1.不区分大小写

? 2.可以加入表达式

? 3.可以结合函数

? 4.不能放特殊的字符 : ; ! {}

可迭代对象

字面意思分析:可以重复迭代的实实在在的. list dict tuple str set 

? 专业角度:内部含有__ iter__方法的对象,就是可迭代对象. 内置函数:dir()

? 优点:直观.操作方法多.

? 缺点:占内存. 不能迭代取值(除去索引和字典的key)

迭代器

? 字面意思:可以重复迭代的工具.

? 专业角度:内部含有"__ iter__" 方法,并且 "next" 方法的对象,就是迭代器

? 可迭代对象转化成迭代器:

l1 = [1,2,3,4,5]
obj = iter(l1)      l1.__iter__()
#迭代器可以迭代取值.利用next()进行取值.
print(next(obj))    1
print(next(obj))    2
print(next(obj))    3
print(next(obj))    4
print(next(obj))    5
print(next(obj))    #报错

? 迭代器优点: 非常节省内存.惰性机制.

? 缺点:不直观. 不灵活. 效率相对低(用时间换空间)

? 特性:迭代器是一条路走到黑,不走回头路(记录位置)

字典为空间换时间

可迭代对象与迭代器的对比

? 可迭代对象:一个操作比较灵活,直观,效率相对高,但是比较占用内存的数据集

? 迭代器:一个非常节省内存,满足惰性机制,但是效率相对低,操作不灵活的数据集

py知识(每日更新) 6.19

原文:https://www.cnblogs.com/lyoko1996/p/11055077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!