![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
like_study_cat
这个作者很懒,什么都没留下…
展开
-
迭代器与生成器
迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:实例(Python 3.0+)>>> list=[1,2,3,4]>>> it = iter(list) # 创建迭代器对象>>&原创 2020-12-07 20:00:00 · 85 阅读 · 0 评论 -
lambda
四个用法由于lambda语法是固定的,其本质上只有一种用法,那就是定义一个lambda函数。在实际中,根据这个lambda函数应用场景的不同,可以将lambda函数的用法扩展为以下几种: 将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数。 例如,执行语句add=lambda x, y: x+y,定义了加法函数lambda x, y: x+y,并将其赋值给变量add,这样变量add便成为具有加法功能的函数。例如,执行add(1,2),输出为3。 将lamb.原创 2020-10-30 11:31:21 · 521 阅读 · 0 评论 -
Flask中@app.route
本文我们先来说说Flask,深入探讨Flask如何实现在函数上方写“@app.route()”就能在因特网上输出函数的执行结果。下面是Flask主页给我们的第一个例子,我们现在就由它入手,深入理解“@app.route()”是如何工作的。app = Flask(__name__)@app.route("/")def hello(): return "Hello World!"@app.route和其它装饰器要想明白“@app.route()”的工作原理,我们首先需要..转载 2020-10-01 19:27:29 · 2062 阅读 · 0 评论 -
可变长参数
可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入。即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的;可变长参数分为非关键字和关键字类型,分别对应元组和字典,如下定义一个类,功能是打印出输入的函数:>>> class Test: def keyword(self,a,b,*non_keyword,**keyword): print('a is ',a) print('b is ',b)原创 2020-08-19 11:30:26 · 84 阅读 · 0 评论 -
python 三类继承问题
super().__init__() 1、子类构造函数调用super().__init__() 1.1、第一个直接继承父类,可以调用name 1.2、第二个继承自父类,覆盖初始化化def init,增加属性age,不能调用name属性 1.3、第三个继承自父类,覆盖初始化化def init,并继承初始化属性name,可以调用 2、继承顺序 3、python2和3的区别 1、子类构造函数调用super().init()例:1.1、.原创 2020-08-18 11:48:53 · 123 阅读 · 0 评论 -
Windows装机必备软件
目录系统工具 工作学习 开发工具 VS插件2018年12月21日,最近要装新电脑,借此将自己常用的工具总结一下。系统工具wox,软件快速启动工具,有翻译等插件 everything,本地文件文件夹快速检索工具 ditto,剪贴板增强工具,缓存剪切历史 Total Commander 飞扬时空版,文件管理软件,替代系统资源管理器,有众多特色功能 CCleaner,系统优化清理软件 Rapid Environment Editor,环境变量编辑工具 IObit Unlock.原创 2020-08-13 11:37:54 · 191 阅读 · 0 评论 -
tensorflow、mxnet、pytorch、Caffe安装
目录准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow、mxnet、pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 编译时常见错误 运行时错误 参考GPU为RTX2080,系统为更新到最新版本的Win10。准备工作安装VS2015,到官网地址older-download下载安装 安装Matlab,笔者安装的是Matlab2017b 安装Anaconda3-4.4.原创 2020-08-13 11:36:18 · 309 阅读 · 0 评论 -
VSCode Python开发环境配置
目录准备工作 VSCode初步 用户界面 快捷键 安装扩展 配置文件与内置终端设置 高级调试配置 小结 参考准备工作安装anaconda,官网下载安装,笔者安装在"D:\Anaconda3" 安装好之后,查看环境变量path中是否有如下路径,没有的话添加进去D:\Anaconda3D:\Anaconda3\Scripts安装git,官网下载安装,默认安装路径"C:\Program Files\Git" 安装VSCode,官网下载安装VSCode初步.转载 2020-08-13 11:29:32 · 2850 阅读 · 0 评论 -
python中 类的继承
一 概述面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”,继承的过程,就是从一般到特殊的过程。在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。继承概念的实现方式主要有2类:实现继承、接口继承。实现继承是指使用基类的属性和方原创 2020-07-03 10:12:03 · 205 阅读 · 0 评论 -
换行写入txt文件
在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行如果直接用f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用f.write(’\r\n’)原创 2020-05-14 14:18:25 · 1484 阅读 · 0 评论 -
小结-Python-可迭代、迭代器和生成器的区别
小结-Python-可迭代、迭代器和生成器的区别生成器通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的...原创 2020-04-09 19:45:01 · 440 阅读 · 0 评论 -
Python 星号(*)操作符的用法
Python 星号(*)操作符的用法在定义一个方法的时候,星号的意思就是: 收集其余位置的参数,如果不提供任何收集的元素给星号,就是一个空元组。下面看一下例子:def prints(*arg): print arg;prints (1,2,3,4,5,6,7)打印的结果是一个元组: (1,2,3,4,5,6,7) , 也就是说该参数(arg) 将传进来的所有参数放在了一个元组中...转载 2020-04-09 18:58:29 · 705 阅读 · 0 评论 -
回调函数
首先回调函数就是一个函数,形式上和其他函数没有半点区别.只不过这个所谓的回调函数是将要被当做参数传递给另一个函数,并被其调用(区别就在这,一般函数的形参,接收的是一个基本类型的变量,而这个函数,接受的参数居然是一个"函数",这个作为参数的函数,就叫回调函数)even.py#回调函数1#生成一个2k形式的偶数def double(x): return x * 2 #回调函数...原创 2020-03-28 13:28:16 · 78 阅读 · 0 评论 -
@property
既要保护类的封装特性,又要让开发者可以使用“对象.属性”的方式操作操作类属性,除了使用 property() 函数,Python 还提供了 @property 装饰器。通过 @property 装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对“()”小括号。@property 的语法格式如下:@propertydef 方法名(self) 代码块例如,定义一个矩形类,...转载 2020-03-17 13:54:22 · 77 阅读 · 0 评论 -
python读写matlab的.m文件
python读写matlab的.m文件做深度学习的项目时,原始图片一般会先转换成其他格式,方便学习框架直接读取,比如caffe的leveldb、lmdb,matlab的.m格式,tensorflow的tfrecords格式等。python读写matlab的.m格式也很简单import scipy.io as sioimport numpy as np ## 将data变量保存在mat文...原创 2020-01-07 14:36:35 · 1575 阅读 · 0 评论 -
RPC和RMI远程调用
远程调用使得调用远程服务器的对象、方法的方式就和调用本地对象、方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了。远程调用是分布式系统的基础。远程调用一般分为两种,远程过程调用(RPC)和远程方法调用(RMI)。RPCRPC属于函数级别的远程调用,其多是通过HTTP传输数据,数据形式有XML、JSON、序列化数据等。在此,用python做一个xml-rpc的示例。 先给服务器端serv...原创 2020-01-07 13:46:51 · 126 阅读 · 0 评论 -
字符串序列化与反序列化
上一节我们学习了文件的读写,把一个字符串(或字节对象)保存到磁盘是一件很容易的事情。但是在实际编程中,我们经常需要保存结构化数据,比如复杂的字典、嵌套的列表等等,这时候就需要我们想办法把这些结构化数据先转变成一个字符串,这个转换过程就叫做“序列化”,这一过程的逆操作就是“反序列化”。JSON序列化序列化数据的操作在各个语言编程中都会遇到,当然也出现了标准化的格式,比如:JSON(JavaScr...原创 2020-01-07 11:00:13 · 2879 阅读 · 0 评论 -
多线程对全局变量操作的bug
多线程对全局变量同时操作会出现bug,怎么解决呢答案就是:原子性(要么别做,要么做完)为了保证某个线程先做完,给函数加个判断条件似乎可行,如图,但是这样开启两个线程后,test2进行一次判断,就终止了,也就是说test1执行完后,test2不会再进行判断条件。那么怎么让test2等待test1执行完,再进行判断条件呢?加个死循环(轮询即循环判断),一直判断条件似乎可行。虽然可以达到效果,但...原创 2019-12-30 11:35:15 · 897 阅读 · 0 评论 -
进程与线程
进程和线程都是实现多任务的方式。代码是死的,存放在硬盘上只要程序运行起来,就已经把代码加载到内存当中(即为它分配了一片内存),这就是进程,即有资源的东西就是进程。进程中必有一个线程(可以理解为一个箭头),指向哪,程序就运行到哪。进程是资源分配的单位,只要运行,操作系统就给他资源,线程是进程里面真正执行代码的东西,是cpu调度的单位在一个进程里面,开设多个线程(即多个箭头),调度分配到该进程...原创 2019-12-28 11:39:13 · 42 阅读 · 0 评论 -
程序设计文档
一 需求分析1.需求分析2.可行性分析设计思路1.设计目的2.设计思想3.设计内容详细设计代码实现方法运行调试原创 2019-12-27 10:43:14 · 1947 阅读 · 0 评论 -
进程池
进程池进程和进程之间没有关联,进程之间通信用Queue,进程池中进程通信用Manage().Queue()创建的队列进行通信原创 2019-12-26 11:51:09 · 71 阅读 · 0 评论 -
进程
Python中的多进程多进程:程序:是一个指令的集合进程:正在执行的程序,或者说当你运行一个程序,你就启动了一个进程。–编写完的代码,没有运行时称为程序,正在运行的代码,称为进程。–程序是死的(静态的)进程是活的(动态的)操作系统轮流让各个任务交替执行,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样。多进程中,每个进程中所有数据(包括全局变量)都各自拥有一份,...原创 2019-12-20 11:26:58 · 69 阅读 · 0 评论 -
线程
Python多线程编程(一):threading 模块 Thread 类的用法详解我们进行程序开发的时候,肯定避免不了要处理并发的情况。一般并发的手段有采用多进程和多线程。但线程比进程更轻量化,系统开销一般也更低,所以大家更倾向于用多线程的方式处理并发的情况。Python 提供多线程编程的方式。本文基于 Python3 讲解,Python 实现多线程编程需要借助于 threading 模...原创 2019-12-20 11:20:44 · 69 阅读 · 0 评论 -
python 异常处理
Python 异常处理异常处理语法:try: # 目标代码except 错误类型: # 出错后执行的代码示例:try: list = [1, 2, 3] list[3]except IndexError: print('出错了!')输出结果:出错了!多个异常的示例:try: a = input() ...转载 2019-12-06 14:43:55 · 101 阅读 · 0 评论