自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(261)
  • 资源 (4)
  • 收藏
  • 关注

原创 numpy多维数组语法

numpy get startednumpy 提供了一种数组类型,高维数组, 提供了数据分析的运算基础(业务表一般就是二维)import numpy as np导入numpy库,并查看numpy版本np.version一、创建Array1. 使用np.array()由python list创建C 数组的概念 : 数据类型一致的一个连续的内存空间python list列...

2020-04-07 22:09:11 1050

原创 client 1

'''套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。端对端通信客户端----服务器端client serverTCP:面向连接 三次握手 保证数据不丢失 特点: 传输速度慢 SO...

2020-04-07 21:42:31 405

原创 协程greenlet+协程下载

''' 协程greenlet的不同人物之间的切换:'''from time import sleepfrom greenlet import greenletdef eat(): for i in range(5): print('正在吃第{}个馒头'.format(i + 1)) # sleep(0.6) g2.swi...

2020-03-25 23:24:34 263

原创 协程+猴子补丁

''' 协程: 微线程 进程》线程》协程'''from time import sleepdef eat(): for i in range(5): print('正在吃第{}个馒头'.format(i + 1)) sleep(0.6) yielddef listen(): for i in range(5...

2020-03-25 23:21:29 247

原创 线程间通信

''''''# 生产者import randomimport threadingfrom queue import Queuefrom threading import Threadfrom time import sleepdef producer(queue): print('开门营业了,欢迎光临!') foods = ['酸辣土豆丝', '西红柿炒鸡...

2020-03-25 23:17:52 89

原创 队列

''' queue队列: 先进先出 创建队列: queue = Queue() 队列存储: queue.put(xxx) 阻塞 满的时候 取值: queue.get(xxx) 阻塞 空的时候 如果给queue设置超时时间,到时间会抛出异常,如果抛出异常可以使用try。。。except 判断: full() empty()'''from ...

2020-03-25 23:16:45 101

原创 死锁

'''死锁: 两把锁 申请锁的顺序使用不当开发过程中使用线程,在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。尽管死锁很少发生,但一旦发生就会造成应用的停止响应,程序不做任何事情。避免死锁:1. 重构代码2. 使用timeout参数'''import timefrom threading import Lock...

2020-03-25 23:16:04 119

原创 线程锁

''' 线程锁 如果想保证共享数据的安全性,则需要添加Lock。(只要加锁则运算的速度就会变慢) 步骤: from threading import Lock 1. lock = Lock() 创建锁对象 2. 获取锁: lock.acquire() 默认是阻塞,可以设置阻塞超时时间 timeout=秒 释放锁: lock.r...

2020-03-25 23:13:30 257

原创 线程3

'''线程全局变量的共享问题? 所有的线程是共享全局变量的 就会造成数据的不安全 但是因为有GIL所有小的数据,运算还是安全的 但是运算量大的话,GIL会自动释放,就会造成数据的不安全。'''import threadingfrom time import sleep# 全局变量numbernumber = 0def task1(): global...

2020-03-25 23:12:38 65

原创 线程2

''' 创建线程方式: 1. Thread(target=xxx,args=(),kwargs={},name=xxx) 2. 自定义线程: class MyThread1(Thread): # 重写方法run() def run(self): xxxx 只要线程对象启动,则默认调用run方法 线程的...

2020-03-25 23:10:55 87

原创 线程1

''' 线程: 一个进程可以包含多个线程。 创建线程并启动线程 from threading import Thread 下面三个线程都是在一个进程中 一个进程中都会存在一个主线程,可以在主线程中启动子线程(Thread-1,Thread-2,...) 得到当前的线程: threading.current_thread()'''from threading impor...

2020-03-25 23:09:32 91

原创 进程3

'''进程间不能共享全局变量p1里面有一个number的全局变量100,p12里面有一个number的全局变量100,主进程里面有一个number的全局变量100,每个进程中都有一个100的number值,各自操作各自的,各个进程之间没有影响。'''from multiprocessing import Processfrom time import sleepnumber ...

2020-03-25 23:07:03 127

原创 进程2

'''Process类方法: start() 启动进程 join() 主进程让步 terminate() 中断进程 is_alive() 判断进程是否是活跃的 run()'''import osfrom time import sleepfrom multiprocessing import Processdef weichat(name):...

2020-03-25 23:05:37 84

原创 进程1

''' 运行一个程序:代码是自上而下加载按照顺序执行。 操作系统: 并发: 并行:你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
--->顺序你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
 ---> 并发你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。 ----&gt...

2020-03-25 23:01:22 103

原创 正则+简单爬虫

