多线程并发concurrency同一时间内出现多个请求,高并发就是短时间内出现大量请求并行parallel并行是解决并发的一个方法并发的解决食堂打饭模型1、队列、缓冲区queue(或LifoQueue、PriorityQueue)先进先出缓冲区(排队打饭),可以设置一个优先队列(女生优先)2、争抢一旦一个请求获得资源后,会产生排他锁(不排队,谁抢到就是轮到谁打饭)缺点:有可能存在某些请求一直获得不
gitRepository仓库、版本库git初始化后,会在当前目录生成一个.git目录,也就是版本库Workspace工作区.git所在的目录就是工作区,一般是项目的根目录index索引介于工作区和版本库之间,暂存修改的remote远程版本库网络上的另一个版本库,可以和本地交互初始化gitinit添加文件gitaddindex.htm把文件的当前变化增加到索引中,此时文件还可继续修改或添加新的文件
描述器get(self,instance,owner)访问属性时调用set(self,instance,value)当对属性赋值时调用delete(self,instance)删除属性时调用self指代当前实例instance是owner的实例owner是属性的所属的类描述器实现前提是描述器类实例作为类属性当只实现get时(非数据描述符),属性查找顺序是本实例优先,get方法次之当实现get和se
继承基本概念个体继承自父母,继承了父母的一部分特征,但也可以有自己的个性子类继承了父类,就直接拥有了父类的属性和方法,也可以定义自己的属性、方法,甚至对父类的属性、方法进行重写Python继承实现classCat(Animal)括号中为该类的父类列表如果类定义时没有父类列表,则只继承object类object类是所有类的祖先类类的特殊属性与方法base类的基类bases类的基类的元组mro方法解析
日志分析业务中会生成大量的系统日志、应用程序日志、安全日志等,通过对日志的分析可以了解服务器的负载、健康状况,可以分析客户的分布情况、客户的行为,甚至基于这些分析可以做出预测一般采集流程日志产出->采集(Logstash、Flume、Scribe)->存储->分析->存储(数据库、NoSQL)->可视化开源实时日志分析ELK平台Logstash收集日志,并存放到Ela
面向对象类class抽象概念是属性与方法的集合对象/实例instance/object类的具体实现/实例化属性对象状态的抽象,用数据结构描述操作/方法对象行为的抽象,用操作名和实现该操作的方法来描述一切皆对象对象是数据和操作的封装对象是独立的,但是对象之间可以互相作用目前OOP是最接近人类认知的编程范式OOP三要素封装组装:将数据和操作组装到一起隐藏数据:对外只暴露一些接口,通过接口访问对象继承复
习题解析1.指定一个源文件,实现copy到目标目录个人完成:deffilecopy(filename:str,cp_filename:str):'''Author:lijlDescription:复制文件typefilename:strtypecp_filename:strrtype:int'''try:withopen(cp_filename,'w+')asf1,open(filename,'r
正则表达式基本语法元字符代码说明举例.匹配除换行符外任意一个字符[abc]字符集合,只能表示一个字符位置。匹配所包含的任意一个字符[^abc]字符集合,只能表示一个字符位置。匹配除去集合内字符的任意一个字符[a-z]字符范围,一个集合,表示一个字符位置匹配所包含的任意一个字符[^a-z]字符范围,一个集合,表示一个字符位置匹配除去集合内字符的任意一个字符\b匹配单词的边界\B不匹配单词的边界\d等
文件操作打开操作io.open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)返回一个文件对象(流对象)和文件描述符。打开文件失败,则返回异常基本使用:f=open("test")print(f.read())f.close()使用完一定要关闭文件
装饰器应用练习一、实现一个cache装饰器,实现可过期被清除的功能简化设计,函数的形参定义不包含可变位置参数、可变关键词参数和keyword-only参数可以不考虑缓存满了之后的换出问题1)原始defcache(fn):importinspectlocal_cache={}defwrapper(*args,**kwargs):sig=inspect.signature(fn)params=sig.
高阶函数FirstClassObject函数也是对象,可调用的对象函数可以作为普通变量、参数、返回值等等数学概念y=g(f(x))在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数接受一个或多个函数作为参数输出一个函数内建高阶函数sorted(iterable[,key][,reverse])排序filter(function,iterable)-->filterobject过滤
1.Givenanarrayofintegers,returnindicesofthetwonumberssuchthattheyadduptoaspecifictarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumaynotusethesameelementtwice.Example:Givennums=[2,7,1
插入排序:方法一:definsertion_sort(lst):count_swap=0count_iter=0foriinrange(1,len(lst)):temp=lst[i]j=i-1count_iter+=1whilej>=0andtemp<lst[j]:lst[j+1]=lst[j]j-=1count_swap+=1lst[j+1]=tempreturnlst,count_
函数Python的函数没有return语句,隐式会返回一个None值函数是可调用的对象,callable()函数参数参数调用时传入的参数要和定义的个数相匹配(可变参数例外)位置参数deff(x,y,z)调用使用f(1,3,5)按照参数定义顺序传入实参关键字参数deff(x,y,z)调用使用f(x=1,y=3,z=5)使用形参的名字来出入实参的方式,如果使用了形参名字,那么传参顺序就可和定义顺序不同
字典key-value键值对的数据的集合可变的、无序的、key不重复初始化:d=dict()d={}d=dict(**kwargs)如:d=dict(a=1,b=2)dict(iterable,**kwarg)使用可迭代对象和name=value对构造字典,不过可迭代对象的元素必须是一个二元结构dict(mapping,**kwarg)dict.fromkeys(iterable,value)字典
选择排序:时间复杂度O(n**2)没有办法知道当前轮是否已经达到排序要求,但是可以知道极值是否在目标索引位置上遍历次数1,...,n-1之和n(n-1)/2对比冒泡法:减少了交换次数,提高了效率,性能略好方法三、四实际上降低的是平均时间复杂度方法一:nums=[1,2,6,7,8,9,3,4,5]foriinrange(len(nums)):maxindex=iforjinrange(i+1,le
习题解析1.从lst=[1,(2,3,4),5]中,提取4出来lst=[1,(2,3,4),5]_,(*_,a),_=lstprint(a)2.环境变量JAVA_HOME=/usr/bin,返回变量名和路径str='JAVA_HOME=usr/bin'name,path=str.split('=')print(name,path)3.你的好友A、B、C,他的好友C、B、D,求共同好友a={'A',
bytes、bytearraybytes:不可变字节序列bytearray:字节数组可变字符串与bytes字符串是字符组成的有序序列,字符可以使用编码来理解bytes是字节组成的有序的不可变序列bytearray是字节组成的有序的可变序列编码与解码字符串按照不同的字符集编码encode返回字节序列bytesencode(encoding='utf-8',errors='st
深浅拷贝==比较的是数据内容,如果是True意义为内容相同,引用并不同=操作执行后,前后两个元素的引用地址相同浅拷贝copy()->List返回一个新的列表引用类型只拷贝引用地址深拷贝完全拷贝。包括引用类型fromcopyimportdeepcopylst2=deepcopy.(lst)随机数importrandomrandint(a,b)返回[a,b]之间的整数,闭区间choice(seq
Python内置数据结构一、数值型1.数据类型分类:int:整数python3的int就是长整型,且没有大小限制,受限于内存区域的大小int(x)返回一个整数float:浮点数有整数部分和小数部分组成。支持十进制和科学计数法表示。只有双精度型。float(x)返回一个浮点数complex:复数有实数和虚数部分组成,实数和虚数部分都是浮点数,3+4.2Jcomplex(x)、complex(x,y)
习题解析0.打印10以内偶数:位运算foriinrange(10):ifnoti&0x01:print(i)1.给定一个不超过5位的正整数,判断其有几位(使用input函数)方法一:正常逻辑处理a=int(input("Pleaseenteranumer:"))ifa<0:print('Error')ifa<10:print(1)elifa<100:print(2)eli
2018-03-22学习笔记Pyhon环境部署:系统:Linux最小系统1、安装gityuminstallgit-y2、安装Python编译依赖yum-yinstallgccmakepatchgdbm-developenssl-develsqlite-develreadline-develzlib-develbzip2-devel3、创建用户useraddpython4、使用python用户登录后
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号