游戏下个大版本的其中一个内容是对一个系统进行操作简化:几个界面的操作整合在一个界面,操作步骤简化等。我是负责该系统的逻辑流程代码编写。原以为只是UI那边的大改,但回看逻辑模块的旧代码时,发现和UI交互部分过度耦合,独立性过低,很多地方UI那边改了逻辑这边也跟着改。UI的界面整合,导致逻辑也要大改,叫苦不迭。由此,一个深刻的教训:不要过度依赖自己控制之外的东西。例如:在引用外部的模块或接口时,如果用到的地方超过两处,则在自己模块编写一个接口,给自己模块调用,
系统 2019-08-12 01:33:13 2101
用url_for构造URL,他接受函数名作为第一个参数,也接受对应URL规则的变量部分的命名参数,未知的变量部分会添加到URL末尾作为查询参数。构建URL而不选择直接在代码中拼URL的原因有两点:1)在未来有更改的时候只需要一次性修改URL,而不用到处替换;2)URL构建会转义特殊字符和Unicode数据,这些工作不需要我们自己处理。下面是个例子:fromflaskimportFlask,url_forapp=Flask(__name__)@app.rou
系统 2019-09-27 17:57:18 2100
1.函数用途含义Pythonstartswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定值,则在指定范围内检查。2.用法Str.startswith(str,beg=0,end=len(string));Str是需要匹配的字符串str是待检测子字符串beg默认为0表示从第一个字符开始匹配end表示终止匹配的位置3.实例#!/usr/bin/pythonstr="thisisstri
系统 2019-09-27 17:56:41 2100
这次主要记录在windows下嵌入python解释器的过程,程序没有多少,主要是头文件与库文件的提取。程序平台:windows1064bit、Qt5.5.1MSVC201332bit、python3.7.432bit在ubuntu和windows下使用C/C++嵌入Python是有些不同的,ubuntu下可以使用对应命令来获取python配置信息,windows下直接链接对应库文件与头文件即可。通过对python解释器的嵌入,我们可以自己做一个python
系统 2019-09-27 17:56:27 2100
os模块中关于文件/目录常用的函数使用方法函数名使用方法getcwd()返回当前工作目录chdir(path)改变工作目录listdir(path=’.’)列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)mkdir(path)创建单层目录,如该目录已存在抛出异常makedirs(path)递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突remove(path)删除文件rmdir(path)删除单
系统 2019-09-27 17:56:19 2100
操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在。那么进程之间怎么进行通信?他们之间的关联是怎样的?实现原理是什么?本文就来借助Python简单的聊一下进程之间的通信?还是那句话,原理是相同的,希望能透过具体的例子来体会一下本质的东西。下面尽量以简单的方式介绍一下每一类通信方式,具体的细节可以参照文档使用;1.管道先来看一下最简单、古老的一种IPC:管道。通常指的是无名管
系统 2019-09-27 17:55:17 2100
前言有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom。我们要使用一下现成的函数里面的参数nrows,和skiprows,一个代表你要读几行,一个代表你从哪开始读,这就可以了,比如从第3行读取4个示例代码importpandasaspddf=pd.DataFrame({'a':[1,2,3,4,5
系统 2019-09-27 17:54:21 2100
image花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现
系统 2019-09-27 17:54:18 2100
#将字符串中的元素完成特定的向右移动,参数:字符串、移动长度如:abcdef,移动2,结果:efabcd#原始方法,基本思想:末尾元素移动到开头,其他的元素依次向后移动.代码如下:defmove(lt,n):lt=list(lt)#将字符串转换为列表foriinrange(n%len(lt)):#确定移动几次,比如说移动从长度和列表的长度相同时,就没必要移动t=lt[len(lt)-1]#取出末尾元素forjinreversed(range(len(lt)
系统 2019-09-27 17:54:05 2100
最近编写的自动化脚本,数据部分使用到了从配置文件中取,即自定义config.ini,但是在读取配置文件的时候却报错了'gbk'codeccan'tdecodebyte0xb0inposition30。错误信息的意思是gbk'编解码无法解码字节0xb0。开始我以为是配置文件中出现了中文字符,可检查后发现并没有。在网上查了相关资料后,无果。于是请教了其他同事,经过十几分钟的检查和验证,原来我在创建congfi.ini文件时,默认保存的编码类型是UTF-8。于是
系统 2019-09-27 17:52:28 2100