正则 '''只要使用量词:* + ? {} 贪婪模式*? +? ?? {}? 非贪婪模式贪婪模式:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式pattern 匹配字符串example,匹配到的结果就是”abbbbbb”整个字符串。非贪婪模式:在整个表达式匹配成功的前提下,尽可能少的匹配。如上面使用模式pattern 匹配字符串example...

2020-03-25 22:58:12 130

原创 正则2

# # 输入用户名和密码,# # 用户名:只能是字母,数字,下划线,而且不能数字开头,用户名的长度6位以上12位以下# # 密码: 必须是6位以上的纯数字# '''# \s : 空白字符# \b : 表示的是边界# \d : 表示的是数字# \w : 表示的是字母数字和下划线# 大写就是他们的反面## 注意在使用以上...

2020-03-25 22:53:07 97

原创 正则1

''' re 模块 正则表达式: regular Expression QQ: 5位-11位 纯数字 不能0开头 邮箱验证: [email protected] 用户名: match(): 从字符串的开始进行匹配,如果开始都不能匹配成功,则不会继续向下搜索 其中: . 表示任意字符 [] 表示的是一个范围, 可以是[a-z],或者[abc] 但是只是...

2020-03-25 22:51:04 183

原创 异常3

try: first_number = int(input('输入第一个数:')) second_number = int(input('输入第二个数:')) # 除法运算 result = first_number / second_number print('除法计算的结果是:', result)except (ValueError, ZeroD...

2020-03-25 22:17:42 109

原创 异常2

''' try: 可能有异常的代码 except: 有异常则进入代码 finally: 无论是否有异常都会执行的代码 # xx.close() with open(...) as xx: xx.read() 连接数据库mysql,无论有没有问题都要执行关闭 try: .... finally: .......

2020-03-25 21:58:34 146

原创 异常1

