廖雪峰老师Python3教程练习整理】的更多相关文章

1.定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax2 + bx + c = 0的两个解 # -*- coding: utf-8 -*-import mathdef quadratic(a, b, c): if not isinstance(a,(int,float)): raise TypeError('bad operand type') if b==0&a==0: return '参数a,b不能同时为0' if b*b-4*a*c<0: retur…
学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般为# 库名字" >> README.md git init  初始化一个仓库   如果没有配置需要配置 git config --list git config --global user.email "zhoudu@bupt.edu.cn" git config -…
从廖雪峰老师的python教程入门的,最近在看python爬虫,入手了一下 代码比较low,没有用到多线程和ip代理池 然后呢,由于robots.txt的限定,构建了一些user-agent,并放慢的爬虫的速度,起到一些效果,可能多次抓取才能完成所有文章~~~ 仅供一些刚入门的同学参考一下........ 用到的库及工具:(自行百度) 1.BeautifulSoup4 2.pdfkit 3.requests 4.wkhtmltopdf(需添加环境变量) 代码如下: # -*- coding:ut…
廖老师网站:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 花几天时间看了廖老师的python教程,现在总结一下. (本人用python工作了一年半,有一定python基础,看过<python核心编程>与部分<python源码剖析>,只把自己觉得有用的记一下) 高级特性 切片,对list和tuple而言 生成器yield,协程用到,用于异步 迭代器Iterable(…
同步IO 异步IO 最常见的IO——读写文件 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). open() read() close() try: f = open('/path/to/file', 'r') print(f.read()) finally…
1.首先git是目前世界上最先进的分布式版本控制系统之一.所谓版本控制是针对工作中一些普遍的现象的. 比如,你写一份文档,期间,不断的改善,每次修改都会进行备份,久而久之,会有很多版本的同一份文档,但是,某个时候又突然想查看之前写的内容,又发现不知道在哪一版的,这让人很头疼,还有诸如此类的很多问题.反正就是没有一个统一管理管理版本的有力的工具. 2.集中式版本管理和分布式版本管理的区别 集中式版本管理控制系统,版本库是集中存放在中央服务器上的,干活的时候,用的都是自己的电脑,所以要先从中央服务器…
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker. 如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker. 如果用多线程实现Master-Worker,主线程就是Master,其他线程就是Worker. 多进程模式最大的优点就是稳…
协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕. 所以子程序调用是通过栈实现的,一个线程就是执行一个子程序. 子程序调用总是一个入口,一次返回,调用顺序是明确的.而协程的调用和子程序不同. 协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当…
多进程 操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去.表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样. 对于操作系统来说,一个任务就是一个进程(Process) 在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread). multiprocessing模块就是跨平台版本的多进程模块…
错误处理 try...except...finally...机制 try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: print('except:', e) finally: print('finally...') print('END') expect代码错误捕捉机制[错误也是class,栈结构错误机制] logging模块的错误记录方式 except Exception as e…