Key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value

dict是用空间来换取时间的一种方法,用在需要高速查找的地方。

dict的key必须是不可变对象

通过key计算位置的算法称为哈希算法,要保证hash的正确性,作为key的对象就不能变的

对象a的内容是’abc’,是指,a本身是一个变量,它指向的对象的内容才是abc’

对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回

函数体内部可以用return随时返回函数结果

函数可以同时返回多个值,但其实就是一个tuple

函数参数必须必选参数在前,默认参数在后

默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误

Python内置的enumerate函数可以把一个list变成索引-元素对

在Python中,这种一边循环一边计算的机制,成为生成器:generator

如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator

函数是顺序执行,遇到return语句或者最后一行函数语句就返回

而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行

filter()的作用是从第一个序列中晒出符合条件的元素。由于filter()使用了惰性计算,所以只有在取filter()结果的时候,才会真正筛选并每次返回下一个晒出的元素

返回闭包时牢记的一点就是:返回函数不要饮用任何循环变量,或者后续会发生变化的变量

一个函数可以返回一个计算结果,也可以返回一个函数

返回一个函数时,牢记该函数并未执行,返回函数不要引用任何可能会变化的变量

在代码运行期间动态增加功能的方式,称之为装饰器(Decorator)

本质上,decorator就是一个返回函数的高阶函数

面向对象的设计思想是抽象出Class,根据Class创建Instance

类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”

init方法的第一个参数永远是self,表示创建的实例本身

各个实例拥有的数据都互相独立,互不影响

方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据

通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节

Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同

在Python中,实例的变量名如果以__开头,就变成了一个私有变量,只有内部可以访问,外部不能访问

为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的slots变量没来限制该class实例能添加的属性

先定义metaclass,就可以创建类,最后创建实例

如果没有错误发生,可以在except语句块后面加一个else,当没有错误发生时,会自动执行else语句

磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象,然后通过操作系统提供的接口从这个文件对象中读取数据,或者把数据写入这个文件对象

在Python中,文件读写是通过open()函数打开的文件对象完成的。使用with语句操作文件IO是个好习惯

把变量从内存中变成可存储或传输的过程称之为序列号,序列化之后,可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上

线程是最小的执行单元,而进程由至少一个线程组成

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁

itertools模块提供的全部是处理迭代功能的函数,它们的返回值不是list,而是Iterator,只有用for循环迭代的时候才真正计算

IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去

IP包的特点是按块发送,途径多个路由,但不保证能到达,也不保证顺序到达

TCP协议是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。

TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果包丢掉了,就自动重发

一个IP包除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口

对于客户端,要主动连接服务器的IP和指定端口,对于服务器,要首先监听指定端口,然后,对每一个新的连接,创建一个线程或进程来处理。通常,服务器程序会无限运行下去

同一个端口,被一个Socket绑定了后,就不能被别的Socket绑定了

使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了

异步IO,当代码需要执行一个耗时的IO操作时,它只发出IO指令,并不等待IO结果,然后就去执行其他代码了。一段时间后,当IO返回结果时,再通知CPU进行处理

异步IO模型需要一个消息循环,在消息循环中,主线程不断地重复“读取消息-处理消息”这一过程

asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO

@asynicio.coroutine把一个generator标记为corountue类型,然后,我们就把这个coroutine扔到EventLoop中执行

初识python廖雪峰_Python3-廖雪峰学习笔记相关推荐

  1. 《python(廖雪峰课程)》学习笔记

    <python(廖雪峰课程)>学习笔记(个人检索) 1. 第一个python程序 input & output print输出字符串可以用""or'' prin ...

  2. 23神经网络 :唐宇迪《python数据分析与机器学习实战》学习笔记

    唐宇迪<python数据分析与机器学习实战>学习笔记 23神经网络 1.初识神经网络 百度深度学习研究院的图,当数据规模较小时差异较小,但当数据规模较大时深度学习算法的效率明显增加,目前大 ...

  3. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  4. 《深度学习入门-基于Python的理论与实现》学习笔记1

    <深度学习入门-基于Python的理论与实现>学习笔记1 第一章Python入门 Python是一个简单.易读.易记的编程语言,可以用类似于英语的语法进行编写程序,可读性高,且能写出高性能 ...

  5. python编程16章教程_Python学习笔记__16.2章 TCP编程

    # 这是学习廖雪峰老师python教程的学习笔记 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算 ...

  6. python第三方库中函数调用_Python学习笔记(2)——Python的函数、模块、包和库...

    初识Python,对于没有接触过编程的我,恐怕只能听懂什么是函数,这里介绍一下几个概念,并给出Python在调用方面的独特之处. 函数 理解为数学上的函数就可以了.下载安装完python后,并不是所有 ...

  7. python编程语言继承_python应用:学习笔记(Python继承)

    学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...

  8. python里while的用法_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  9. opencv python 直方图反向投影_python OpenCV学习笔记直方图反向投影的实现

    本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下: 它用于图像分割或寻找图像中感兴趣的对象.简单地说,它创建一个与我们的输入图像相同大小(但单通道)的图像,其中每 ...

  10. python中if语句使用_Python学习笔记之if语句的使用示例

    前言 条件语句在实际开发中我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,下面话不多说了,来一起看看详细的介绍吧. if语句 顾名思义,该语句为判断语句,先来一个简单的示例 cars=[' ...

最新文章

  1. Android踩坑日记:使用Fesco图片加载库在GridView上的卡顿优化
  2. Java中final和static对修饰类、方法、属性的总结
  3. 表现与数据分离;前台MVC
  4. PAT乙类1008之数组元素循环右移问题
  5. 使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server
  6. GDI对象泄漏检查的一点经验
  7. ISAServer***检测及配置
  8. 制作的LINUX安装软件,竟然导致系统无法启动
  9. java 注释器_注释和注释处理器入门指南
  10. python获取文件列表失败_python – Pytesseract没有这样的文件或目录错误
  11. MySQL卸载干净检查_MySQL数据库卸载干净处理
  12. 奇迹MU服务端架设教程技术分享探究_奇迹架设技术_奇迹SF套装
  13. 柳州铁一中机器人_柳州铁路第一中学的办学成果
  14. matlab画二项式随机变量的pmf,概率中的PDF,PMF,CDF
  15. 鸿蒙系统手机电脑互传文件,【手机篇】巧借局域网,便捷实现手机电脑间的文件传输...
  16. SAP-FI 科目的统驭科目类型设置错了如何更改
  17. SVN中如何将指定文件或文件夹直接提交到svn指定目录
  18. 第26讲-项目一-投票表决器
  19. 自定义excel表格(生成报价单,含多种excel样式调整)
  20. python数字排序_python数字排序

热门文章

  1. 【物理应用】基于matlab车辆二自由度悬架鲁棒控制【含Matlab源码 2324期】
  2. 用标签打印软件在A4纸上批量打印条码标签
  3. .conf、.bak是什么格式
  4. JavaScript判断奇偶数
  5. linux上从github下载代码缓慢解决办法
  6. ios 让debugserver可以调试任意app
  7. RH436之高级资源管理
  8. 第七章第十题(找出最小元素的下标)(Find the subscript of the smallest element)
  9. Typora修改字体颜色
  10. MT 102 Multiple Customer Credit Transfer多客户信用转账