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

python 数据描述符的使用(附带装饰器)

什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一

系统 2019-09-27 17:47:51 1803

Python

Python实现动态添加类的属性或成员函数的解决方法

某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi

系统 2019-09-27 17:47:25 1803

Python

Python NumPy库安装使用笔记

1.NumPy安装使用pip包管理工具进行安装复制代码代码如下:$sudopipinstallnumpy使用pip包管理工具安装ipython(交互式shell工具)复制代码代码如下:$sudopipinstlalipython$ipython--pylab#pylab模式下,会自动导入SciPy,NumPy,Matplotlib模块2.NumPy基础2.1.NumPy数组对象具体解释可以看每一行代码后的解释和输出复制代码代码如下:In[1]:a=aran

系统 2019-09-27 17:47:23 1803

Python

Python contextlib模块使用示例

看这个模块要先看withas的用法,最常用的方法就是打开一个文件:复制代码代码如下:withopen(“filename”)asf:f.read()with可以调用一个上下文管理器,产生运行时的上下文环境。上下文管理器主要定义两个方法,__enter__,__exit__。__enter__返回上下文里操作的对象,如f。__exit__是销毁对象和异常处理。contextlib模块对外有三个接口,contextmanager装饰器,装饰的函数必须是一个生成

系统 2019-09-27 17:47:16 1803

Python

Python程序中的线程操作-线程队列

目录一、线程队列二、先进先出三、后进先出四、存储数据时可设置优先级的队列4.1优先级队列4.2更多方法说明一、线程队列queue队列:使用importqueue,用法与进程Queue一样queueisespeciallyusefulinthreadedprogrammingwheninformationmustbeexchangedsafelybetweenmultiplethreads.二、先进先出classqueue.Queue(maxsize=0)i

系统 2019-09-27 17:47:05 1803

Python

Python3快速入门(九)——Python3并发编程

Python3快速入门(九)——Python3并发编程一、Python线程模块1、线程简介一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有系统资源,与进程内的其它线程共享进程的所有资源。一个进程中至少有一个线程,并作为程序的入口,即主线程,其它线程称为工作线程。多线程,是指从软件或者硬件上实现多个线程并发执行的技术。支持多线程能力的计算机因有硬件支持而能够在同一时

系统 2019-09-27 17:46:47 1803

Python

Atom Python 配置Python3 解释器的方法

环境MacPython3.6.4Atom背景Atom执行PythonCode使用ScriptPackage,执行快捷键cmd+i。但是默认是执行Mac系统的2.7版本的Python。配置cmd+,(cmd+逗号)快捷键打开Settings,或者点击Atom→Preferences打开Settings点击OpenConfigFolder(会打开Atom的Project)打开.atom/packages/script/lib/grammars/python.c

系统 2019-09-27 17:46:08 1803

Python

“学了半年后,我要揭开Python 3宗罪!”

有人曾说,未来只有2种人,会Python的人和....不懂Python的小学生,虽有夸张,这也意味着Python越来越重要了,究竟这门语言厉害在哪里?以下为你总结了Python3宗“罪”!Python凭啥这么优秀?作为一个计算机初级爱好者,据笔者这些年敲过的代码所反馈(是的,我的代码是有灵魂的),他们还是比较喜欢Python,因为Python干净利索,简单直接。Python代码简洁易懂,同样的内容按照代码量计算,C++:Java:Python=1000:1

系统 2019-09-27 17:46:04 1803

Python

一行Python代码过滤标点符号等特殊字符

很多时候我们需要过滤掉标点符号等特殊字符,网上虽然有一堆的方法,但是都没有找到一个非常满意的,有些过滤不了中文的标点符号,有些过滤不了英文的标点符号,有些过滤不全。最后通过查看正则表达式文档,发现一个高效的办法,一行代码就能搞定:defreplace_all_blank(value):"""去除value中的所有非字母内容,包括标点符号、空格、换行、下划线等:paramvalue:需要处理的内容:return:返回处理后的内容"""#\W表示匹配非数字字母

系统 2019-09-27 17:46:03 1803

Python

Python paramiko模块(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作安装paramiko模块pip3installparamiko基于用户密码方式importparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.c

系统 2019-09-27 17:45:58 1803