随笔分类 - python
摘要:本章将介绍UDP编程,更多内容请参考: "Python学习指南" TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP连接,UDP则是面向无连接的协议。 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发送数据包,但是,能不能到达就不知道了。 虽然用U
阅读全文
摘要:本章将介绍tcp网络编程,更多内容请参考: "Python学习指南" Socket是网络编程的一个抽象概念,通常我们用一个Socket表示"打开了一个网络连接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。 客户端 大多数连接都是可靠的TCP连接。创建TCP连接时
阅读全文
摘要:本篇将开始介绍Python的网络编程,更多内容请参考: "Python学习指南" 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 计算机网络就是把各个计算机连接在一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器
阅读全文
摘要:本章将介绍Python自建模块 ,更多内容请参考: "Python参考指南" python的自建模块 提供了非常有用的用于操作迭代对象的函数。 首先,我们看看 提供的几个 迭代器: 因为 会创建一个无限的迭代器,所以上述代码会打印出自然数序列,根本停不下来,只能 退出。 会把传入的一个序列无限重复下
阅读全文
摘要:本篇将学习python的另一个内建模块collections,更多内容请参考: "Python学习指南" collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道 可以表示不变集合,例如,一个点的二维左边就可以表示成: 但是,看到 ,很难看出这
阅读全文
摘要:本章将介绍Python内建模块:日志模块,更多内容请从参考: "Python学习指南" 简单使用 最开始,我们用最短的代码体验一下logging的基本功能。 + 第一步,通过logging.getLogger函数,获取一个loger对象,但这个对象暂时是无法使用的。 + 第二步,logging.ba
阅读全文
摘要:本篇主要介绍Python中枚举类的用法,更多内容请参考: "Python学习指南" 当我们需要定义常量时,一个办法就是用大写变量通过整数来定义,例如月份: 好处就是简单,确定是类型是 ,并且仍然是变量。 更好的办法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。
阅读全文
摘要:当给属性赋值的时候,使用 的方式显然把属性暴露出来了,并且也无法对属性值进行限制检查,java中提供了setter和getter方法,那么python是如何做的呢?更多内容请参考: "Python学习指南" 属性赋值方法 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参
阅读全文
摘要:Python的动态绑定可以在程序运行的过程中对实例或class加上功能,但是如果我们想要限制实例的属性怎么办呢?更改内容请参考: "Python学习指南" 正常情况下,当我们定义了一个class,创建了一个class实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class
阅读全文
摘要:Python内置了一些特殊变量,以前后上下划线标注,同时我们自己要想定义一些变量,不想让外部访问,又该怎么做呢?更多内容请参考: "Python学习指南" 访问限制 在class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的辅助逻辑。 但是,从前面S
阅读全文
摘要:本篇将开始介绍python高阶函数map/reduce/filter的用法,更多内容请参考: "Python学习指南" map/reduce Python内建了 和`reduce()`函数。 如果你读过Google的那篇大名鼎鼎的论文" "MapReduce: Simplified Data Pro
阅读全文
摘要:本篇将介绍Python的函数式编程,介绍高阶函数的原理,更多内容请参考: "Python学习指南" 函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计
阅读全文
摘要:本篇将介绍Python的装饰器用法,更都内容请参考: "Python学习指南" 装饰器 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 函数对象有一个 属性,可以拿到函数的名字: 现在,假设我们要增强 函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改
阅读全文
摘要:返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数! 当我们调用 时,返回的并不是
阅读全文
摘要:本章将介绍函数中参数的用法,更多内容请参考: "Python学习指南" 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道传递正确的参数,以及函数就返回什么样的值就够了,函数内部的复杂逻辑被封装起来了,调用者无须了解。 Python的函数定义非常
阅读全文
摘要:本文主要介绍Python中的常用数据类型转换,更多内容请参考: "Python学习指南" 常用的数据类型转换 |函数|说明| | | | |int(x,[,base])|将x转换为一个整数| |long(x[,base])|将x转换为一个长整数| |float(x)|将x转换到一个浮点数| |com
阅读全文
摘要:本篇将要介绍python迭代器,更多内容请参考: "python学习指南" 前言 前面我们学过迭代,可以直接用 循环的都是可迭代对象,可用于 循环的数据类型有以下几种: 1. 集合数据类型,如 、`tuple dict set str`等 2. generator:包括生成器和 的`generato
阅读全文
摘要:本篇将介绍python生成器,更多内容请参考: "python学习指南" 前言 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅访问前面几个元素,那后面绝大多数占用的空间都白白浪费了。 是
阅读全文
摘要:本篇文章将介绍python里面的I/O编程。更多内容请参考: "python学习指南" I/O编程 读写文件时最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所
阅读全文
摘要:本章将从案例开始介绍python scrapy框架,更多内容请参考: "python学习指南" 入门案例 学习目标 + 创建一个Scrapy项目 + 定义提取的结构化数据(Item) + 编写爬取网站的Spider并提取出结构化数据(Item) + 编写Item Pipelines来存储提取到的It
阅读全文