编程技术 - 军军小站|张军博客
Python

python中多个装饰器的调用顺序详解

前言一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器。多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则)。原代码执行结果装饰顺序:就近原则被装饰的函数,组装装饰器时,是从下往上装饰执行顺序:就远原则装饰器调用时是从上往下调用为了更好的理解,找到这段话:被装饰的函数是一个妹子,装饰器是衣服。“办事情”的时候得依次把外套、衬衣、内衣脱掉,事情办完了还要依次把内衣、衬衣、外套穿上。距离“妹子”越近的装饰器代

系统 2019-09-27 17:51:26 1879

Python

python实现关键词提取的示例讲解

新人小菜鸟又来写博客啦!!!没人表示不开心~~(>_<)~~今天我来弄一个简单的关键词提取的代码文章内容关键词的提取分为三大步:(1)分词(2)去停用词(3)关键词提取分词方法有很多,我这里就选择常用的结巴jieba分词;去停用词,我用了一个停用词表。具体代码如下:importjiebaimportjieba.analyse#第一步:分词,这里使用结巴分词全模式text='''新闻,也叫消息,是指报纸、电台、电视台、互联网经常使用的记录社会、传播信息、反映

系统 2019-09-27 17:51:23 1879

Python

Python基础之运算符

算数运算符:+#加:两个对象相加-#减:得到负数或是一个数减去另一个数*#乘:两个数相乘或是返回一个被重复若干次的字符串/#除:x/y,x除以y%#取模:返回除法的余数**#幂:x**y,返回x的y次幂//#取整除:返回商的整数部分(向下取整)比较运算符:==#判断两个对象是否相等!=#判断两个对象是否不相等<>#判断两个对象是否不相等,py2可用,py3不可用<#判断是否小于<=#判断是否小于等于>#判断是否大于>=#判断是否大于等于逻辑运算符:与and

系统 2019-09-27 17:51:05 1879

Python

python实现代码统计器

本文实例为大家分享了python中的代码行数统计,供大家参考,具体内容如下思路:统计文件中代码的总行数减去空行单行注释以及多行注释功能:1.获取文件内容的总行数2.排除空行单行注释多行注释defcode_statistics(path):##打开这个文件withopen(path,'r',encoding='utf-8')asopenFile:#按列读取fileline=openFile.readlines()#给非代码行一个变量i=0#整个文件里面内容的

系统 2019-09-27 17:51:02 1879

Python

Python有趣的小案例

美国队长的锅emmmmmmmm.......没错就是他的锅#所需依赖:python3pycharm#print打印print('helloworld!')#注释符号#井号后面灰色的内容是注释,相当于笔记,会被机器忽略#变量和值#n是变量,100是值,等号的作用是赋值#n相当于高中数学的xyz,只不过xyz的值只能是数字,变量的功能要更强大n=100m='hello'print(n)print(m)#数据类型,这里只讲两个,剩下的需要同学自己去系统地学习了#

系统 2019-09-27 17:50:55 1879

Python

Python 格式化时间

walker经常用到当前时间和相对时间,用来统计程序执行的效率,简单记一下,便于copy。相对时间>>>importtime#相对时间>>>startTime=time.time()>>>'%.2fs'%(time.time()-startTime)'24.51s'格式化当前时间#格式化当前时间>>>time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())'2016-01-0510:34:06'时间戳与时间的转换

系统 2019-09-27 17:50:52 1879

Python

python中的装饰器详解

在了解装饰器的之前一定要先了解函数作为参数传递,什么是函数内嵌,请参考我之前写的博客函数简介因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是一种特殊函数,它接收的参数是函数对象,然后动态地函数参数添加额外的功能,而不用修改原有的函数对象.python装饰器传入的参数是函数,返回的值也是函数!python装饰器思想有点类似设计模式的装饰模式,其意图是动态地给函数对象添加额外的功能.比如像增加日志打印的功能,有点面向切面

系统 2019-09-27 17:50:12 1879

Python

Python判断字符串是否xx开始或结尾的示例

判断是否xx开始使用startswith示例代码:String="12345上山打老虎"ifstr(String).startswith('1'):#判断String是否以“虎”结尾print("有老虎")else:print("没老虎")执行结果:有老虎判断是否xx结尾使用endswith示例代码1:String="12345上山打老虎"ifstr(String).endswith('虎'):#判断String是否以“虎”结尾print("有老虎")el

系统 2019-09-27 17:48:27 1879

Python

python os模块的使用

文章目录获取当前决定路径os.getcwd()获取路径下的所有文件名和路径名os.listdir()创建文件夹os.makedirs()删除文件夹os.remove()获取文件的绝对路径os.path.abspath("init.py")判断指定路径或者文件是否存在os.path.exists()将文件路径和文件组成一个完成的路径os.ptah.join()获取当前决定路径os.getcwd()paths=os.getcwd()print(paths)#D

系统 2019-09-27 17:48:26 1879

Python

使用Python脚本来获取Cisco设备信息的示例

今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令。下载后主要有3个文件:Systems.py定义了一些不同设备的操作系统及其常见命令。Connectivity.py是主要实现功能的代码,其实主要就是使用了python的pexpect模块。Driver.py是一个示例文件。[root@safetratto-master]#catdriver.py#!/usr/bin/envpythonimportConnectiv

系统 2019-09-27 17:48:20 1879

Python

Python 获取新浪微博的最新公共微博实例分享

API:statuses/public_timeline返回最新的200条公共微博,返回结果非完全实时CODE:#!/usr/bin/python#-*-coding:utf-8-*-'''Createdon2014-7-3@author:guaguastd@name:statuses_public_timeline.py'''defpublic_timeline(weibo_api,count):#public_timeline=weibo_api.st

系统 2019-09-27 17:48:06 1879

Python

让python同时兼容python2和python3的8个技巧分享

python邮件列表里有人发表言论说“python3在10内都无法普及”。在我看来这样的观点有些过于悲观,python3和python2虽然不兼容,但他们之间差别并没很多人想像的那么大。你只需要对自己的代码稍微做些修改就可以很好的同时支持python2和python3的。下面我将简要的介绍一下如何让自己的python代码如何同时支持python2和python3。一、放弃python2.6之前的python版本python2.6之前的python版本缺少一

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

Python

Python实现的tab文件操作类分享

类代码:#-*-coding:gbk-*-importosclassTABFILE:def__init__(self,filename,dest_file=None):self.filename=filenameifnotdest_file:self.dest_file=filenameelse:self.dest_file=dest_fileself.filehandle=Noneself.content=[]self.initflag=Falsesel

系统 2019-09-27 17:47:28 1879

Python

python的类方法和静态方法

本文实例讲述了python的类方法和静态方法。分享给大家供大家参考。具体分析如下:python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?python中实现静态方法和类方法都是依赖于python的修饰器来实现的。复制代码代码如下:classMyClass:defmethod(self):print("method")@staticmethoddefstaticMethod():print("staticme

系统 2019-09-27 17:47:26 1879

Python

Python进行Redis数据迁移

Python进行Redis数据迁移由于开发时的误操作,导致redis数据损坏,所以需要进行redis的数据迁移,网上大佬的教程基本都是需要下载附加工具,亦或是需要一些复杂的操作,个人觉得麻烦还不如写个脚本来的经济实惠。#-*-coding:utf-8-*-fromredisimportStrictRedis"""redis是用于操作Redis的第三方库,StrictRedis是官方推荐的方法,而且Redis是它的子类,Redis能做到的StrictRedi

系统 2019-09-27 17:46:53 1879