目录

一,数据类型的底层实现

1错综复杂的复制

1.1列表的底层实现

1.1.1新增元素

1.1.2修改元素

1.2.3对列表型元素进行操作

1.1.3对元组型元素进行操作

1.1.4对字典型元素进行操作

深拷贝

1.2 神秘的字典

1.2.1 快速的查找

1.2.2 字典的底层实现

1.3字符串

1.4是否可变

不可变类型:数字,字符串,元组

可变类型:列表,字典,集合

1.5 列表操作的小例子

二,更加简洁的语法

2.1解析语法

2.1.1 基本结构

2.1.2 其他解析语法的例子

2.2 条件表达式

三,三大神器

3.1  生成器

3.1.1 生成器表达式

3.1.2 生成器函数——yield

3.2 迭代器

3.2.1 可迭代对象

3.3 装饰器

3.3.1 目的

3.3.2 函数对象

3.3.3 高阶函数

3.3.4 嵌套函数

3.3.5 闭包

3.3.6简单的装饰器

知识回顾


本章导读

一,数据类型的底层实现

1错综复杂的复制

·浅拷贝

 ·对浅拷贝前后列表分别进行操作

1.1列表的底层实现

1.1.1新增元素

1.1.2修改元素

1.2.3对列表型元素进行操作

1.1.3对元组型元素进行操作

1.1.4对字典型元素进行操作

 和列表差不多

总结:像列表和字典,是可变的,地址可以不变,内容变化,而像元组那样的不可变类型,内容变时,地址也发生了响应的变化

所以引入

深拷贝

1.2 神秘的字典

1.2.1 快速的查找

1.2.2 字典的底层实现

通过稀疏数组来实现值的存储与访问

字典的创造过程

·第一步:创建一个散列表(稀疏数组N>>n)

第一步:通过hash()计算键的散列值

键值对的访问过程

1.3字符串

数组

1.4是否可变

不可变类型:数字,字符串,元组        

生命周期中保持不变

换句话说,改变了就不是自己了

不可变对象+=操作 实际创建了一个新的对象

 元组不是总是不可变的

元组有可变元素时可变3

可变类型:列表,字典,集合

1.5 列表操作的小例子

【例1】 删除列表里的元素

出现这个原因说因为使用remove函数的时候,会删除第一个出现的d,比如第一次使用的时候,出现了d,删除第一个d,在第二次for循环时候,会访问第二个地址元素,但因为第一个d被删除了,所以实际访问的是第三个d,以此类推

 【例2】多维列表的创建

二,更加简洁的语法

2.1解析语法

2.1.1 基本结构

2.1.2 其他解析语法的例子

2.2 条件表达式

三,三大神器

3.1  生成器

 

3.1.1 生成器表达式

        ·海量数据,不需储存

3.1.2 生成器函数——yield

·生产斐波那契数列 :数列前两个元素 之和   为后元素

3.2 迭代器

3.2.1 可迭代对象

可以直接用for循环的对象统称可迭代对象

enumerate能讲元素的位置信息和他本身进行组合,生成一个元组

第二次在迭代就迭代不出来了

而且不可以被耗尽

3.3 装饰器

3.3.1 目的

3.3.2 函数对象

3.3.3 高阶函数

3.3.4 嵌套函数

3.3.5 闭包

 

会报错

解决方法

3.3.6简单的装饰器

语法糖

装饰有参函数

有返回值函数

带参数的修饰器

def timer(method):def outer(func):def inner(*args,**kwargs):print("inner")if method == "origin":print("origin")start = time.time()res = func(*args,**kwargs)end = time.time()print("{}:{:.2f}s".format(func.__name__,(end-start)))elif method == "double":print("double")start = time.time()res = func(*args,**kwargs)end = time.time()print("{}:{:.2f}s".format(func.__name__,2*(end-start)))return resreturn innerreturn outer
@timer(method="origin") # 相当于timer =timer(method="origin")f1=timer(f1)
def f1(n):print("f1 run")time.sleep(n)return "wake up"@timer(method="double") # 相当于timer =timer(method="double")f2=timer(f2)
def f2(n):print("f2 run")time.sleep(n)return " up"f1(1)
f2(2)

何时执行

·一装饰就执行,不必等调用

回归本源

        ·原函数属性被覆盖

        ·回来

通过这个可以使原函数的属性给弄回来

知识回顾

