上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: ''' partial引用函数,并增加形参 ''' import functools def show_arg(*args,**kwargs): print("args",args) print("kwargs",kwargs) q = functools.partial(show_arg,1,2, 阅读全文
posted @ 2020-05-08 00:25 Hany47315 阅读(174) 评论(0) 推荐(0)
摘要: from time import ctime,sleep def Clock(func): def clock(): print("现在是:",ctime()) func() sleep(3) print("现在是:",ctime()) return clock @Clock def func(): 阅读全文
posted @ 2020-05-08 00:24 Hany47315 阅读(567) 评论(0) 推荐(0)
摘要: class Foo(object): def __init__(self, *args, **kwargs): pass def __new__(cls, *args, **kwargs): return object.__new__(cls, *args, **kwargs) # 以上return 阅读全文
posted @ 2020-05-08 00:22 Hany47315 阅读(144) 评论(0) 推荐(0)
摘要: class student(object): def __init__(self,name=None,age=None): self.name = name self.age = age def __getattribute__(self, item):#getattribute方法修改类的属性 i 阅读全文
posted @ 2020-05-08 00:21 Hany47315 阅读(122) 评论(0) 推荐(0)
摘要: import copy a = ['a','b','c'] b = a #b和a引用自同一块地址空间 print("a==b :",a==b) print("a is b :",a is b) c = copy.deepcopy(a)# 对a进行深拷贝 print("a的id值为:",id(a)) 阅读全文
posted @ 2020-05-07 21:22 Hany47315 阅读(125) 评论(0) 推荐(0)
摘要: from threading import Thread g_num = 0 def test1(): global g_num for i in range(1000000): g_num += 1 print(" test1 g_num=%d"%g_num) def test2(): globa 阅读全文
posted @ 2020-05-07 21:14 Hany47315 阅读(127) 评论(0) 推荐(0)
摘要: from multiprocessing import Pool import os,time,random def worker(msg): start_time = time.time() print("(%s)开始执行,进程号为(%s)"%(msg,os.getpid())) time.sle 阅读全文
posted @ 2020-05-07 21:13 Hany47315 阅读(108) 评论(0) 推荐(0)
摘要: # Queue的工作原理 from multiprocessing import Queue q = Queue(3)#初始化一个Queue对象,最多可接收3条put消息 q.put("Info1") q.put("Info2") print("q是否满了",q.full())#查看q是否满了 q. 阅读全文
posted @ 2020-05-07 21:11 Hany47315 阅读(160) 评论(0) 推荐(0)
摘要: # 主线程等待所有子线程结束才结束 import threading from time import sleep,ctime def sing(): for i in range(3): print("正在唱歌 %d"%(i)) sleep(2) def dance(): for i in ran 阅读全文
posted @ 2020-05-07 21:09 Hany47315 阅读(179) 评论(0) 推荐(0)
摘要: from threading import Thread def work1(nums): nums.append('a') print(' 在work1中 ',nums) def work2(nums): print(" 在work2中 ,",nums) if __name__ == '__mai 阅读全文
posted @ 2020-05-07 21:07 Hany47315 阅读(193) 评论(0) 推荐(0)
摘要: from threading import Thread import time g_num = 100 def work1(): global g_num for i in range(3): g_num += 1 print(" 在work1函数中,g_num 是 %d "%(g_num)) d 阅读全文
posted @ 2020-05-07 21:05 Hany47315 阅读(1090) 评论(0) 推荐(0)
摘要: from multiprocessing import Process import os # 子进程执行的函数 def run_proc(name): print("子进程运行中,名称:%s,pid:%d..."%(name,os.getpid())) if __name__ == "__main 阅读全文
posted @ 2020-05-07 21:04 Hany47315 阅读(451) 评论(0) 推荐(0)
摘要: import gevent def f(n): for i in range(n): print (gevent.getcurrent(), i) # gevent.getcurrent() 获取当前进程 g1 = gevent.spawn(f, 3)#函数名,数目 g2 = gevent.spaw 阅读全文
posted @ 2020-05-07 21:02 Hany47315 阅读(203) 评论(0) 推荐(0)
摘要: from gevent import monkey import gevent import urllib.request #有IO操作时,使用patch_all自动切换 monkey.patch_all() def my_downLoad(file_name, url): print('GET: 阅读全文
posted @ 2020-05-07 21:00 Hany47315 阅读(250) 评论(0) 推荐(0)
摘要: """ 创建锁 mutex = threading.Lock() 锁定 mutex.acquire([blocking]) 当blocking为True时,当前线程会阻塞,直到获取到这个锁为止 默认为True 当blocking为False时,当前线程不会阻塞 释放 mutex.release() 阅读全文
posted @ 2020-05-07 20:58 Hany47315 阅读(272) 评论(0) 推荐(0)
摘要: import threading # 创建ThreadLocal对象 house = threading.local() def process_paper(): user = house.user print("%s是房子的主人,in %s"%(user,threading.current_thr 阅读全文
posted @ 2020-05-07 20:56 Hany47315 阅读(109) 评论(0) 推荐(0)
摘要: """ Process([group[,target[,name[,args[,kwargs]]]]]) group:大多数情况下用不到 target:表示这个进程实例所调用的对象 target=函数名 name:为当前进程实例的别名 args:表示调用对象的位置参数元组 args=(参数,) kw 阅读全文
posted @ 2020-05-07 20:54 Hany47315 阅读(217) 评论(0) 推荐(0)
摘要: from multiprocessing import Process import os from time import sleep def run_proc(name,age,**kwargs): for i in range(10): print("子进程运行中,名字为 = %s,年龄为 = 阅读全文
posted @ 2020-05-07 20:53 Hany47315 阅读(152) 评论(0) 推荐(0)
摘要: from multiprocessing import Pool import time import os def test(): print(" 进程池中的进程 pid=%d,ppid=%d--"%(os.getpid(),os.getppid())) for i in range(3): pr 阅读全文
posted @ 2020-05-07 20:52 Hany47315 阅读(252) 评论(0) 推荐(0)
摘要: import multiprocessing import os import time import random def copy_file(queue,file_name,source_folder_name,dest_folder_name): f_read = open(source_fo 阅读全文
posted @ 2020-05-07 20:51 Hany47315 阅读(117) 评论(0) 推荐(0)
摘要: #解决多进程死循环 import multiprocessing def deadLoop(): while True: print("Hello") pass if __name__ == '__main__': # 子进程死循环 p1 = multiprocessing.Process(targ 阅读全文
posted @ 2020-05-07 20:50 Hany47315 阅读(107) 评论(0) 推荐(0)
摘要: import threading # 导入线程库 import time from queue import Queue # 队列 class Producer(threading.Thread): # 线程的继承类,修改 run 方法 def run(self): global queue cou 阅读全文
posted @ 2020-05-07 20:48 Hany47315 阅读(338) 评论(0) 推荐(0)
摘要: ''' 创建三个进程,让三个进程分别执行功能,关闭进程 Pool 创建 ,apply执行 , close,join 关闭进程 ''' from multiprocessing import Pool import os,time,random def worker(msg): # 创建一个函数,用来 阅读全文
posted @ 2020-05-07 20:47 Hany47315 阅读(135) 评论(0) 推荐(0)
摘要: re中引用分组匹配字符串 import re # 能够完成对正确的字符串的匹配 ret = re.match("<[a-zA-Z]*>\w*</[a-zA-Z]*>", "<html>hh</html>") print(ret.group()) # 如果遇到非正常的html格式字符串,匹配出错</h 阅读全文
posted @ 2020-05-07 20:44 Hany47315 阅读(134) 评论(0) 推荐(0)
摘要: $通配符,匹配字符串结尾 import re email_list = ["xiaoWang@163.com", "xiaoWang@163.comheihei", ".com.xiaowang@qq.com"] for email in email_list: ret = re.match("[\ 阅读全文
posted @ 2020-05-07 20:38 Hany47315 阅读(169) 评论(0) 推荐(0)
摘要: def binary_search(alist, item): first = 0 last = len(alist) - 1 while first <= last: midpoint = (first + last) // 2 if alist[midpoint] == item: return 阅读全文
posted @ 2020-05-07 20:17 Hany47315 阅读(133) 评论(0) 推荐(0)
摘要: 二叉树的创建 class Node(object): """节点类""" def __init__(self, elem=-1, lchild=None, rchild=None): self.elem = elem self.lchild = lchild self.rchild = rchild 阅读全文
posted @ 2020-05-07 20:16 Hany47315 阅读(132) 评论(0) 推荐(0)
摘要: ''' Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数 ''' class Stack(object): '''栈''' def __i 阅读全文
posted @ 2020-05-07 20:14 Hany47315 阅读(153) 评论(0) 推荐(0)
摘要: 队列 ''' Queue() 创建一个空队列 enqueue(item) 添加元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否为空 size() 返回队列的大小 ''' class Queue(object): '''队列''' def __init__(se 阅读全文
posted @ 2020-05-07 20:12 Hany47315 阅读(596) 评论(0) 推荐(0)
摘要: 单链表 ''' is_empty() 链表是否为空 length() 查询链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 insert(pos,item) 指定位置添加元素 remove(item) 删除节点 search( 阅读全文
posted @ 2020-05-07 20:11 Hany47315 阅读(235) 评论(0) 推荐(0)
摘要: 参数化 from pymysql import * def main(): find_name = input("请输入物品名称") conn = connect(host='localhost',port=3306,user='root',password='root',database='jin 阅读全文
posted @ 2020-05-07 20:08 Hany47315 阅读(474) 评论(0) 推荐(0)
摘要: ''' 开始 创建 connection 获取cursor 执行查询,获取数据,处理数据 关闭cursor 关闭connection 结束 ''' from pymysql import * conn = connect(host='localhost',port=3306,database=han 阅读全文
posted @ 2020-05-07 20:05 Hany47315 阅读(149) 评论(0) 推荐(0)
摘要: ''' 首先在未排序序列中找到最小(大)元素, 存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素, 然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 ''' def selection_sort(lst): n = len(lst) for i in range 阅读全文
posted @ 2020-05-07 20:04 Hany47315 阅读(102) 评论(0) 推荐(0)
摘要: ''' 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描, 找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中, 需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 ''' def insert_sort(lst): for i in range(1,len(lst)): 阅读全文
posted @ 2020-05-07 20:00 Hany47315 阅读(139) 评论(0) 推荐(0)
摘要: ''' 通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另一部分数据小, 再按此方法对这两部分分别进行快速排序。 步骤为: 从数列中挑出一个元素,称为"基准"(pivot), 重新排序数列,所有元素比基准值小的摆放在基准前面, 所有元素比基准值大的摆在基准的后面(相同的数可以 阅读全文
posted @ 2020-05-07 19:59 Hany47315 阅读(148) 评论(0) 推荐(0)
摘要: ''' 先递归分解数组,后合并数组 将数组分解最小之后,然后合并两个有序数组。 比较两个数组最前面的数,谁小就先取谁, 取了之后相应的指针就向后移一位,然后再比较,直到一个数组为空 最后把另一个数组的剩余部分添加过来 ''' def merge_sort(alist): if len(alist) 阅读全文
posted @ 2020-05-07 19:58 Hany47315 阅读(116) 评论(0) 推荐(0)
摘要: ''' 将数组列在一个表中,分别进行插入排序。先以步长为一半,列表。然后对每一列进行排序。 然后将排好序的,再按照步长为一半,列表进行排序。 最后进行插入排序 ''' def shell_sort(lst): n = len(lst) gap = n//2 #按照总长度的一半进行分列,然后进行 行排 阅读全文
posted @ 2020-05-07 19:56 Hany47315 阅读(133) 评论(0) 推荐(0)
摘要: ''' 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 阅读全文
posted @ 2020-05-07 19:53 Hany47315 阅读(91) 评论(0) 推荐(0)
摘要: 文件写操作 ''' w 写入操作 如果文件存在,则清空内容后进行写入,不存在则创建 a 写入操作 如果文件存在,则在文件内容后追加写入,不存在则创建 with 使用 with 语句后,系统会自动关闭文件并处理异常 ''' # import os # print(os.path) # <module 阅读全文
posted @ 2020-05-07 19:50 Hany47315 阅读(147) 评论(0) 推荐(0)
摘要: lst = [[1,2,3],[4,5,6],[8,2]] # print(max(max(lst))) print(max(max(lst,key=lambda x : max(x)))) # 8 max(max( ... )) 有几层列表就存在 几个 max 嵌套 2020-05-07 阅读全文
posted @ 2020-05-07 19:45 Hany47315 阅读(387) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页