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

python中的装饰器详解

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

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

Python

python异常触发及自定义异常类解析

python程序运行中,可由程序抛出异常。异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。classPoint:def__init__(self,x,y):self.x=xself.y=y#DefineaclasstoraiseLineerrorsclassLineError(Exception):#继承自基类Exceptiondef__init__(self,ErrorInfo)

系统 2019-09-27 17:50:11 1865

Python

Python遍历目录的4种方法实例介绍

1.os.popen运行shell列表命令复制代码代码如下:deftraverseDirByShell(path):forfinos.popen('ls'+path):printf.strip()2.利用glob模块glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.复制代码代码如下:deftraverseDirByGlob(path):path=os.path.expanduser(path)forf

系统 2019-09-27 17:49:59 1865

Python

萌新用Python尝试爬豆瓣top250

这是我在CSDN的第一篇博客,假期刚自学Python,尝试爬取了一下豆瓣top250.希望可以有大佬指点感谢importrequestsfrombs4importBeautifulSoupdefgethtml(url):try:kv={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/59.0.3071.115Safari/

系统 2019-09-27 17:49:53 1865

Python

Python 之父的解析器系列之五:左递归 PEG 语法

原题|Left-recursivePEGgrammars作者|GuidovanRossum(Python之父)译者|豌豆花下猫(“Python猫”公众号作者)声明|本翻译是出于交流学习的目的,基于CCBY-NC-SA4.0授权协议。为便于阅读,内容略有改动。我曾几次提及左递归是一块绊脚石,是时候去解决它了。基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止。【这是我的PEG系列的第5部分。其它文章参见这个目录】假设有如下的语法规则:ex

系统 2019-09-27 17:49:42 1865

Python

(五)如何用 Python 从头开始实现 Bagging 算法

作者:chen_h微信号&QQ:862251340微信公众号:coderpai(一)机器学习中的集成学习入门(二)bagging方法(三)使用Python进行交易的随机森林算法(四)Python中随机森林的实现与解释(五)如何用Python从头开始实现Bagging算法决策树是一种简单而强大的预测建模技术,但它们存在高方差。这意味着在给定不同的训练数据的情况下,树可以得到非常不同的结果。为了使决策树更加健壮并实现更好性能,我们会采用集成学习方法,其中一种是

系统 2019-09-27 17:49:29 1865

Python

Python configparser的使用 读取幸运28平台搭建配置文件

配置文件配置文件[]中为section命名,幸运28平台搭建q<277.03.4.83.6>section的命名可以包含空格,每个section下面以键值对的方式保存配置内容,在读取配置时键值对全部解析为字符串,因此在配置时无需为字符串添加引号settings.conf文件定义[mysqlsettings]host=10.250.218.51port=3306username=adminpassword=admin123coding=utf8[oracle

系统 2019-09-27 17:48:43 1865

Python

用Python遍历C盘dll文件的方法

python的fnmatch还真是省心,相比于java中的FilenameFilter,真是好太多了,你完成不需要去实现什么接口。fnmatch配合os.walk()或者os.listdir(),你能做的事太多了,而且用起来相当easy。#coding:utf-8"""遍历C盘下的所有dll文件"""importosimportfnmatchdefmain():f=open('dll_list.txt','w')forroot,dirs,filesinos

系统 2019-09-27 17:48:05 1865

Python

Ruby对比Python的优势和劣势

Ruby和Python太相似了,取舍大部分都是个人喜好上的原因。比如我就觉得Python的“Thereisonlyonewaytodoit.”比Ruby的“Therearemanywaystodoit.”要好,这不光是考虑团队协作的问题,更重要的是自己能很快明白自己三个月前写的没有任何注释的代码是在干什么。当然也有很多人觉得自由和灵活要比可读性来的重要,所以我说这个是个人喜好的原因。客观上的Ruby比Python的优势我想到的有这么几个:Block应该是语

系统 2019-09-27 17:48:04 1865

Python

python 使用装饰器并记录log的示例代码

1.首先定义一个log文件#-*-coding:utf-8-*-importosimporttimeimportloggingimportsyslog_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")today=time.strftime('%Y%m%d',time.localtime(time.time()))full_path=os.path.join(log_di

系统 2019-09-27 17:47:58 1865

Python

Python -二维数组定义

1.a=[]arrays=[a*3]arrays其实为[[]]2.arrays=[a]*N看上去是创建了二维数组,但是只是创建N个指向a的引用,所以一旦a改变,arrays中N个list也会随之改变eg:a=[]N=3arrays=[a]*3arrays[0].append(1)#看上去只为第一个list添加整数1,实际上---print(arrays)输出为[[1],[1],[1]]3.arrays=[[]foriinrange(N)]eg:N=3arr

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

Python

python的类方法和静态方法

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

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

Python

python_爬虫基础

url组成:协议域名端口(如果url里面没有端口,那么采用默认端口)文件路径文件名参数锚点HTTP:超文本传输协议端口:80工作原理:请求响应模型无连接无状态http请求包含哪些内容请求行(请求方法[get、post]url协议版本)请求头(每个参数以键值对形式存在)空行请求数据(请求参数)请求头参数1、user-agent:请求发起者的身份信息User-Agent:Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKi

系统 2019-09-27 17:46:58 1865

Python

【Python练习圣典】heapq高级应用

1.从集合中取出最大或最小N个元素importheapqnums=[1,8,2,23,7,-4,18,23,42,37,2]print(heapq.nlargest(3,nums))#输出[42,37,23]print(heapq.nsmallest(3,nums))#输出[-4,1,2]也支持其他参数支持更为复杂的数据结构portfolio=[{'name':'IBM','shares':100,'price':91.1},{'name':'AAPL',

系统 2019-09-27 17:46:30 1865

Python

搭建python django虚拟环境完整步骤详解

一、建立虚拟环境pipinstallvirtualenv要使用Django,首先要建立一个虚拟工作环境。我们先为项目建立一个文件夹learn,在文件夹中打开命令行(shift+右击),来建立另一个虚拟环境。如果使用的是python3,可使用如下命令来创建:python-mvenvl_env这里运行模块venv,用它来创建一个名为l_env的虚拟环境,此时learn文件夹中会多出来一个l_env的文件夹。如果上述成功了,则跳转到三、激活虚拟环境,否则跳转二、

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