感觉这种理解有问题,举个例子来说。classDog(object):name='dog'definit(self):self.age=18d1=Dog()d2=Dog()这里有两个实例d1,d2吧。d1.name#输出dogd2.name#输出dogd1.name='abc'd1.name#输出abcd2.name#输出dogDog.name#输出dog原因是d1.name输出dog不是因为这个实例共享了类属性,而是因为这个实例没有dog属性,所以pyth
系统 2019-09-27 17:51:12 1969
今天我们讲一下用Python写的GUI小程序。一个小闹钟(只是屏幕提示,没有声音哦)让我们先介绍这个闹钟如何奇葩。需要通过命令行启动。没有标题栏。没菜单。甚至没有关闭按钮。没有运行界面。看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢。显然,教育意义大于其实际用处。像其他的模块一样,QT界面包是需要加载的。我们用到了命令行输入,所以,sys模块也是必须的。用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块。让我们先写impor
系统 2019-09-27 17:50:44 1969
[TOC]一、队列queue队列:使用importqueue,用法与进程Queue一样实际上这里就是Python解释器中的一种数据结构中的类型——队列这里直接使用队列也可以。如果还要类似计数器的功能可以加上task_done和joinFIFO先进先出LIFO后进先出优先级队列二、先进先出(FIFO)classqueue.Queue(maxsize=0)###普通队列q=queue.Queue()###没有计数器进行阻塞FIFOq.put("first")q
系统 2019-09-27 17:49:51 1969
简单的说,Python是一个“优雅”、“明确”、“简单”的编程语言。学习曲线低,非专业人士也能上手开源系统,拥有强大的生态圈解释型语言,完美的平台可移植性支持面向对象和函数式编程能够通过调用C/C++代码扩展功能代码规范程度高,可读性强目前几个比较流行的领域,Python都有用武之地。云基础设施-Python/Java/GoDevOps-Python/Shell/Ruby/Go网络爬虫-Python/PHP/C++数据分析挖掘-Python/R/Scala
系统 2019-09-27 17:49:25 1969
Django里面集成了SQLite的数据库,对于初期研究来说,可以用这个学习。第一步,创建数据库就涉及到建表等一系列的工作,在此之前,要先在cmd执行一个命令:pythonmanage.pymigrate这个命令就看成一个打包安装的命令,它会根据mysite/settings.py的配置安装一系列必要的数据库表第二步,我们要建立一个Model层,修改demo/model.py:fromdjango.dbimportmodelsclassQuestion(m
系统 2019-09-27 17:49:15 1969
1.模块(Module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编
系统 2019-09-27 17:49:11 1969
王者荣耀这么久了,还没上王者?哈哈哈,看过来,是不是对英雄理解的不够透彻呢,是不是还没有很好的为英雄分类呢,今天就来看看英雄分类技术栈一、EM聚类简介二、爬取网上的英雄初始属性值三、做成饼图EM聚类简介EM英文名是ExpectationMaximization,也叫最大期望算法。在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVari
系统 2019-09-27 17:48:38 1969
1.何时使用线程池系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能;尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。线程池在系统启动时即创建大量空闲的线程,程序只要将一个函数提交给线程池,线程池就会启动一个空闲的线程来执行它。当该函数执行结束后,该线程并不会死亡,而是再次返回到线程池中变成空闲状态,等待执行下一个函数。使用线程池可以有效地控制系统中并发线程的数量。当系统中包含有
系统 2019-09-27 17:48:26 1969
继PLPY4月榜单官宣,Python躺赢,再度“夺”冠,实力甩下Java和C后,近期,StackOverflow发布了2019开发者调查报告,也证实了王者陨落这一事实。那么,2019年大环境下,程序员群体正在发生哪些变化?收入究竟如何?这份报告邀请超147个国家、9万名开发者参与调查,内容涉及开发者基本情况、技术、工作、社区、方法论多个维度。以下为和正在敲代码的你息息相关的结论。2019年Python趋势分析:https://edu.csdn.net/to
系统 2019-09-27 17:48:16 1969
直接交换2个数字的位置Python提供了一种直观的方式在一行代码中赋值和交换(变量值)。如下所示:x,y=10,20print(x,y)x,y=y,xprint(x,y)#1(10,20)#2(20,10)在上面代码中,赋值的右侧形成了一个新元组,而左侧则立刻将该(未被引用的)元组解包到名称和。待赋值完成后,新元组就变成了未被引用状态,并且被标为可被垃圾回收,最终也就发生了数字交换。链接比较操作符比较运算符的聚合是另一种有时用起来很顺手的技巧。n=10re
系统 2019-09-27 17:46:28 1969