- 军军小站|张军博客
搜索到与相关的文章
Python

6.Python装饰器

1.开放封闭原则​什么是开放封闭原则?有的同学问开放,封闭这是两个反义词这还能组成一个原则么?这不前后矛盾么?其实不矛盾。开放封闭原则是分情况讨论的。​我们的软件一旦上线之后(比如你的软件主要是多个函数组成的),那么这个软件对功能的扩展应该是开放的,比如你的游戏一直在迭代更新,推出新的玩法,新功能。但是对于源代码的修改是封闭的。你就拿函数举例,如果你的游戏源代码中有一个函数是闪躲的功能,那么你这个函数肯定是被多个地方调用的,比如对方扔雷,对方开枪,对方用刀

系统 2019-09-27 17:45:53 1779

Python

Python深入学习之特殊方法与多范式

Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式、声明式等,我们暂不深入)。Python的多范式依赖于Python对象中的特殊方法(specialmethod)。特殊方法名的前后各有两个下划线。特殊方法又被成为魔法方法(magicmethod),定义了许多Python语法和表达方式,正如我们在下面的例子中将要看到的。

系统 2019-09-27 17:45:48 1779

Python

构建Python包的五个简单准则简介

创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一

系统 2019-09-27 17:45:42 1779

Python

python购物车

python文件部分:user={'username':None}shopping_trolley={}shopping_num=[0]money=[0]my_money=[0]#获取商品列表defget_goods_list():withopen('shopping.txt',encoding='utf-8')asfr:shopping_dic=eval(fr.read())returnshopping_dicshopping_dic=get_goods

系统 2019-09-27 17:45:36 1779

Python

Python中实现三目运算的方法

C语言中三目运算符复制代码代码如下:expression?expr1:expr2;//expression为真则取表达式expr1的值,否则取expr2的值python三目实现方法:(1)expr=判断表达式andexpr1orexpr2判断表达式为真,此时如果expr1为真则expr=expr1,为假则变成Falseorexpr2,expr=expr2.判断表达式为假,则演变成Falseorexpr2,此时expr=expr2.只要表达式expr1,ex

系统 2019-09-27 17:45:34 1779

Python

Python编程实现tail-n查看日志文件的方法

1、函数实现#-*-coding:utf-8-*-deftail(filename,n=10):withopen(filename,"r")asf:lines=f.readlines()[-n:]return"".join(lines)2、测试文件poetry.txt为了方便验证,每行之前加上行号数字1.虞美人・宜州见梅作2.3.宋代:黄庭坚4.5.天涯也有江南信。6.梅破知春近。7.夜阑风细得香迟。8.不道晓来开遍、向南枝。9.10.玉台弄粉花应妒。11

系统 2019-09-27 17:45:33 1779

Python

Python环境下安装使用异步任务队列包Celery的基础教程

1.简介celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调度支持也很好。celery用于生产系统每天处理数以百万计的任务。celery是用Python编写的,但该协议可以在任何语言实现。它也可以与其他语言通过webhooks实现。建议的消息代理RabbitMQ的,但提供有限支持Redis,Beanstalk,MongoDB,CouchDB,,和数据库(使用SQLAlchemy的或Django的ORM)。celer

系统 2019-09-27 17:38:47 1779

Python

总结Python图形用户界面和游戏开发知识点

基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,事实上,开发GUI应用并不是

系统 2019-09-27 17:38:20 1779

Python

在Python的Tornado框架中实现简单的在线代理的教程

实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能做的tornadoweb官网的镜像。最近,我在开发一个移动运用(以下简称APP)的后台程序(Server),该运用需要调用到另一平台产品(Platform)的API。对于这个系统来说,可选的一种实现方式方式是APP同时跟Server&Platform两者交互;另一种则在Server端封装掉Platform的API,AP

系统 2019-09-27 17:38:17 1779

Python

python dict.get()和dict['key']的区别详解

先看代码:In[1]:a={'name':'wang'}In[2]:a.get('age')In[3]:a['age']---------------------------------------------------------------------------KeyErrorTraceback(mostrecentcalllast)in()---->1a['age']KeyError:'age'In[4]:a.get('age',10)Out[4

系统 2019-09-27 17:38:06 1779