
python
halfh
行成于思毁于随
展开
-
python 内置函数
#filterdef fun1(s): if s != 'a': return sstr = ['a','b','c','d']f1 = filter(fun1 , str)print(list(f1))['b', 'c', 'd']#mapstr = ['1','2','3']def fun2(s): return s+'martin'var =原创 2017-10-06 21:34:03 · 275 阅读 · 0 评论 -
python 里的集合
c1 = set('abc')print(c1)c1.add('zh')print(c1)c2 = set('abc')print(c2)c2.update('zh')print(c2){‘b’, ‘c’, ‘a’} {‘zh’, ‘b’, ‘c’, ‘a’} {‘b’, ‘c’, ‘a’} {‘z’, ‘h’, ‘c’, ‘a’, ‘b’}原创 2017-10-06 11:59:19 · 167 阅读 · 0 评论 -
python 利用正则实现简易计算器
#-*-coding:utf-8-*-#__author:martin#date:2017/10/11import redef f_string(s): s = s.replace(' ','') s = s.replace('++', '+') s = s.replace('--', '+') s = s.replace('+-', '-') return原创 2017-10-11 23:05:55 · 589 阅读 · 0 评论 -
python中的socketserver
socketserver 实际上是为了简化socket编程#-*-coding:utf-8-*- #__author:martin#date:2017/10/21import socketimport socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): print原创 2017-10-21 20:28:04 · 437 阅读 · 0 评论 -
python中线程和进程
1.进程是cpu资源分配的最小单位,线程是cpu调度的最小单位 2.一个进程里可以包含多个线程,线程之间可以直接通讯,每个线程都有自己的线程栈,并可以访问线程属于的进程的资源。而进程通讯要通过其他的方式,比如队列等等 3.创建线程开销小,创建进程开销大 4.在python中,由于有全局解释器锁(GIL)的原因,同一时刻一个进程下的线程只能分配给一个cpu去执行。所以python适合的是IO密集原创 2017-10-22 09:04:05 · 294 阅读 · 0 评论 -
python线程
创建两个线程,并运行#-*-coding:utf-8-*-#__author:martin#date:2017/10/22import threadingclass Mythread(threading.Thread): def __init__(self,num): threading.Thread.__init__(self) self.num =原创 2017-10-22 11:09:47 · 210 阅读 · 0 评论 -
python 中的semaphore
控制并发的线程数#-*-coding:utf-8-*- #__author:martin#date:2017/10/22import threadingimport timeclass Mythread(threading.Thread): def run(self): if semaphore.acquire(): print(self.na原创 2017-10-22 20:03:03 · 938 阅读 · 0 评论 -
python 使用json模块
#-*-coding:utf-8-*- #__author:martin#date:2017/10/14import json# dic = {'name':'martin','age':20}# data = json.dumps(dic)# f = open('test.txt','w')# f.write(data)# f.close()f = open('test.txt','原创 2017-10-14 09:27:22 · 251 阅读 · 0 评论 -
python 生产者和消费者
#-*-coding:utf-8-*- #__author:martin#date:2017/10/23import threadingimport randomimport timeclass Producer(threading.Thread): def run(self): global L while True:原创 2017-10-23 22:04:18 · 491 阅读 · 0 评论 -
python 面向对象继承
#-*-coding:utf-8-*- #__author:martin#date:2017/10/15class F: def f1(self): print('F.f1')class S(F): def f1(self): #super(S,self).f1() #执行父类的方法,第一种方式,常用这种方式 F.f1(self)原创 2017-10-15 09:36:58 · 192 阅读 · 0 评论 -
python 浅copy 和 深copy
浅copy 只copy第一层第一种情况s = [‘martin’,’decoration’,123] s1 = s.copy() s1[0]= ‘s’ print(s1) print(s)[’s’, ‘decoration’, 123] [‘martin’, ‘decoration’, 123]第二种情况v = [[1,2],3,4] b= v.copy() b[0][0] =原创 2017-10-05 22:47:27 · 235 阅读 · 0 评论 -
python中的单例
#-*-coding:utf-8-*- #__author:martin#date:2017/10/19class Foo: __v = None @classmethod def getInstance(cls): if cls.__v: return cls.__v else: cls.原创 2017-10-19 20:53:43 · 291 阅读 · 0 评论 -
python 中的闭包
内部函数引用了外部作用域的变量def outer(): x = 100 def inner(): print(x) return innerouter()()100原创 2017-10-06 22:07:39 · 138 阅读 · 0 评论 -
python 里装饰器
装饰器就是给原理的函数添加新的功能,用到了闭包#需要添加的功能def show_time(fun): def inner(): start = time.time() fun() end = time.time() print(end-start) return inner#功能函数def foo():原创 2017-10-06 23:04:15 · 132 阅读 · 0 评论 -
python 生成器
生成器的作用是边循环边计算,节约内存#定义一个生成器def foo(): print('www') yield 1 print('martin') yield 2#这里得到生成器,并不是执行函数g = foo()for i in g: print(i)www 1 martin 2裴波那契数列def fibo(indx): n ,bef原创 2017-10-07 14:24:24 · 160 阅读 · 0 评论 -
python变量赋值
1、python 的安装目录 D:\development\Python362、 将D:\development\Python36 加入到环境变量path ,查看版本 3、在E:\python文件夹里新建一个test.py文件,内容如下name = "jack"name2 = namename = "martin"print(name,name2)4、以管理员身份打开命令行,进入 E原创 2017-10-01 08:52:01 · 409 阅读 · 0 评论 -
python打印乘法表
i = 1while i <= 9: j = 1 while j <= i : print(j ,"*", i , "=" , j*i,end="\t") j += 1 print() i += 1原创 2017-10-01 19:30:14 · 569 阅读 · 0 评论 -
python记录日志
#-*-coding:utf-8-*- #__author:martin#date:2017/10/9import loggingimport sys#获取logger实例,如果参数为空则返回root loggerlogger = logging.getLogger("AppName")# 指定logger输出格式formatter = logging.Formatter('%(asc原创 2017-10-09 22:01:04 · 1960 阅读 · 0 评论 -
python类名()的执行过程
#-*-coding:utf-8-*- #__author:martin#date:2017/10/18class MyType(type): def __init__(self,*args,**kwargs): print("遇到类名....") def __call__(self, *args, **kwargs): print('类名加()原创 2017-10-18 21:14:22 · 1498 阅读 · 0 评论 -
python 打印1-100所有的奇数
for i in range(1,101): if i % 2 == 1: print(i)原创 2017-10-01 22:21:43 · 25822 阅读 · 0 评论 -
python 中的正则
匹配数字 \d,字符符号\w,空白符号\s,特殊边界\b# ret = re.findall('\d+','12344eee')# print(ret)# ret = re.findall('\smart',' ad mart')# print(ret)# ret = re.findall('\w',' ad mart')# print(ret)# ret = re.findall(r'm\b原创 2017-10-10 21:54:10 · 366 阅读 · 0 评论 -
python 中的队列
queue 可以保证每个线程取和存数据的安全性,因为它里面实现了锁机制#-*-coding:utf-8-*- #__author:martin#date:2017/10/23import threadingimport randomimport timeclass Producer(threading.Thread): def run(self): globa原创 2017-10-24 22:01:53 · 340 阅读 · 0 评论