''' 异常: 由于存在异常,程序就会中断。 所有的异常都是Exception的子类 异常处理: 1. try....except 语法: try: 可能发生异常的代码 except: 如果有异常则进入的部分,没有异常则不会进入执行'''try: number = int(i...

2020-03-25 21:57:43 87

原创 自定义模块

目录module01.py 模块1 模块2 module01.py # __all__只是对*导入起到了限制作用# __all__ = ['name', 'show', 'Calculate']print('--------------------->start')name = '模块'list1 = [1, 2, 3, 4, 5, 6]def sho...

2020-03-25 21:53:35 130

原创 单例

单例1 ''' 引入: is与== is 比较的是两个对象的地址 == 比较的是两个对象的内容,底层会调用__eq__魔法方法'''class Person: def __init__(self, name, age): self.name = name self.age = age def __eq__(sel...

2020-03-25 21:47:52 82

原创 面向对象练习

练习 # 定义一个工具类Util,其中有属性version表示版本,# 定义类方法:conn_db(dbname)表示要连接的数据库,里面打印“正在连接{}数据库...." time.sleep(1), “连接数据库成功”# 定义静态方法: select_data()表示要查询数据,需要先连接数据库再打印查询的数据是:xxx# import time### class Uti...

2020-03-24 23:07:06 114

原创 多态练习

练习 '''1).房子类 有户型,总面积和家具名称列表[] 新房子没有任何的家具 def __init__(self,hx,area): self.hx=hx self.area= area self.lists=[] 添加家具 add_furniture(self,furniture): ...

2020-03-24 23:05:39 185

原创 多态

多态 ''' 多态: 多种形态 在类的方法中,参数是一个父类的统称,可以接收该父类下的所有子类型。 在方法中使用isinstance(对象,类别)进行类别的判断 isinstance(对象,类别)函数的返回值是:bool'''class PetShop: def __init__(self, name): self.name = name ...

2020-03-24 23:04:30 72

原创 多继承+多继承搜索顺序

多继承 '''多继承: 一个类能否继承多个父类? python允许多继承 经典类: 旧式类 新式类: python3.x都是用的是新式类,使用的是C3算法 如何实现多继承? class 子类(父类1,父类2,父类3): pass 多继承的搜索顺序: 可以使用: 子类名.__mro__ 或者 子类名.mro...

2020-03-24 23:01:16 418 1

原创 继承练习

继承练习class Animal: def __init__(self, name, age): self.name = name self.age = age def run(self, km): print('每小时能跑{}km'.format(km)) def eat(self, food): ...

2020-03-24 22:59:38 111

原创 继承

1 ''' 继承: 父类 子类 语法: class 子类(父类): pass 默认的父类:object 目的: 提取公共的代码带父类中,子类使用的话则只需要继承父类 从而提高代码的可读性,将代码变的更加简练。'''# 父类class Person(object): def __init__(self, name, a...

2020-03-24 14:07:00 60

原创 封装+私有化封装

封装 '''面向对象: 封装,继承,多态1.将属性和方法封装到类中2.封装私有属性: 在类定义的时候,将属性私有化,并定义公有的set和get方法。封装私有化属性: 1. 对外隐藏属性,只能在类中访问属性 2. 可以对象私有属性的赋值和取值起到限制作用 3. 通过set方法赋值,通过get方法取值'''class Person: de...

2020-03-24 14:04:31 283

原创 私有化

私有化 ''' 私有化: * 属性私有化: __属性名 在类中添加__money: self.__money=money 底层:将__money进行改名: _Person__money self.__A=100 _类名__A =100 私有化: 1. 外界不能随机访问或者操作属性 2. 将访问或者操作的动作放到类中,放...

2020-03-24 14:02:19 93

原创 面向对象4(魔术方法)

魔术方法 '''魔法方法: __new____new__: 根据参数cls传递过来的类,来完成对象空间的创建'''class Dog: def __new__(cls, *args, **kwargs): new_obj = object.__new__(cls) print(new_obj) return ne...

2020-03-24 13:54:22 92

原创 面向对象3(方法)

'''方法: 1. 对象(普通)方法: 方法之间的相互调用,self.方法() 2. 类方法: 是属于类的(没有对象也可以调用) 类属性: 属性是属于类本身 类方法的定义: @classmethod def xxx(cls): -------> cls ~ class x...

2020-03-24 13:53:12 687

原创 面向对象2

对象访问 ''' self: 对象自身,在函数中的self参数,表示谁调用此函数,self就表示哪个对象 方法调用: 方法调用: 对象.方法名() | 要不要传参取决于类中定义方法的时候有没有定义除了self之外的参数 __init__'''class Person: type = '人类' # 方法 def eat(self): # s...

2020-03-24 13:50:21 73

原创 面向对象1

'''面向对象: 面向过程:根据业务逻辑从上到下写代码。 面向对象:将变量与函数绑定到一起,分类进行封装,每个程序只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码'''# 定义类:class Computer: # 属性: 特征的描述都是通过属性 id = '001' brand = '' price = '' weight ...

2020-03-24 13:47:54 88

原创 Tornadao—WebSocket(聊天机器人)

目录逻辑 配置 页面 逻辑 import jsonimport requests # 第三方库,负责发起请求,需要安装: pip install requestsimport tornado.webimport tornado.ioloopimport tornado.optionsimport tornado.websocketfrom settings...

2020-03-24 13:11:39 191

原创 Tornadao—异步

目录tornado异步化 异步访问 tornado异步化 import timeimport tornado.webimport tornado.ioloopimport asyncioclass IndexHandler(tornado.web.RequestHandler): async def get(self): await asy...

2020-03-24 13:06:56 102

原创 Tornadao—用户验证

目录authenticated装饰器 get_current_user()方法 login_url设置 authenticated装饰器 '''使⽤这个装饰器包裹⼀个处理⽅法时,Tornado将确保这个⽅法的主体只有在合法的⽤户被发现时才会调⽤。'''class ProfileHandler(RequestHandler): @tornado.web.auth...

2020-03-24 13:01:47 135

原创 Tornadao—带XSRF请求

请求体携带_xsrf参数 新建⼀个⻚⾯xsrf.html:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试XSRF</title></head> <body> <a href="javascrip...

2020-03-24 12:58:27 108

原创 Tornadao—XSRF

目录开启XSRF保护 模板应用 非模板应用 开启XSRF保护 #要开启XSRF保护,需要在Application的构造函数中添加xsrf_cookies参数:app = tornado.web.Application( [(r"/", IndexHandler),], cookie_secret = "2hcicVu+TqShDpfsjMWQLZ0Mkq5NPEWS...

2020-03-24 12:56:35 138

原创 Tornadao—cookie

目录设置 获取 清除 设置 设置set_cookie(name, value, domain=None, expires=None, path='/',expires_days=None)参数名 说明name cookie名value cookie值domain 提交cookie时匹配的域名path 提交cookie时匹配的路径expirescookie...

2020-03-24 12:51:22 113

dushuproject.rar

基于scrapy框架的读书网图书列表的爬取

2020-04-07

game-飞机大战.py

小游戏飞机大战python源码,下载之后在pycharm打开直接运行,需要pygame模块!

2020-02-17

game-贪吃蛇.py

小游戏贪吃蛇python源码,下载之后在pycharm打开直接运行,需要pygame模块!

2020-02-17

game-2048.py

小游戏2048python源码,下载之后在pycharm打开直接运行,需要pygame模块!

2020-02-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除