随笔分类 -  Python学习

摘要:多态是指通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为。 对于其他如C++的语言,多态是通过在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 而 阅读全文
posted @ 2019-03-03 00:11 WaltHwang 阅读(2115) 评论(0) 推荐(0)
摘要:什么是ORM 使用关系对象映射进行数据库操作。 将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 分类 -DB first 手动创建数据库和表,自动生成类 -code first 手动创建类和数据库,自动生成表 (SQLAlchemy属于code first) 类 -> 表 对象 -> 行 安装SQLAlchemy pip install SQLAl... 阅读全文
posted @ 2019-03-01 00:53 WaltHwang 阅读(179) 评论(0) 推荐(0)
摘要:实现: 遇到的问题: 爬取一半时,抛出了requests.exceptions.ConnectionError异常 分析: 解决: 阅读全文
posted @ 2019-02-28 19:30 WaltHwang 阅读(822) 评论(0) 推荐(0)
摘要:一、并发的本质 切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长时间片到了 二、协程 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一 阅读全文
posted @ 2019-02-24 20:42 WaltHwang 阅读(429) 评论(0) 推荐(0)
摘要:一、什么是线程 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可 阅读全文
posted @ 2019-02-24 20:30 WaltHwang 阅读(312) 评论(0) 推荐(0)
摘要:一、multiprocess.process模块 1.process类 Process([group [, target [, name [, args [, kwargs]]]]]),由该类实例化得到的对象,表示一个子进程中的任务(尚未启动) 强调: 1. 需要使用关键字的方式来指定参数 2. a 阅读全文
posted @ 2019-02-22 16:25 WaltHwang 阅读(1423) 评论(0) 推荐(0)
摘要:1.粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。 粘包出现原因 使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。 简单得说,在流传输中出现,UDP不会出现粘包,因为它有 阅读全文
posted @ 2019-02-19 20:53 WaltHwang 阅读(154) 评论(0) 推荐(0)
摘要:什么是socket 套接字 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。 套接字家族的名字:A... 阅读全文
posted @ 2019-02-19 20:50 WaltHwang 阅读(189) 评论(0) 推荐(0)
摘要:一、hashlib 1.Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 2.摘要算法 通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数, 阅读全文
posted @ 2019-02-19 19:29 WaltHwang 阅读(193) 评论(0) 推荐(0)
摘要:判断是不是类cls的对象 class A: pass a = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A: pass class B(A): pass print(issubclass(B,A)) __str__ #调用str(obj)其 阅读全文
posted @ 2019-02-19 19:19 WaltHwang 阅读(324) 评论(0) 推荐(0)
摘要:什么是反射 通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) hasattr 判断属性方法是否存在 getattr 获取属性方法 setattr 设置属性方法 delattr 删除属性方法 使用例子 class Person: sex = 'male' def __init__(self,name): ... 阅读全文
posted @ 2019-02-19 18:49 WaltHwang 阅读(118) 评论(0) 推荐(0)
摘要:property 内置装饰器函数 只在面向对象使用 把方法当初属性使用(方法不加参数) 例子: class Rectangle: def __init__(self,long,wide,color): self.long = long self.wide = wide self.__color = color @propert... 阅读全文
posted @ 2019-02-19 18:46 WaltHwang 阅读(232) 评论(0) 推荐(0)
摘要:什么是封装 广义上的封装:代码的保护,面对对象的思想本身就是 只让自己的对象能调自己类的方法 狭义上的封装:将属性和方法藏起来 私有属性/私有方法 python没有真正意义的私有属性,可以通过调用实例的__dict__方法查看,只是改了个名字而已(_类名__属性名) 方法:在变量前加两个下划线 如 阅读全文
posted @ 2019-02-19 18:32 WaltHwang 阅读(246) 评论(0) 推荐(0)
摘要:什么是多态 在不考虑实例类型的情况下使用实例 例子 peo=People() dog=Dog() pig=Pig() def func(obj): obj.talk() func(pig) 鸭子类型 #如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子,嘿嘿 在鸭子类型中,关注的不是对象的类型本 阅读全文
posted @ 2019-02-19 18:27 WaltHwang 阅读(139) 评论(0) 推荐(0)
摘要:抽象类 1.什么是抽象类 与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化 2.为什么要有抽象类 如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。 阅读全文
posted @ 2019-02-19 18:04 WaltHwang 阅读(128) 评论(0) 推荐(0)
摘要:如果对 对象.静态变量 进行修改,会创建一个新的,属于对象的变量(可以通过查看类和对象的__dict__查看) 但有一种情况,如果静态变量是一个可变类型,比如列表,如果对列表中的元素进行修改,不会影响 对象.静态变量 的指向 阅读全文
posted @ 2019-02-19 17:45 WaltHwang 阅读(113) 评论(0) 推荐(0)
摘要:什么是异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 处理异常 try: pass except 异常类型1 as e: print(e) #输出错误类型 e... 阅读全文
posted @ 2019-02-19 17:16 WaltHwang 阅读(130) 评论(0) 推荐(0)
摘要:匿名函数:lambda函数能实现普通一样的功能,能传入参数,也能返回运算结果;不同的是lambda函数没有函数名,通常只有一行的表达式,函数的复杂程度也有限 关键字:lambda 形式: 复杂例子: 阅读全文
posted @ 2019-02-19 17:09 WaltHwang 阅读(148) 评论(0) 推荐(0)
摘要:已经在其他文章中的函数没有完整写出来 阅读全文
posted @ 2019-02-19 17:05 WaltHwang 阅读(238) 评论(0) 推荐(0)
摘要:同一个模块,可以import多次,但只会被导入一次 阅读全文
posted @ 2019-02-18 00:02 WaltHwang 阅读(306) 评论(0) 推荐(0)