摘要:
import itchat from itchat.content import * import re msg_infomation = {} @itchat.msg_register([TEXT]) def handle_receive_msg(msg): msg_from = itchat.search_friends(userName=msg['FromUserName'])['... 阅读全文
摘要:
#此程序需在有网络的条件下运行 import itchat from itchat.content import * import re @itchat.msg_register([TEXT]) def text_reply(msg): print("..%s.."%msg['Text']) #span去除前后空格 再进行匹配 match = re.search('年... 阅读全文
摘要:
#深拷贝 #浅拷贝 #(1)等号 # list1 = [11,22,33,['a','b']] # list2 = list1 # list1.append(44) # print(list1,list2,id(list1),id(list2)) # [11, 22, 33, ['a', 'b'], 44] [11, 22, 33, ['a', 'b'], 44] 43425416 43425... 阅读全文
摘要:
#迭代器 ''' 迭代是访问集合元素的一种方式,迭代器是一个能够记住遍历位置的对象 迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问完结束 如果想访问一个元素,需要把这个元素前面的所有元素都遍历后,才可以访问 ''' #1.可迭代的对象,像(1),(2)这些对象称之为可迭代对象(Iterable) #(1)以直接作用for循环的数据类型有:list/tuple/dict/set/st... 阅读全文
摘要:
#斐波那契数列:1,1,2,3,5,8,13... def fib(times): a = 0 b = 1 n = 1 while n <= times: # print(b) #返回加到F生成器中,每次都叠加 yield b a,b = b,a+b n += 1 return... 阅读全文
摘要:
#生成器 ''' 1.什么是生成器 通过列表推导式,可以直接创建一个列表,但是受到内存限制,列表容量肯定是有限的 而且,创建一个包含100万个元素的列表,占用很大的内存空间,如果我们仅仅需要访问 前面几个,后面元素的占用存储空间就被浪费了 所以,如果列表元素可以按照某种算法推算出来,那么我们就可以在循环当中不断地推导它 生产元素,这样就不必创建完整的list,从而大大节省了存储空间 在p... 阅读全文
摘要:
import time def one_hundred_millionA(): start_time = time.time() i = 0 for _ in range(100000000): i = i +1 yield end_time = time.time() print("A--Total time:{}... 阅读全文
摘要:
#协程 #~又称微线程 ''' 他是比线程更小的执行单元,因为它自带CPU上下文.这样只要在合适的时机,我们可以把一个协程切换到另外一个协程当中 只要这个过程保存或恢复CPU上下文,那么程序就可以运行 通俗的理解:在一个线程当中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行 yield--表示暂停 ''' import time def A(): ... 阅读全文
摘要:
import time from threading import Thread from multiprocessing import Process #计数的方式消耗系统资源 def two_hundred_million(): start_time = time.time() i = 0 for _ in range(200000000): i... 阅读全文