随笔分类 -  Python

摘要:安装 快捷安装 源码安装 注意: Zsh:修改 文件而不是 。 Ubuntu、Fedora:修改 文件而不是 。 使用 安装需要的python版本: 一般有一个2.7,一个3.8就够了。 如果不确定哪些版本支持,可以查看pyenv支持安装的Python版本有哪些: 使用指定版本Python: 使用 阅读全文
posted @ 2020-03-19 21:46 飞鸿影 阅读(1711) 评论(0) 推荐(1) 编辑
摘要:本文将介绍python里常用的模块。如未特殊说明,所有示例均以python3.4为例: 网络请求 urllib urllib提供了一系列用于操作URL的功能。通过urllib我们可以很方便的抓取网页内容。 抓取网页内容 抓取百度搜索图片 python2.7的用户需要把 替换成 。 批量下载图片 模拟 阅读全文
posted @ 2017-03-05 23:15 飞鸿影 阅读(1461) 评论(3) 推荐(4) 编辑
摘要:在同步IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了。 如果IO请求需要大量时间执行的话,异步IO方式可以显著提高效率,因为在线程等待的这段时间 阅读全文
posted @ 2017-02-16 18:40 飞鸿影 阅读(1096) 评论(2) 推荐(3) 编辑
摘要:发送邮件 SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有 和`email email smtplib`负责发送邮件。 发送简单邮件 下面是最简单的发邮件的例子: 注意默认 和`msg['To'] msg[' 阅读全文
posted @ 2017-02-15 18:35 飞鸿影 阅读(779) 评论(1) 推荐(1) 编辑
摘要:HTTP格式 HTTP协议是基于TCP和IP协议的。HTTP协议是一种文本协议。 每个HTTP请求和响应都遵循相同的格式,一个HTTP包含Header和Body两部分,其中Body是可选的。 HTTP请求格式: GET: POST: Header部分每行用 换行,每行里键名和键值之间以 分割,注意冒 阅读全文
posted @ 2017-02-14 18:08 飞鸿影 阅读(1817) 评论(0) 推荐(1) 编辑
摘要:TCP编程 Client 创建一个基于TCP连接的Socket: 输出: 代码说明: 1、创建socket连接的时候使用 指定使用IPv4协议,如果要用更先进的IPv6,就指定为 。`SOCK_STREAM`指定使用面向流的TCP协议。 2、建立连接的 接受一个tuple,包含地址和端口号。 3、发 阅读全文
posted @ 2017-02-12 10:34 飞鸿影 阅读(618) 评论(0) 推荐(0) 编辑
摘要:线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。 进程 fork调用 通过 系统调用,就可以生成一个子进程。 下面先了解下关于 的相关知识: Unix/Linux操作系统提供了一个 系统调用,它非常特殊。普通的函数调 阅读全文
posted @ 2017-02-11 14:46 飞鸿影 阅读(614) 评论(0) 推荐(1) 编辑
摘要:实际开发中,我们会经常用到数据库。 Python里对数据库的操作API都很统一。 SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 Python内置了 阅读全文
posted @ 2017-02-08 23:31 飞鸿影 阅读(756) 评论(0) 推荐(0) 编辑
摘要:正则表达式是一种描述性的语言,用来匹配字符串。凡是符合规则的字符串,我们认为就是匹配了。 正则表达式并非Python独有的,它与语言无关。很多语言都支持正则表达式。 我们经常用正则表达式来匹配电子邮件、手机号码、url等等。 来看一个简单的正则表达式,用于匹配手机号码: 表示匹配以1开头,第二位是3 阅读全文
posted @ 2017-02-07 23:16 飞鸿影 阅读(631) 评论(0) 推荐(0) 编辑
摘要:方法预览: 获取当前时间 输出: 用于格式化日期对象datetime。另外一个方法 则负责把一个字符串str转为 对象: 输出: 获取时间戳 输出: 小数位表示毫秒数。 自定义时间转换为时间戳: 输出: 注意:timestamp的值是与时区无关的。datetime是有时区的。 下面演示如何把time 阅读全文
posted @ 2017-02-06 23:48 飞鸿影 阅读(1352) 评论(0) 推荐(1) 编辑
摘要:把变量从内存中变成可存储或传输的过程称之为 ,在Python中叫 ,在其他语言中也被称之为serialization,marshalling,flattening等等。 pickle pickle是Python语言特定的序列化模块,序列化的内容只能是Python才能反序列化。 示例: 输出: 反序列 阅读全文
posted @ 2017-02-05 16:59 飞鸿影 阅读(390) 评论(0) 推荐(0) 编辑
摘要:Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文 阅读全文
posted @ 2017-02-05 10:34 飞鸿影 阅读(537) 评论(0) 推荐(0) 编辑
摘要:异常捕获 语法格式: except用来捕获异常类型,常见的有ValueError、ZeroDivisionError,都继承基类BaseException。如果没有错误发生,则执行else。不管有没有错误发生,都会执行finally。 注意的是,只要一处except的捕获到了,不会继续捕获。 里的 阅读全文
posted @ 2017-02-04 21:42 飞鸿影 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:多重继承 Python里允许多重继承,即一个类可以同时继承多个类: 这样, 同时拥有 、`Runnable`的属性和方法。 __slots__限制实例的属性 由于类的实例可以动态绑定新的属性,有时候我们不希望这样,可以通过 进行限制: 然后,我们试试: 由于 没有被放到 中,所以不能绑定score属 阅读全文
posted @ 2017-01-18 18:42 飞鸿影 阅读(320) 评论(0) 推荐(0) 编辑
摘要:面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 本节对于面向对象的概念不做展开说明。本节主要内容是Python里如何使用面向对象编程。 分下面几部分: 1、类的格式 2、类的 阅读全文
posted @ 2017-01-15 22:59 飞鸿影 阅读(539) 评论(0) 推荐(0) 编辑
摘要:模块让我们能够有逻辑地组织Python代码段。把相关的代码分配到一个 模块里能让我们的代码更好用,更易懂。 导入模块 Python使用 语句导入模块。语法: 示例: 第1行和第2行:标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本 阅读全文
posted @ 2017-01-12 18:54 飞鸿影 阅读(492) 评论(0) 推荐(0) 编辑
摘要:函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数。 高阶函数 Python支持 高阶函数(Higher order function) 。 什么是高阶函数呢?把函数作为参数传入,这样的函数称为高阶函数。 高阶函数的特点: 1、变量可以指向函数 这个例子告诉我们: 是 阅读全文
posted @ 2017-01-11 18:17 飞鸿影 阅读(254) 评论(0) 推荐(0) 编辑
摘要:迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 Python里使用 来迭代。 常用可迭代对象有list、tuple、dict、字符串等。示例: list: 输出: 上面的for循环里,同时引用了两个变量,在P 阅读全文
posted @ 2017-01-09 23:27 飞鸿影 阅读(256) 评论(0) 推荐(0) 编辑
摘要:Python里提供了切片(Slice)操作符获取列表里的元素。 示例: 表示,从索引0开始取,直到索引2为止,但不包括索引2。 如果第一个索引是0,还可以省略: 也可以倒数取元素: 表示倒数第2个开始直到结束。记住倒数第一个元素的索引是 1。 如果不指定开始和结束,只写 就可以原样复制一个list: 阅读全文
posted @ 2017-01-07 22:42 飞鸿影 阅读(237) 评论(0) 推荐(0) 编辑
摘要:Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。我们已经知道Python提供了许多内建函数,比如 。但我们也可以自己创建函数,这被叫做用户自定义函数。 定义一个函数 我们可以定义一个由自己想要功能的函数,以下是简单的规 阅读全文
posted @ 2017-01-06 00:08 飞鸿影 阅读(559) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