
Python
白_绿_蓝
?
展开
-
python~多任务之协程
def test1(): while True: print('------1------') yield Nonedef test2(): while True: print('-------2------') yield Nonet1 = test1()t2 = test2()while True...原创 2018-11-08 23:28:59 · 157 阅读 · 0 评论 -
python~垃圾回收
小整数对象池[-5, 257)intern机制引用计数机制python如何解决循环引用问题?在python中的零代(Generation Zero)python以引用计数机制为主,标记-清除和分代收集两种机制为辅的策略python中有3条链条--------------------1---------------2----------------------1--...原创 2018-11-21 11:40:25 · 187 阅读 · 0 评论 -
python~模块
即常用的标准库原创 2018-11-21 12:15:16 · 242 阅读 · 0 评论 -
python~元类
class在定义的时候,也是一个对象元类就是type()动态创建一个类:type(类名, (继承), {属性})“元类就是深度的魔法,99%的用户应该根本不必为此操心。如果你想搞清楚究竟是否需要用到元类,那么你就不需要它。那些实际用到元类的人都非常清楚地知道他们需要做什么,而且根本不需要解释为什么要用元类。” —— Python界的领袖 Tim Peters...原创 2018-11-20 11:50:03 · 152 阅读 · 0 评论 -
python~pdb
原创 2018-11-25 18:02:03 · 155 阅读 · 0 评论 -
python~多任务之进程
编写完毕的代码,在没有运行的时候,称之为程序正在运行着的代码,就成为进程进程,除了包含代码以外,还需要运行的环境等,所以和程序是有区别的import osos.fork()会诞生两个进程,父(主)进程和子进程ret = os.fork()ret(父) > 0 ret(子) == 0进程之间的通信:例子: qq聊天 ...原创 2018-11-25 20:31:52 · 161 阅读 · 0 评论 -
Python~*args, **kwargs
这是Python函数可变参数 args及kwargs*args表示任何多个无名参数,它是一个tuple**kwargs表示关键字参数,它是一个dict测试代码如下: 1 2 3 4 5 6 7 8 9 def foo(*args,**kwargs): print 'arg...原创 2018-12-26 16:56:36 · 123 阅读 · 0 评论 -
python~Scrapy
Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用...原创 2018-12-16 17:48:47 · 175 阅读 · 0 评论 -
linux命令
sudo su 超级用户原创 2019-01-11 23:14:58 · 162 阅读 · 0 评论 -
python~matplotlib画廊
要查看matplotlib可制作的各种图表,请访问http://matplotlib.org/的示例画廊。import matplotlib.pyplot as plt 导入matplotlib模块plt.plot(x, y) 制作X参数的图表plt.plot(x, y, linewidth=5) 设置线条粗细# 设置图表标题, 并给坐标轴加上标签plt.title("Sq...原创 2019-01-12 22:05:24 · 640 阅读 · 0 评论 -
字符编码
计算机要想工作必须通电,即用‘电’驱使计算机干活,也就是说‘电’的特性决定了计算机的特性。电的特性即高低电平(人类从逻辑上将二进制数1对应高电平,二进制数0对应低电平),关于磁盘的磁特性也是同样的道理。结论:计算机只认识数字 很明显,我们平时在使用计算机时,用的都是人类能读懂的字符(用高级语言编程的结果也无非是在文件内写了一堆字符),如何能让计算机读懂人类的字符? 必须经过一个过程:...原创 2019-02-01 13:06:42 · 169 阅读 · 0 评论 -
linux
上网的本质就是把另一台机的内容下载到本地,拿回来看的这么一个过程上网的本质就是下载或者上传的过程服务器就是装了一堆文件的计算机**现在服务器都是用linux操作系统系统调用接口:给外部提供了一堆怎样使用内核的方法,给用户去使用接口就是某一个模块的所有功能函数放到里面,想要对这个模块进行操作,就调用这个接口里面的某个函数,就实现啦!!操作系统分为两部分,系统调用接口和内核...原创 2019-02-01 21:29:04 · 247 阅读 · 0 评论 -
python~pycharm
1原创 2019-01-28 13:31:28 · 169 阅读 · 0 评论 -
计算机组成原理
冯诺依曼:数字计算机的数制采用二进制,计算机应该按照程序顺序执行计算机的构成:运算器:是负责算术运算与逻辑运算,与控制器共同组成了中央处理器(cpu)控制器:是负责发送和接收指令存储器:是用来存储正在进行程序,将要进行程序的数据及刚处理完的数据输入设备:是用来进行输入的设备输出设备:是用来进行输出的设备硬件与软件的组成:关系图:cpu,硬盘,内存工作原理:...原创 2019-01-28 17:19:01 · 408 阅读 · 0 评论 -
网络基础
网络协议在收藏夹上的页面有详细内容,下面是记录收藏夹上没有的:数据链路层的方式是广播(通过mac地址和物理线路)网络层拥有IP协议网络层通信----->局域网和局域网之间的通信(通过IP地址)把包发给默认网关,由网关完成后续操作(跨网络发送的信息)一组电信号构成一个数据包,叫做‘帧’ 每一数据帧分成:报头head和数据data两部分 是在数据链路层 在数据...原创 2019-01-29 18:45:43 · 157 阅读 · 0 评论 -
python~迭代
例子:while 循环The code in the body of a while loop is executed repeatedly. This is called iteration.原创 2019-02-16 23:10:13 · 158 阅读 · 0 评论 -
python~__slots__
__slots__现在我们终于明白了,动态语言与静态语言的不同动态语言:可以在运行的过程中,修改代码静态语言:编译时已经确定好代码,运行过程中不能修改如果我们想要限制实例的属性怎么办?比如,只允许对Person实例添加name和age属性。为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性:...原创 2018-11-08 21:33:21 · 439 阅读 · 0 评论 -
python~类方法、实例方法、静态方法
class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def static_method(): print("是静态方法") @cla...原创 2018-11-08 20:46:27 · 168 阅读 · 0 评论 -
python~动态语言
python是动态语言动态语言的定义动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。例如JavaScript便是一个动态语言,除此之外如 PHP 、 Ruby 、 Python 等也都属于动态语言,而 C 、 C...原创 2018-11-08 20:04:11 · 176 阅读 · 0 评论 -
python~深拷贝和浅拷贝
浅拷贝 验证:a = [11, 22, 33] a.append(44) b = a # 浅拷贝 ...原创 2018-10-28 12:16:47 · 184 阅读 · 0 评论 -
python~深拷贝与浅拷贝(2)
import copy 结论:a = [1, 2, 3] copy.copy与copy.deepcopy方法不同,b = [4...原创 2018-10-28 22:25:53 · 165 阅读 · 0 评论 -
python~深拷贝和浅拷贝(3)
import copya = [11, 22, 33]b = [44, 55, 66]c = (a, b)e = copy.copy(c)id(c) = 52132936id(e) = 52132936原因:使用copy.copy方法只能浅拷贝元组只能用copy.deepcopy方法进行深拷贝元组是不可变数据类型...原创 2018-10-28 22:52:56 · 182 阅读 · 0 评论 -
python~进制,位运算
二进制:2^1 = 10 = 22^2 = 100 = 42^3 = 1000 = 8结论:计算二进制时,先用2的最大次方来逼近要求的数,然后是多少次方就在1后面加多少个0,比如2的4次方变为二进制就是10000,之后再依次用相同的方法计算余下的,直到与要求的数相等扩展:六进制:6^0 = 1 = 16^1 = 10 = 66^2 = 100 = 36...原创 2018-10-28 22:58:04 · 306 阅读 · 0 评论 -
python~进制,位运算(2)
常识:1G = 1024M1M = 1024K1K = 1024B1B = 8bit一个汉字占16bit,一个英文字母占8bit,一个数字占8bit,所以:正数: 0 000 0001 ~ 0 111 1111 = 1~127负数: 1 000 0001 ~ 1 111 1111 = -127~-1+0: 0000 0000 = 0-0: 1000 0000 ...原创 2018-10-29 14:03:14 · 226 阅读 · 0 评论 -
python~进制,位运算(3)
原码,反码,补码:1,如何计算补码:规则:正数: 原码 = 反码 = 补码负数: 反码 = 符号位不变,其他位取反 补码 = 反码+1取反: 取反不是反码,而是把所有的0变1,1变0. 符号位也要变, 变了之后是补码,所以要得到反码的话要减1.示例:1的原码: 0 000 0001-1的原码: 1 000 0001-1的反码: 1 111 1...原创 2018-10-29 14:36:12 · 185 阅读 · 0 评论 -
python~进制,位运算(4)
bin(18) # 变为2进制oct(18) # 变为8进制hex(18) # 变为16进制**小知识:如果二进制0 000 0101往左移动一位为0 000 1010,如何快速算出?答案为10解:2^2 + 2^0 = 52^3 + 2^1 = 10(2^2 + 2^0) * 2^1 = 10*利用左移和右移在cpu中快速完成乘法和除法的位运算:...原创 2018-10-29 14:52:13 · 205 阅读 · 0 评论 -
python~私有化
私有化xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字 xx_:单后置下划线,用于避免与...原创 2018-10-29 16:22:09 · 157 阅读 · 0 评论 -
python~迭代器,生成器
可迭代对象:以直接作用于 for 循环的数据类型有以下几种:一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等一类是 generator ,包括生成器和带 yield 的generator function这些可以直接作用于 for 循环的对象统称为可迭代对象: Iterable*Python专门为for关键字做了迭代器的语法糖:在for...原创 2018-10-31 02:02:02 · 147 阅读 · 0 评论 -
python~迭代器,生成器(2)
**生成器一定是迭代器,但是迭代器不一定是生成器迭代器:可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator??isinstance() 判断一个对象是否是 Iterator 对象:In [56]: from collections import IteratorIn [57]: isinstance((x for x in range(10)), ...原创 2018-10-31 02:33:01 · 162 阅读 · 0 评论 -
python~闭包
什么是闭包:#定义一个函数def test(number): #在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 def test_in(number_in): print("in test_in 函数, number_in is %d"%number_in) return number...原创 2018-11-01 15:54:19 · 134 阅读 · 0 评论 -
python~迭代器,生成器(3)
生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中...原创 2018-10-31 03:09:45 · 785 阅读 · 0 评论 -
python~装饰器
**python会先计算等号右边的值装饰器通用代码格式:def func(functionName): def func_in(*args, **kwargs): ret = functionName(*args, **kwargs) return ret return func_in带有参数的装饰器格式:def func_a...原创 2018-11-01 22:52:48 · 152 阅读 · 0 评论 -
python~算法
穷举法二分法牛顿-拉弗森法原创 2018-11-07 13:46:25 · 258 阅读 · 0 评论 -
python~错误
https://docs.python.org/3/library/exceptions.html#exception-hierarchyException hierarchyThe class hierarchy for built-in exceptions is:BaseException +-- SystemExit +-- KeyboardInterrupt +--...原创 2018-11-07 16:19:38 · 600 阅读 · 0 评论