python基础
SakuraKanago
这个作者很懒,什么都没留下…
展开
-
python3.8 装饰器的简单应用 函数耗时
装饰器装饰器本身也是一个函数,主要功能是给其他函数方法添加额外功能的,类似给一个人防弹头盔、防弹衣等装备,增加函数的功能特点,一定程度上也可以简化代码,提高代码可读性。python装饰器的快速上手下面用装饰器写个测试函数性能的模块:import timefrom functools import wrapsdef time_consuming(func): """ 测试一个函数的耗时 :param func: :return: """ @wra原创 2020-08-31 22:00:47 · 174 阅读 · 0 评论 -
python3.8 进程池 多进程的实现 加速程序运行
进程池我们使用multiprocessing库下的Pool开启多进程multiprocessing是python3内置的,不需要下载安装,直接导入即可我们写个简单的实例,来展示到底为什么要使用多进程,以及多进程有哪些作用让我们使用进程的第一种情况观察阻塞from time import sleep from multiprocessing import Pool import os # 引入os库的作用是为了获取子进程的ID,让我们更直观查看进程的进度def pid():原创 2020-08-28 20:29:01 · 4444 阅读 · 0 评论 -
python3.8 进程的简单理解
进程先了解什么是进程,看百度写的,太专业了,不好理解进程:就是一个程序的实例,就像python中给一个类实例化一样,进程就是程序的实例化,而程序,就是你写的那一串串代码,没运行前,就叫做程序,点击运行了,CPU就会调度资源来跑这串代码。一个执行中的程序,就是一个进程。程序,只是写好的代码,静态的,你只要没删除它,它一直都会在那;而进程是动态的,程序执行结束后,就死掉了,同时进程之间是互不影响的,你跑你的,我干我的,当然也可以和其他进程一起并发运行。多进程和fork()多进程的创建,可以使用fork原创 2020-08-27 20:22:35 · 382 阅读 · 0 评论 -
约瑟夫环问题 正面肛
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,再从他的下一个人开始报数(从1到3报数)问最后留下的是原来第几号的那位假设人有:l=[1,2,3,4,5,6,7,8,9,10]原创 2020-08-26 22:39:00 · 143 阅读 · 0 评论 -
python3.8 三利器之 装饰器
python装饰器python装饰器的实现,需要建立在一个闭包结构上,所以逃不了的,跑到哪里都逃不了,闭包,必须学,嘛…也很容易理解的一个东西闭包函数的嵌套,就可以看作一个闭包结构(不严谨的话)严谨一些的说法:一个函数嵌套另外一个函数,如果内部函数使用到了外部函数的变量,我们就将这个函数和用到的变量统称为闭包,如下所示,一个简易的闭包结构:def wrapper(num): # wrapper - 包装器;装饰器 def inner(): print(num)原创 2020-08-26 22:07:56 · 295 阅读 · 0 评论 -
python3.8 三利器之 生成器
python生成器生成器的使用场景:通常创建了一个数据量很大的,如一百万个元素的数据,需要很大的存储空间,而我们通常仅仅需要其中的几百个或几个,而其他用不上的数据则比较占用空间,这时就需要用到生成器生成器是特殊的迭代器生成器只存储算法,不存储数据生成器是一边循环一边执行的计算机制主要作用:节省内存,提高算法效率生成器的第一种写法(简易版)g = (x for x in range(10))从collections包中导入Iterable,Iterator判断g的数据类型print原创 2020-08-26 20:48:12 · 207 阅读 · 0 评论 -
python3.8 三利器之 迭代器
python 迭代器迭代器可以记住遍历的位置迭代器只能前进不能后退迭代器对象从第一个元素开始访问,直到所有元素被访问完列表、元组、字典、集合、字符串均属于可迭代对象```pythonfrom collections import Iterable,Iterator#Iterable,Iterator:前者用于判断对象是否是一个可迭代对象,后者用于判断是否是一个迭代器# 列表是可迭代对象,所以下面的print打印Truex = [1, 2, 3, 45, 'asd']print(i原创 2020-08-26 19:01:27 · 271 阅读 · 0 评论