【深度之眼五——(1)】Python:有益的探索相关推荐

  1. 深度之眼课程打卡-python入门05

    目录 文章目录 目录 前言 内容 一.数据结构介绍 1.Series的创建 2.DataFrame的创建 二.数据索引index 1.通过索引值或索引标签获取数据 2.自动化对齐 三.利用pandas ...

  2. 【深度之眼PyTorch框架班第五期】作业打卡01:PyTorch简介及环境配置;PyTorch基础数据结构——张量

    文章目录 任务名称 任务简介 详细说明 作业 1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的 ...

  3. GNN手写字体识别java_深度之眼Paper带读笔记GNN.09.GGNN

    文章目录 前言 本课程来自深度之眼,部分截图来自课程视频. 文章标题:Gated Graph Sequence Neural Networks 门控序列图神经网络(GGNN) 作者:Yujia Li∗ ...

  4. 深度之眼Paper带读笔记GNN.09.GGNN

    文章目录 前言 论文结构 学习目标 泛读 研究背景 研究意义 摘要 章节 精读 细节一:GRU模型回顾 细节二:GGNN模型 Propagation Model output model 模型框架 G ...

  5. 深度之眼Paper带读笔记NLP.2:word2vec.baseline.1

    文章目录 前言 论文储备知识 语言模型 基于专家语法规则的语言模型 统计语言模型 统计语言模型中的平滑操作 基于马尔科夫假设 语言模型评价指标:困惑度(Perplexity) 论文背景知识 词的表示方 ...

  6. 深度之眼Paper带读笔记GNN.05.TransE/H/R/D

    文章目录 前言 论文结构 导读 研究背景 Trans系列算法概述 数据集简介 研究成果 研究意义 摘要 论文结构 论文精读 知识树 算法模型总览 算法系列图谱 Notation 细节一:TransE模 ...

  7. 深度学习 自组织映射网络 ——python实现SOM(用于聚类)

    深度学习 自组织映射网络 --python实现SOM(用于聚类) 摘要 python实现代码 计算实例 摘要 SOM(Self Organizing Maps ) 的目标是用低维目标空间的点来表示高维 ...

  8. 深度之眼课程打卡-统计学习方法01

    目录 文章目录 目录 前言 绪论 作业打卡 L1和L2范式 ROC曲线 一 roc曲线 二 如何画roc曲线 三 为什么使用Roc和Auc评价分类器 补充 混淆矩阵 参考 前言 为了增加实战经验,选择 ...

  9. python中superclass是什么_深度解析并实现python中的super(转载,好文)

    大神半个月的成绩,让我看的叹为观止,建议看原帖地址,会让你对Python的描述符有更强的认识. 原文链接:https://blog.csdn.net/zhangjg_blog/article/deta ...

最新文章

  1. 华为ax3怎么接光纤sc接口_视频监控工程中使用光纤光缆注意事项有哪些?
  2. SAP Fiori Elements 应用的 i18n 语法使用方式
  3. Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索
  4. java 复选框怎么用_Java Swing公开课|Java Swing的复选框组件怎么用,看完这篇文章你一定就会了...
  5. 最小公倍数最大公约数
  6. Vue.js新手入门指南
  7. 你还在用 BeanUtils?试试 MapStruct,优雅的对象转换解决方案!
  8. visio画图复制粘贴到word_用VISIO画图 复制完之后粘贴到word中为什么只显示下面一部分?...
  9. 手心输入法 -无广告不骚扰
  10. python获取第一个字符_Python:获取列表中第一个字符串的第一个字符?
  11. .net Stream篇(五)
  12. 竹间智能以AI能力打通医疗链路全流程,让说明书变成“虚拟健康顾问”
  13. php源码字符串内部表示,PHP源码—implode函数源码分析
  14. message_filters
  15. RAID5换硬盘重建记录
  16. Spring Security系列教程03--创建SpringSecurity项目
  17. Mac移动硬盘分区无法装载
  18. VS2010编译的程序在XP上无运行库执行,以及ADO在XP上报80004003的错误处理
  19. 网易校园招聘笔试题目
  20. 寻找市场中的Alpha(上):WorldQuant的阿尔法设计理念

热门文章

  1. 印象笔记打开错误_使用云笔记,记下永恒的财富
  2. 2015中学计算机考试题,2015初中艺术试题参考
  3. 计算机图形学基础及应用大纲,《计算机图形学》教学大纲
  4. 学生德育综合成长管理平台源码
  5. 获5.3亿美金融资,亚马逊、红杉入局,自动驾驶“梦之队”Aurora还藏了哪些秘招?...
  6. WDA学习(29):WDA HTML
  7. 微生物分子生态学研究方法培训通知(禇海燕/冯友智/陈瑞蕊/蔡元锋/叶茂等)
  8. 微信小程序实现简易计算器
  9. CSS背景图怎么自适应全屏(手机或者电脑)
  10. python简单圣诞树手工折纸_圣诞树简单手工diy折纸图解教程