搜索到与相关的文章
编程技术

状态(State)模式

在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。一,结构:二,示例代码:publicinterfaceState{publicvoidhandle(Contextcontext);}classConcreteStateAimplementsState{publicvoi

系统 2019-08-12 09:29:27 2107

Python

Python greenlet实现原理和使用示例

最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。并发处理的技术背景并行化处理目前很受重视,因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代,所以像lisp这种古老的语言又被人们重新拿了起来,函数式编程也越来越流行。介绍一个python的并行处理的一个库:greenlet。python有一个非常有名的库叫做stackless,用来做并发处理,主

系统 2019-09-27 17:56:35 2106

Python

python:os模块的简单使用

os模块描述:python标准库中的一个用于访问操作系统功能的模块。作用:用来实现跨平台访问常用操作:os.sep系统路径的分隔符>>>importos>>>os.sep'/'#windows上运行结果为:\\#windows上的pycharm运行结果为:\#Linux运行结果为:/os.linesep输出当前平台使用的行终止符>>>importos>>>os.linesep'\n'os.environ获取系统环境变量os.getcwd()获取当前工作路径

系统 2019-09-27 17:56:35 2106

Python

Python实现计算对象的内存大小示例

本文实例讲述了Python实现计算对象的内存大小。分享给大家供大家参考,具体如下:一般的sys.getsizeof()显示不了复杂的字典。查看类中的内容:defdump(obj):forattrindir(obj):#dir显示类的所有方法print("obj.%s=%r"%(attr,getattr(obj,attr)))这里用递归调用所有对象的getsizeof:defget_size(obj,seen=None):#Fromhttps://goshi

系统 2019-09-27 17:55:55 2106

Python

python高级编程——锁

锁在使用用的过程中需要导入threading模块的Lock类使用锁:当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定。锁的语法创建锁、锁定锁、释放锁fromthreadingimportLock#创建锁mutex=Lock()#获取锁(上锁)mutex.acquire()#释放锁(解锁)mutex.release()在锁定锁的过程中ac

系统 2019-09-27 17:55:04 2106

Python

老生常谈Python序列化和反序列化

通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来。Python中有几个常用模块可实现这一功能。pickle模块存储在变量中dumps(obj)返回存入的字节dic={'age':23,'job':'student'}byte_data=pickle.dumps(dic)#out->b'\x80\x03}q\x00(X\x03\x00\x00\...'print(byte_dat

系统 2019-09-27 17:54:49 2106

Python

python_Daily practice (每日一练) 96

关卡二:1.练习题1面向对象的理解要求:在类内定义一个可以重新设置私有属性name的函数条件为字符串长度小于10,才可以修改.答:defSetName(self,newname):iflen(newname)<10:self.__name=newnameelse:print("error:名字太长!")在创建一个类之后需要调用什么函数?答:应调用__del__()函数.del()方法是手动调用还是类默认调用?答:手动调用如何访问对象的属性?答:使用(.)来

系统 2019-09-27 17:54:18 2106

Python

致python初学者的天梯

Python简介Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。Python是一门入门非常简单的编程语言,也是目前很受欢迎的编程语言,在人工智能、网络爬虫、计算科学、Web应用、用户交互界面、自动化运维等方面都有广泛的应用,是一门很有前途的编程语言。Python是一门非常简单优雅的编程语言,可以用极少的代码就能实现强大

系统 2019-09-27 17:54:15 2106

Python

python基础 filter ,列表,字典,集合 中根据 条件 筛选 数据

fromrandomimportrandintdata=[randint(-10,10)for_inxrange(10)]printdatae=filter(lambdax:x>=0,data)printe或者使用列表解析速度快[xforxindataifx>=0]对字典的筛选d={x:randint(60,100)forxinxrange(1,21)}printdprint{k:vfork,vind.iteritems()ifv>90}对集合的筛选找出被

系统 2019-09-27 17:54:14 2106

Python

24式加速你的Python

这是小编推荐的第25篇好文来源:Python与算法之美作者:梁云1991一,分析代码运行时间第1式,测算代码运行时间平凡方法快捷方法(jupyter环境)第2式,测算代码多次运行平均时间平凡方法快捷方法(jupyter环境)第3式,按调用函数分析代码运行时间平凡方法快捷方法(jupyter环境)第4式,按行分析代码运行时间平凡方法快捷方法(jupyter环境)二,加速你的查找第5式,用set而非list进行查找低速方法高速方法第6式,用dict而非两个li

系统 2019-09-27 17:53:41 2106