文章先介绍了关于俄罗斯方块游戏的几个术语。边框――由10*20个空格组成,方块就落在这里面。盒子――组成方块的其中小方块,是组成方块的基本单元。方块――从边框顶掉下的东西,游戏者可以翻转和改变位置。每个方块由4个盒子组成。形状――不同类型的方块。这里形状的名字被叫做T,S,Z,J,L,I,O。如下图所示:模版――用一个列表存放形状被翻转后的所有可能样式。全部存放在变量里,变量名字如S_SHAPE_TEMPLATEorJ_SHAPE_TEMPLATE着陆――
系统 2019-09-27 17:37:44 2073
说明:关于类的这部分,我参考了《LearningPython》一书的讲解。创建类创建类的方法比较简单,如下:复制代码代码如下:classPerson:注意,类的名称一般用大写字母开头,这是惯例。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦。既然大家都是靠右走的,你就别非要在路中间睡觉了。接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。复制代码代码如下:classPerson:def__ini
系统 2019-09-27 17:55:28 2072
Python函数编程——函数简介引子现在老板让你写一个监控程序,24小时全年无休的监控你们公司网站服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码whileTrue:ifcpu利用率>90%:#发送邮件提醒连接邮箱服务器发送邮件关闭连接if硬盘使用空间>90%:#发送邮件提醒连接邮箱服务器发送邮件关闭连接if内存占用>80%:#发送邮件提醒连接邮箱服务器发送邮件关闭连接上面的代码实
系统 2019-09-27 17:55:03 2072
1:找出字符串s="aaabbbccceeefff111144444"中,字符出现次数最多的字符(1)考虑去重,首先将字符串进行过滤去重,这样在根据这些字符进行循环查询时,将会减少循环次数,提升效率。但是本人写的代码较为臃肿,有更好的希望留言评论str='a1fsfs111bbbcccccvvvvvnnnnboooooosssnb'classCountvalue():defcountvalue(self,str1):'''利用set自身的去重功能:para
系统 2019-09-27 17:54:54 2072
#!/usr/bin/python#coding:utf-8importnumpyasnpa=np.array([1,2,3])b=np.array([[1,2,3],[4,5,6],[7,8,9]])#shape是维度,dtype是元素的类型printa.shapeprinta.dtype#使用函数生成等差数列数组x1=np.arange(1,11,2)x2=np.linspace(1,9,5)printx1,x2#求数组中的最大值和最小值printnp
系统 2019-09-27 17:54:45 2072
基本要点:程序中储存的所有数据都是对象(可变对象:值可以修改不可变对象:值不可修改)每个对象都有一个身份、一个类型、一个值例:>>>a1='abc'>>>type(a1)str创建一个字符串对象,其身份是指向它在内存中所处的指针(在内存中的位置)a1就是引用这个具体位置的名称使用type()函数查看其类型其值就是'abc'自定义类型使用class对象的类型用于描述对象的内部表示及其支持的方法和操作创建特定类型的对象,也将该对象称为该类型的实例,实例被创建后
系统 2019-09-27 17:54:28 2072
一:从各种不同的格式文件中导入数据,总结目前最常用的文件格式导入数据的一些方法:#-*-coding:utf-8-*-fromnumpyimport*defloadDataSet(fileName):'''导入数据'''numFeat=len(open(fileName).readline().split('\t'))-1dataMat=[]labelMat=[]fr=open(fileName)forlineinfr.readlines():lineAr
系统 2019-09-27 17:54:24 2072
python使用super()出现错误解决办法当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便记录一下。比如,我写了如下错误代码:classA():defdosomething(self):print"It'sA"classB(A):defdosomething(self):super(B,self).dosomething()if__name__=='__main__':b=B()b.dosomething(
系统 2019-09-27 17:54:02 2072
叨逼叨首先,介绍一下pdb调试,pdb是python的一个内置模块,用于命令行来调试Python代码。或许你会说,现在用Pycharm等编辑器来调试代码很方便,为啥要用命令行呢?这个问题,我曾经也这么想,直到有一次,代码必须要在Linux系统上跑(现在Pycharm也可以远程调试代码了,今天先不说这个)使用介绍如何添加断点?说到debug,肯定是要添加断点的,这里有两种方式添加断点:在想要断点代码后添加一行pdb.set_trace()若是使用这种方式,直
系统 2019-09-27 17:53:53 2072
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:36 2072
在基础知识部分的最后一章《第十三章Python基础篇结束章》的《第13.3节图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNUGeneralPublicLicense的缩写,是GNU通用公共授权非正式的中文翻译),不适合用于商用开发。但P
系统 2019-09-27 17:50:44 2072
第1题:python下多线程的限制以及多进程中传递参数的方式?python多线程有个全局解释器锁(globalinterpreterlock),简称GIL,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython。这个锁的意思是任一时间只能有一个线程运用解释器,跟单cpu跑多个程序一个意思,我们都是轮着用的,这叫“并发”,不是“并行”。为什么会有GIL?多核CPU的出现
系统 2019-09-27 17:50:37 2072
在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦。。于是使用python+openCV调用摄像头,在采集图片的同时顺便处理成想要的格式。详细代码如下:importcv2importosprint("=============================================")print("=热键(请在摄像头的窗口使用):=")print("=
系统 2019-09-27 17:50:14 2072
php调用python服务侃侃:公司用的php的popen以命令的形式调用python,首先说说这样做的缺点。php执行命令行调用python的缺点popen('pythontest.py[参数]','r');缺点一:windows默认的是gbk编码,当php中传utf-8中文参数的时候,python接收到的参数会有问题。当然,这是有解决的办法的,就是windows下转换一下字符的编码,linux不用转换。再来python接收参数的时候肯定也要转换编码了,
系统 2019-09-27 17:50:10 2072
前言大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的if,else循环,当我们学习了更高级的语法知识后,又会有不同的实现方式,比如这道练习题依次接收用户输入的3个数,排序后打印现在我们来看一下在Python中都有哪些方法来实现:1,采用分支结构,用最基本的if和else来实现:a=int(input('a>>>'))b=int(input('b>>>'))c=int(input('c>>>'))ifa>b:if
系统 2019-09-27 17:49:18 2072