- 博客(34)
- 收藏
- 关注
原创 gevent 简单使用
import geventimport timefrom datetime import datetimefrom gevent import monkeymonkey.patch_all()from gevent.queue import Queueq = Queue()def a(): print("start a is running time is :%s"%(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) time.sl.
2021-04-01 09:47:58 165
原创 单例模式
__new__方法实现class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls, "_instance"): cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs) return cls._instancefor i in range(6): s =
2021-03-30 21:57:55 103
原创 协程
协程也是单线程的一种,协程是针对程序级别来说的,假如python中一个function是一个程序,协程就是在程序之间来回切换,从一个func1中断去执行func2后回来继续执行func1,这就是协程。协程优点:无需上下文之间的线程的切换开销,所以可以提高性能 不需要加锁 高并发+高扩展很容易实现高并发缺点:无法利用多核资源 进行阻塞时会阻塞掉整个程序yield实现协程def a(name): print("开始执行a func") while True:
2021-03-30 21:29:13 131
原创 socket
socket是什么:socket起源于linux的设计思想一切皆文件,即是对文件的打开,读写,关闭操作,而socket就是对这种思想模式的实现。所以说socket是一个特殊的文件,而常用的socket函数就是对其进行(打开,读写,关闭)。socket工作流程:服务器端创建socket对象 绑定地址端口 无限循环监听处理请求 监听得到请求的ip 得到客户端发送的请求 构建服务器返回数据 返回数据客户端socket流程创建socket对象 连接主机 构造发送请求 接收服务器.
2021-03-30 20:01:09 204
原创 装饰器
装饰器也是一个函数,它可以在不改变任何代码的前提下增加额外功能。日常使用场景:面向AOP编程中,比如:插入日志,性能测试,事务处理,缓存,权限校验。函数装饰器一个简单的装饰器def write_to_log(func): def inner(*args, **kwargs): logging.warn("%s is running"%(func.__name__)) return func(*args, **kwargs) return in
2021-03-27 18:52:42 102
原创 元类
元类作用是什么:定制类的创建行为动态创建类:def init(self,name): self.name = name returndef hello(self): print("hello:self name :",self.name) returnFoo = type('Foo',(object,),{"__init__":init, "hello":hello, "cls_var":10})foo = Foo("zhangsan")foo.hell
2021-03-27 16:59:14 111
原创 python 中一些常用方法总结
any(iterables)进行或操作,判断可迭代对象中是否有任一为True。遵循(一真为真)的原则,任一一个元素为True则返回Trueany_ret = any([1])print(any_ret)=======================输出=========================Trueany_ret = any([])print(any_ret)=========================输出========================False
2021-03-27 16:29:16 162
原创 上线文管理
python-上下文管理上下文管理器规定了对象的使用范围,一旦离开使用范围就会有特殊操作会执行常见的上下文使用方式with open('xxx.txt', 'r') as f: #do somethingswith 声明的代码段中可以做一些对象的开始操作和退出操作,还可以进行异常处理。在这里面需要实现两个魔术方法__enter__(), __exit__()自定义上下文管理器任何定义了__enter__() __exit__()方法的对象都可以用于上下文管理自定义一个上下文..
2021-03-27 12:17:27 129
原创 魔术方法
python中所有以__包起来的方法都可以成为魔术方法__init__() 对象的初始化操作 __new__() 创建类并且返回类的实例 这两个方法共同构成了构造函数 __del__() 对象生命周期结束的时候会调用不可变容器只能定义__len__() __getitem__() 可变容器可以定义的魔术方法包含了不可变容器的所有魔术方法,另外还包含 __setitem__() __delitem__() 如果希望可以迭代还需要定义 __iter__() __next__()常见魔术方法含义..
2021-03-27 11:17:44 149 1
原创 itertools类
这里记录下itertools中常用的排列,组合,笛卡尔积等方法排列permutations >>> from itertools import permutations >>> t = permutations([1,2,3],2) >>> list(t) [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] >>> t = permutations([1,2,3],3.
2021-03-27 11:11:11 174 1
原创 迭代器与生成器
迭代器什么是迭代器?迭代器对象就是对象支持迭代器协议换而言之就是:实现对象的__iter__() 和 __next__() 方法。其中__iter__()返回对象本身 __next__()返回容器中的下一个元素可迭代对象与迭代器对象有什么区别 可迭代对象是指所有可以迭代的对象 迭代器对象就是通过惰性机制通过next()方法调用元素的对象。自定义迭代器对象class MyRange(object): def __init__(self, n): self.idx = 0 sel
2021-03-27 10:57:13 219 2
原创 Collections 常用模块记录
一. Counter定义:counter是对字典类型的补充,用于追踪值出现的次数,具备字典的所有功能+自己的功能主要是用来对你访问的对象的频率进行计数1. 统计可迭代对象中某个元素出现的次数 >>> Counter('hello world') Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})2. elements(): 查看指定对象的元素 >>> c C
2021-03-26 11:54:41 203 2
原创 python 虚拟环境管理
使用virtualenv virtualenvwrapper配置python虚拟环境1.安装pip install virtualenvpip install virtualenvwrapper2.配置virtualenvvim ~/.bashrc进行如下配置(我的系统是ubuntu16.0.4)export WORKON_HOME=~/pyenv#虚拟环境的存储目录...
2019-09-05 09:59:10 152
原创 vim 设置是否显示行号
vim设置行号是否显示1.命令::+ set number 或者 : + set nu2.vim配置vim /etc/vim/vimrc在第一行或者最后一行添加set number 或者 set nu...
2019-09-05 09:51:49 185
原创 opencv-牛刀小试
安装opencv-python安装opencv-python直接使用pip命令来安装。pip install opencv-python几个方法及参数的讲解cv2.imread():读取图像的函数,给出图片的完整路径此方法一般有两个参数,第一个参数一般就是图像的所在路径,第二个参数一般指定读取方式读取图片的方式一般有三种。1:cv2.IMERAD_COLOR 默认使用这种...
2018-08-02 22:06:20 524
原创 Django-1初识Django
1.创建Django工程2.安装Django3.文件介绍webroot: manage.py:Django项目里面的工具,通过它调用Django shell 和数据库 settings.py:项目的设置信息 urls.py:将URL模式映射到应用程序MTV:model,template,viewmodel:与数据库层打交道template:存放html文件view:处理请求的ur...
2018-04-21 00:20:31 252
原创 HTML
<!DOCTYPE html>:按照W3C标准来解析网页<meta><meta name="keywords" content="meta总结,html meta,meta属性,meta跳转"> <meta name="description" content="描述内容...."><meta htt
2018-04-16 18:29:25 188
原创 Python_threading,线程和进程
什么是线程线程是操作系统能够调度的最小的单位。它包含在进程之中,是进程中的实际运作单位。一条进程中可以并发多个线程,每个线程执行不同的任务。什么是进程进程是系统进行资源分配和调度的最小单位,是指操作系统结构的基础。调用线程的两种方式#第一种方式import threadingimport timedef foo(num): # 定义每个线程要运行的函数 print("runn...
2018-04-10 23:40:14 512
原创 异常处理
语法try: 逻辑块exception Exception as e : 逻辑块出错执行此处代码else: try里的逻辑块正常执行的时候执行else里的代码finally: 不管是否发生异常均执行finally里的代码主动触发异常try: print('raise') raise Exception('主动出发异常')except Exception...
2018-04-03 21:47:42 178
原创 Python_类
python就是:函数式+面向对象函数前民已经学过,现在学习面向对象1.创建类class Person():#创建一个Person类 def foo(self,name,age):#类中的一个方法,方法中必须要有self参数,self参数指的就是对象,其实就是一个内存地址.self的作用之一就是用来区分不同的对象 self.name = name self....
2018-04-02 23:12:29 275
原创 面向对象前练习
总结1.python的命名规则只能以字母数字下划线命名,不能以数字开头,变量名不能是保留字符,1.2.行的缩进1.3.注释 # ''' ''' """ """1.4.不换行输出 print(表达式1,表达式2,...,end="")1.5三目运算符的格式, 符合条件结果 if 条件 else 不符合条件结果2.数据类型2.1数字类型整数型浮点型复数型字符串...
2018-03-26 11:18:15 214
原创 json pickle
json也是一种数据格式使用python来调用jsonimport json#写入到json.txt文件中dic = {'name':'disk','age':'3'}data = json.dumps(dic)file = open('json.txt','w')file.write(data)file.close()#从json.txt文件中读出来file1 = o...
2018-03-24 18:48:07 214
原创 正则表达式
正则表达式的目的:就是匹配字符串用的语言,字符串中提供的,find(),replace(),split()方法是完全匹配的,而正则表达式进行的而是模糊匹配.但是在python中使用正则表达式要引入re包,而且正则表达式使用C语言写的一门语言.正则表达式要先了解什么是元字符.常用的元字符有: . ^ $ * + ? {} [] () | \import...
2018-03-17 23:50:00 231
原创 模块
time模块关于time模块的介绍可以使用help(time)方法来查看.time模块的几个重要的方法.time()方法:时间戳,时间戳是什么意思呢就是从linux诞生的那一年1970年开始计算到现在的秒数import time#使用time之中的方法的时候一定要先用import关键字引入time模块print(time.time())clock()方法:计算cpu执行的时间print(tim...
2018-03-17 14:42:25 307
原创 python之函数学习
python函数使用的优点①将相似的代码抽取到一块避免了代码的重复②方便修改,便于扩展③保持代码的一致性1.函数的格式#函数的创建方法def function_name(): print("this is function body")调用创建的函数方法#函数的调用function_name()ok,现在最简单的一个无参无返回值的函数就已经写好了,但是在实际的运用中这样的参数是基本上用...
2018-03-10 00:10:47 651
原创 python之深浅拷贝
今天用代码看看列表数据的复制的原理在内存中是怎么进行的.1.分别建立列表1,和列表2进行如下操作lis_1 = [[3,"world"],1,'hello']lis_2 = lis_1.copy()print("列表1元素的id",lis_1,id(lis_1[0]),id(lis_1[0][0]),id(lis_1[0][1]),id(lis_1[1]),id(lis_1[2]))prin...
2018-03-08 21:53:05 1034
原创 python学习笔记_IO
1.print用了这么久,今天详细的看看print函数print可以将它接收到的零个或者多个用逗号隔开的表达式,转换为字符串输出到屏幕上.print("python 是解释型的语言...")2.从键盘上读取 在py2中有raw_input函数,但是在py3中进行了整合只保留了input函数input:会接收输入的任意字符串(有人说也可以是表达式并且将表达式转换为字符串,但是验证后发现不行)str ...
2018-02-26 23:00:25 391
原创 python学习笔记_集合
集合集合最重要的可以总结为 无序不重复 以及集合之间的运算才是集合的精髓.集合是一个不可重复的,无序的数据组合,与java中的set特性相同.集合的运算#创建一个set集合#s_set = set(1,2,3,4,5)这种创建方式似乎是错误的,只能将列表转换为sets_set = set(["o",1,2,3,4,5])print(s_set)#result:{1, 2, 3, 4,...
2018-02-25 22:45:43 379
原创 python学习笔记_字符串
str = "I am CHINESE"#print(str.capitalize())#首字母大写,后面的字母小写#print(str.swapcase())#大写字母转换为小写,小写转换为大写print(str.count("I"))#统计"I"出现的次数 result:2print(str.encode())#转换为bytes格式 result:b'I am CHINESE'...
2018-02-25 21:47:55 240
原创 python_for_while+if_else+break_continue
一,表达式if...else具体应用,登录验证username = input("请输入用户名:")password = input("请输入密码")if username == "username" and password == "password": print("Welcome to loging...")else: print("用户名或密码错误")外层变
2018-02-25 20:37:19 257
翻译 python_编码_解码
在python3中默认的编码是Unicode编码,但是存储的文件编码格式是utf-8在python2中默认的编码格式是ASCII码,在python3中在encode的同时会把string类型转换为byte类型,在decode的同时会把byte类型转为stringimport sysprint("文件编码格式:",sys.getdefaultencoding())s = "我是中国人"s...
2018-02-25 20:00:35 214
原创 python学习笔记_列表,元组
使用了几天python shell来学习python真心蛋疼,所以今天就换成了pycharm来搞.瞬间高大上了哈哈哈....一.列表列表的作用是什么呢,顾名思义,就是用来存储数据的啦...接下来就来看看列表单的用法1.定义,创建列表strs = ["hello","python"]print(strs)在这里可以看出来 列表存储纯字符串是一点问题也没有的.接下来试试数字类型的元素nums = [...
2018-02-24 23:31:46 279
原创 python的数据类型
1.1 数字类型 数字类型呢又分为整型,浮点型,复数型整数型 整数型的取值范围:在python2中是有取值范围的,但是在python3中就没有了取值范围一说。例如在python3中so:在python中已经没有了取值范围一说。在Java中整数型又分为byte,short,int,long这些证书类型。比较来看python是一种弱数据类型的语言。1.2 浮点型 什么浮点型呢,...
2018-02-24 21:30:13 416
原创 python学习笔记_python常识简介
1.Hello Worldprint("hello world")运行结果:2.变量的命名规则python变量的命名规则,只能是 字母,数字,下划线(_)为基本元素来组成的有意义的标识符,但是不能以数字开头.假如以数字开头会怎么样呢?以数字开头其他特殊字符作为作为变量名不能以保留字为变量名3. 行和缩进在python里奇葩的就是不使用 大括号,中括号,小括号来控制类,逻辑,函数,而是使用空格和换行...
2018-02-23 15:56:33 284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人