![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
假书生@
自律让我自由
展开
-
ModuleNotFoundError: No module named ‘pip‘解决方案
Python学习遇到小问题:ModuleNotFoundError: No module named ‘pip’今天想要装一下wxPython第三方库来写一下Python的GUI的时候发现cmd窗口下无法执行pip命令,想了想昨晚好像是pip命令行提示了我有新版本可以更新使用,更新之后也不成功,但昨晚没有怎么理会,以为没事,但今早起来一看发现pip命令都用不了了,出现了ModuleNotFoundError: No module named 'pip’这个错误。查询了网上之后发现,这个错误可以通过两行简原创 2020-09-06 22:08:42 · 337 阅读 · 0 评论 -
Python 类与对象编程详解八(object和type)
上一篇 Python 类与对象编程详解七(单例模式)这篇博客主要描述Python的新风格对象(new-style objects),如下:<type ‘type’>和<type ‘object’>分别是什么?用户自定义的类和实例之间是怎么联系的?它们和内置类型又是怎么联系的?什么是元类(metaclasses)?New-style表明这篇博客所说的内容只适用于版...原创 2020-04-19 17:06:09 · 260 阅读 · 0 评论 -
Python 类与对象编程详解七(单例模式)
上一篇 :Python 类与对象编程详解六(reflect反射)目录单例模式实现单例模式的几种模式1、使用模块使用装饰器实用类单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通...原创 2020-04-19 16:25:55 · 261 阅读 · 0 评论 -
Python 类与对象编程详解六(reflect反射)
上一篇:Python 类与对象编程详解五(抽象类,接口类)在以前的文章中,我们提到了python 反射机制,是python中非常重要的一部分,如果大家不太了解,请看下面这篇文章,其中包含了类中的反射实例。这里将不在介绍。python反射详解...原创 2020-04-18 11:24:40 · 205 阅读 · 0 评论 -
Python 类与对象编程详解五(抽象类,接口类)
上一篇:Python 类与对象编程详解五(特殊成员)目录什么是抽象类为什么要有抽象类接口类什么是抽象类抽象类描述了相关的一组类的通用的特征和行为。在客户的应用程序中,抽象类是不能正常实例化的,它的子类叫做具体类,这表明它们才是真正用来在客户应用程序中创建对象的类。为什么要有抽象类如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函...原创 2020-04-16 21:00:49 · 249 阅读 · 0 评论 -
Python 类与对象编程详解五(特殊成员)
上一篇:Python 类与对象编程详解四(封装、继承、多态)目录类的特殊成员__doc___module_ 和_class___init____del__:析构函数,当对象在内存中被释放时,自动触发执行类的特殊成员doc表示类的描述信息实例:class Foo: """描述类的信息""" def func(self): passprint(Foo.__...原创 2020-04-16 15:00:54 · 269 阅读 · 0 评论 -
Python 类与对象编程详解四(封装、继承、多态)
上一篇:Python 类与对象编程详解三(类属性、实例属性)目录封装为什么要封装封装方法封装例子封装特性面向对象的封装有三种形式:封装为什么要封装封装不是单纯意义的隐藏加粗样式1、封装数据:主要原因是:保护私隐,明确区分内外。将数据隐藏起来这不是目的。隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制。实例1:clas...原创 2020-04-15 23:05:12 · 933 阅读 · 0 评论 -
Python 类与对象编程详解三(类属性、实例属性)
上一篇:Python 类与对象编程详解二(成员保护和访问限制)目录类属性属性的定义操作类属性的三种方法属性存在的意义操作类属性的方法使用@property装饰器操作类属性通过@property装饰器对属性的取值和赋值加以控制使用python内置函数操作属性。类属性属性的定义python中的属性其实是普通方法的衍生。操作类属性的三种方法1.使用@property装饰器操作类属性。2.使...原创 2020-04-14 21:42:03 · 839 阅读 · 0 评论 -
Python 类与对象编程详解二(成员保护和访问限制)
上一篇:Python 类与对象编程详解一(类与对象)目录成员保护和访问限制私有属性私有方法成员保护和访问限制私有属性Python 并没有对私有成员提供严格的访问保护机制,在定义类的属性时,如果属性名一个下划线开头的。此变量为保护成员protected,只有类及其子类可以访问。此变量不能通过from XXX import xxx 导入。如果是以两个下划线开头的,表示是私有变量,此变量为私有...原创 2020-04-14 17:49:25 · 1021 阅读 · 0 评论 -
Python 类与对象编程详解一(类与对象)
目录类与对象面向对象技术简介创建类self代表类的实例、而非类创建实例对象访问属性完整实例:类与对象面向对象技术简介类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量, 用于处理类及...原创 2020-04-14 16:58:51 · 423 阅读 · 0 评论 -
Python高级用法(GIL锁,深拷贝,浅拷贝,私有属性,魔法属性,上下文管理器)
目录GIL锁GIL定义:GIL介绍GIL与LockGIL与多线程Python 直接赋值、浅拷贝、深拷贝私有属性魔法方法GIL锁GIL定义: 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势 接下来,我们需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(...原创 2020-04-12 16:32:47 · 605 阅读 · 0 评论 -
Python 文件操作续
文件的相关函数1、readline()功能:读取一行内容readline(字符数):如果给的参数大于当前行字符数,只获取当前行所有内容如果给参数小于当前行的字符数,按照实际给的参数进行字符的获取E:\测试.txt 文件内容:你好Hello,world请说再见with open('E:\测试.txt',mode='r+',encoding='gbk') as demo: de...原创 2020-04-11 16:59:17 · 317 阅读 · 0 评论 -
python 文件读写详解
Python 文件读写Python中打开文件命令open(),open()命令返回文件的一个句柄:如:f = open('e:\python.txt')# read()对打开的文件进行读的操作print(f.read())# 关闭文件,文件打开后一定要记得关闭文件。在写的时候 可以:打开,关闭先写完,再写打开和关闭中间的代码 f.close()open 没有指定mode=参数,...原创 2020-04-10 14:13:51 · 433 阅读 · 0 评论 -
Django前端去遍历字典中的key,value
在后端代码中,我们如果遍历字典,需要用for key,value in data.items():...如果我们在views给前端传送了一个字典,前端需要这样遍历{% for key,value in data.items %}...{% endfor %}...原创 2020-03-17 15:07:23 · 1692 阅读 · 0 评论 -
windows启动redis服务
在windows环境下启动redis服务,前提是你安装好了,启动如下:会进入cmd界面,进入redis的安装目录下,直接运行命令redis-server.exe redis.windows.conf。如果报错,依次执行第一条指令:redis-cli.exe,第二条指令:shutdown第三条指令:exit报错如下三,在命令行窗口输入redis-server.exe redis.windo...原创 2020-02-27 21:59:23 · 257 阅读 · 0 评论 -
客户端如何访问服务端中的django项目
最近在学习python web 开发,使用的Django框架。在服务器中配置好了Django开发环境,将客户端传入到虚拟机中,用于访问服务器端的数据通过python manage.py runserver启动Django自带的测试服务器,显示IP地址为127.0.0.1:8000。在虚拟机的浏览器地址栏中输入django项目中的网页url,却始终报错。其实很简单的问题,解决办法:其实在启动...原创 2020-02-26 16:53:40 · 943 阅读 · 0 评论 -
REDIS启动出错CREATING SERVER TCP LISTENING SOCKET 127.0.0.1:6379: BIND: NO ERROR
windows下安装Redis第一次启动报错:[2368] 21 Apr 02:57:05.611 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error解决方法:在命令行中运行redis-cli.exe127.0.0.1:6379>shutdownnot connected>exit然后重...原创 2020-02-25 18:37:15 · 296 阅读 · 0 评论 -
Python 字典操作详解
Python3创建字典访问字典里的值修改字典删除字典元素创建字典字典是另一种可变容器模型,且可存储文艺类型对象字典的每个键值(key=>value)对用冒号(:)分割,每对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示:d = {key1 : value1,key2 : value2}键必须是唯一的,但值则不必唯一值可以取任何数据类型,但键必须是不可变的,如...原创 2020-02-19 20:16:12 · 1157 阅读 · 0 评论 -
Python3元组详解
目录元组和列表的异同元组的创建访问元组:修改元组删除元组元组运算符元组索引、截取元组内置函数len(tuple) #计算元组元素个数max(tuple) #返回元组中元素最大值min(tuple) #返回元组中元素最小值tuple(iterable) #将可迭代系列转换为元组关于元组是不可变的元组的遍历...原创 2020-02-16 21:29:55 · 2750 阅读 · 0 评论 -
Python操作RabbitMq详解
目录一、简介:二、VirtualHost三、RabbitMq的应用场景四、RabbitM去中的Connection和Channel五、RabbitMq生产者消费者模型六、RabbitMq持久化七、RabbitMq发布与订阅一、简介:RabbitMq是实现了高级消息队列协议(AMQP)的开源消息代理中间件。消息队列是一种应用程序对应用程序的通行方式,应用程序通过写消息,将消息传递与队列,由另一应...原创 2020-02-16 13:57:47 · 2875 阅读 · 0 评论 -
Python数据类型之列表详解
目录Python3 列表定义访问列表中的值更新列表删除列表元素Python列表脚本操作符Python列表截取与拼接嵌套列表Python列表函数&方法Python列表函数Python列表方法Python3 列表定义序列是Python中最基本的数据结构,序列中的每个元素都分配一个数字,也就是它的位置,或称为索引,第一个索引是0,第二个索引是1,以此类推。Python有6个序列的内置类型,...原创 2020-02-15 18:23:49 · 801 阅读 · 0 评论 -
Rabbitmq报错:TypeError: basic_consume() got multiple values for argument 'queue'
TypeError: basic_consume() got multiple values for argument 'queue’解决办法我们在使用rabbitmq进行高效部署分布式消息队列的时候,有时候会遇到上面的情况,我一开始是怎么写的:self.mq_channel.basic_consume(self.task_callback, ...原创 2020-02-15 11:22:11 · 1466 阅读 · 0 评论 -
Rabbitmq报错pika.exceptions.IncompatibleProtocolError: StreamLostError: ('Transport indicated EOF',)
rabbitmq 报错 pika.exceptions.IncompatibleProtocolError: StreamLostError: (‘Transport indicated EOF’,)解决办法产生此报错的原因是我将port写成了15672port = 15672rabbitmq需要通过端口5672连接 - 而不是15672.更改端口,转发,一切正常port = 5672...原创 2020-02-14 23:04:01 · 10157 阅读 · 0 评论 -
修改了css文件后,不法获取到修改后的样式解决办法
我们在设计一些前端页面的时候,常常可能会遇到遇到关于css样式应用不上的时候,这个时候该怎么排查呢,下面我给大家介绍一下:首先,先试一下清理浏览器缓存和重启浏览器,很多时候都是浏览器缓存搞得鬼,清理一下就可以应用样式了。如果上面的方法还是不能的话,请看下面的分析:下面会给大家介绍每一种错误,再次请大家先试一下清理浏览器的缓存,很多时候你并没有错,就是浏览换错的问题常见错误解决办法未关联外...原创 2020-02-11 17:32:41 · 775 阅读 · 0 评论 -
Python 装饰器详解
Python 装饰器详解原创 2020-02-10 21:15:20 · 712 阅读 · 0 评论 -
django提交表单,控制器报错:An invalid form control with name='content' is not focusable.
关于 django提交表单,控制器报错:An invalid form control with name=‘content’ is not focusable.的解决办法 我们在写django表单的时候,根据需求可能会隐藏textarea,如果需要前端页面需要用户填写其他信息时,弹出textarea,不需要填写其他信息时则不需要弹出textarea,但是,textarea时必填字段,如果不填...原创 2020-02-10 16:40:35 · 1123 阅读 · 0 评论 -
python反射详解
Python 反射详解原创 2020-02-08 19:15:08 · 785 阅读 · 0 评论 -
Djang前端页面找不到css,js文件错误解决
Djang前端页面找不到css,js文件错误解决在编写django的过程中,如果在你的urls.py中这样写urlurl(r'^1/$',views.a),返回的html页面可以找到css,js文件但是,你如果这样写url的话url(r'^a/1/$',views.a),在前端页面就会不显示css,js样式使用F12查看,有如下错误提示:2127.0.0.1/:1 Refused...原创 2020-02-07 12:13:06 · 1090 阅读 · 0 评论 -
Django多数据库连接配置以及使用
Django多数据库连接配置在django项目中, 一个工程中存在多个APP应用很常见. 有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。下面给大家详细步骤修改项目的setting配置:假设我们使用三个数据库,一个默认,一个app01,一个app02DATABASES = { 'default': { 'ENGINE': 'django.db.bac...原创 2020-02-02 20:11:35 · 975 阅读 · 0 评论 -
Python编写二叉树遍历
二叉树树的特征和定义 树是一种重要的非线性数据结构,直观来看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很像自然界中的树那样,树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示,树在计算机领域中也得到广泛应用,如在编译源程序时,可用树表示源程序的语法结构,有如在数据库系统中,树型结构也是信息的重要组织形式之一,一切具有层次关系的问题都可用树来描述。...原创 2020-01-30 22:25:28 · 533 阅读 · 0 评论 -
Python基础排序算法之快速排序
快速排序算法步骤:在数列之中,选择一个元素作为”基准”(pivot),或者叫比较值。数列中所有元素都和这个基准值进行比较,如果比基准值小就移到基准值的左边,如果比基准值大就移到基准值的右边以基准值左右两边的子列作为新数列,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。算法分析:稳定性:快排是一种不稳定排序,比如基准值的前后都存在与基准值相同的元素,那么相同值就会被放在一边,这...原创 2020-01-30 20:11:10 · 617 阅读 · 0 评论 -
Python基础排序算法之插入排序
插入排序插入排序(Insertion Sort)的基本思想是:将列表分为2部分,左边为排序好的部分,右边为未排序的部分,循环整个列表,每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。...原创 2020-01-30 17:32:33 · 543 阅读 · 0 评论 -
Python基础排序算法之选择排序
选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 ...原创 2020-01-30 14:52:14 · 592 阅读 · 0 评论 -
Python作用域问题详解
Python作用域问题定义:在Python程序中创建、改变、查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域。Python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定。作用域的产生:只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用...原创 2020-01-30 12:18:46 · 1134 阅读 · 0 评论 -
Python常用算法之时间复杂度
1. 时间复杂度计算方法:1.一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 2.计算方法 1. ...原创 2020-01-29 23:23:17 · 3242 阅读 · 0 评论 -
Python常用算法之冒泡排序
冒泡排序分析:冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。算法稳定性:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两...原创 2020-01-29 23:22:27 · 474 阅读 · 0 评论 -
Python自定义函数使用场景
Python自定义函数使用场景匿名函数有个限制,就是只能有一个表达式,不用谢return,返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突,此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数。有下函数在代码中只用一次,而且函数体比较简单,使用匿名函数可以减少代码量。匿名函数使用场景map函数map()函数接收两个参数...原创 2020-01-25 23:28:53 · 646 阅读 · 0 评论 -
Python模块详解
模块 通过模块(module)能够有逻辑地组织Python代码块,把相关代码分配到一个模块里能让代码更好用,更易懂,简单地说,模块就是一个保存了Python代码的文件,在模块里能定义函数、类、和变量。 在Python中,模块和C语言中的头文件以及Java中的包类似,例如在Python中调用sqrt()函数,必须要用import关键字引入math这个模块。导入某个模块在Python中用...原创 2020-01-25 17:50:05 · 614 阅读 · 0 评论 -
Python基础之函数详解
当某些任务(例如求一个数的阶乘)需要在一个程序中的不同位置重复执行时,会造成代码的重复率高,应用程序代码繁琐,解决这个问题的方法就是使用函数,无论是在哪门编程语言中,函数(在类中称为方法,意义是相同的)都扮演着至关重要的角色,模块是python的代码组织单元,它将函数,类,和数据封装起来以便重用,模块往往对应python的程序文件,Python标准库和第三方提供了大量的模块。1.0 函数的定...原创 2020-01-25 17:01:08 · 509 阅读 · 0 评论 -
Python基础题练习之斐波那契数列
斐波那契数列程序分析:题目:兔子问题:“假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一年后共有多少对兔子?”分析:分析:第一个月兔子没有繁殖能力,所以还是一对;两个月后生下一对兔子,共有两对;三个月后,老兔子生下一对,小兔子还没有繁殖能力,所以一共是三对,以此类推1 1 2 3 5 8 13 …程...原创 2020-01-19 18:45:43 · 1264 阅读 · 0 评论