Python

6.Python装饰器

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

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

Python

Python判断字符串与大小写转换

判断字符串s.isalnum()#所有字符都是数字或者字母s.isalpha()#所有字符都是字母s.isdigit()#所有字符都是数字s.islower()#所有字符都是小写s.isupper()#所有字符都是大写s.istitle()#所有单词都是首字母大写,像标题s.isspace()#所有字符都是空白字符、\t、\n大小写转换s.upper()#把所有字符中的小写字母转换成大写字母s.lower()#把所有字符中的大写字母转换成小写字母s.cap

系统 2019-09-27 17:45:51 1065

Python

Python的互斥锁与信号量详解

并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein

系统 2019-09-27 17:45:51 1065

Python

Python安装第三方库的3种方法

【方法一】:通过setuptools来安装python模块首先下载http://peak.telecommunity.com/dist/ez_setup.pyNOTE:最好下载个setuptools,本人是15.2版本,里面包含了ez_setup运行pythonez_setup.pyD:\work\installation\setuptools-15.2\setuptools-15.2>pythonez_setup.py>1.txtExtractingin

系统 2019-09-27 17:45:35 1065

Python

详解Python编程中包的概念与管理

Python中的包包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python的应用环境。考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码:#!/usr/bin/python#-*-coding:UTF-8-*-defPots():print"I'mPotsPhone"同样地,我们有另外两个保存了不同函数的文件:Phone/Isdn.py含有函数Isdn()Phone/G3.py含有函数G3()现在,在Ph

系统 2019-09-27 17:38:41 1065

Python

使用python加密自己的密码

有些时候我们不得不在自己的代码里写上密码,为了安全起见,我们可以为自己的密码加密先上段代码,这个代码是转自网上root@ProFtp:/usr/lib/python2.7#morejastmencrypt.py"""jastmeencryptpassword"""defencrypt(key,s):b=bytearray(str(s).encode("gbk"))n=len(b)#求出b的字节数c=bytearray(n*2)j=0foriinrange(

系统 2019-09-27 17:38:35 1065

Python

Python的净值数据接口调用示例分享

代码描述:基于Python的净值数据接口调用代码实例关联数据:净值数据接口地址:https://www.juhe.cn/docs/api/id/25#!/usr/bin/python#-*-coding:utf-8-*-importjson,urllibfromurllibimporturlencode#----------------------------------#净值数据调用示例代码-聚合数据#在线接口文档:http://www.juhe.cn/

系统 2019-09-27 17:38:25 1065

Python

Python实现115网盘自动下载的方法

本文实例讲述了Python实现115网盘自动下载的方法。分享给大家供大家参考。具体实现方法如下:实例中的1.txt,是网页http://bbs.pediy.com/showthread.php?t=144788另存为1.txt通过每3秒钟复制一个下载链接到粘贴板,复制时会自动调用115客户端下载,每下载10个文件会手工输入一个字符,防止一下下载太多,卡死机器具体代码如下:importre,os,timeimportwebbrowserimporturlli

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

Python

浅谈python对象数据的读写权限

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。下面就来总结一下学习后的解决方案。1,使用2个下划线前缀隐藏属性或者方法。__xxx#!/usr/b

系统 2019-09-27 17:38:12 1065

Python

如何在Python中编写并发程序

GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL

系统 2019-09-27 17:37:58 1065

Python

在Python的Django框架中加载模版的方法

为了减少模板加载调用过程及模板本身的冗余代码,Django提供了一种使用方便且功能强大的API,用于从磁盘中加载模板,要使用此模板加载API,首先你必须将模板的保存位置告诉框架。设置的保存文件就是settings.py。如果你是一步步跟随我们学习过来的,马上打开你的settings.py配置文件,找到TEMPLATE_DIRS这项设置吧。它的默认设置是一个空元组(tuple),加上一些自动生成的注释。TEMPLATE_DIRS=(#Putstringshe

系统 2019-09-27 17:37:53 1065

Python

Python解析json文件相关知识学习

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。今天用py

系统 2019-09-27 17:37:51 1065

Python

深入浅析 C++ 调用 Python 模块

一般开发过游戏的都知道Lua和C++可以很好的结合在一起,取长补短,把Lua脚本当成类似动态链接库来使用,很好的利用了脚本开发的灵活性。而作为一门流行的通用型脚本语言Python,也是可以做到的。在一个C++应用程序中,我们可以用一组插件来实现一些具有统一接口的功能,一般插件都是使用动态链接库实现,如果插件的变化比较频繁,我们可以使用Python来代替动态链接库形式的插件(堪称文本形式的动态链接库),这样可以方便地根据需求的变化改写脚本代码,而不是必须重新

系统 2019-09-27 17:37:46 1065

Python

python中json格式数据输出的简单实现方法

主要使用json模块,直接导入importjson即可。小例子如下:#coding=UTF-8importjsoninfo={}info["code"]=1info["id"]=1900info["name"]='张三'info["sex"]='男'list=[info,info,info]data={}data["code"]=1data["id"]=1900data["name"]='张三'data["sex"]='男'data["info"]=inf

系统 2019-09-27 17:37:45 1065

编程技术

GPS ,其实也没啥可好奇。

GPS只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送进来,若要对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。NMEA0183协议是美国国家海洋电子协会(NationaIMarineElectronlcsAssociation)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在分析中,不需要了解NMEA0

系统 2019-08-29 23:46:12 1065