拥有Python标签的文章
Python

Python装饰器实现几类验证功能做法实例

最近新需求来了,要给系统增加几个资源权限。尽量减少代码的改动和程序的复杂程度。所以还是使用装饰器比较科学之前用了一些登录验证的现成装饰器模块。然后仿写一些用户管理部分的权限装饰器。比如下面这种defpermission_required(permission):defdecorator(f):@wraps(f)defdecorated_function(*args,**kwargs):ifnotcurrent_user.can(permission):ab

系统 2019-09-27 17:55:30 2093

Python

python文件操作整理汇总

总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.i

系统 2019-09-27 17:55:05 2093

Python

python3获取当前目录的实现方法

1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得。实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。具体来说,如果你在C:\test目录下执行p

系统 2019-09-27 17:54:47 2093

Python

python_内置成员及方法分类

#内置成员__dict__:获取类/对象的所属成员组成的集合*__doc__:获取类的文档信息*__name__:获取类名称的字符串__module__:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)__bases__:获取当前类的父类列表#方法的分类1.对象方法:该方法中会直接传入当前对象调用方式:对象.成员方法()特征:会将当前对象传入方法中2.类方法:在方法中会直接传入当前类@classmethod:不需要实例化,直接类

系统 2019-09-27 17:54:28 2093

Python

python sort、sorted高级排序技巧

Pythonlist内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。复制代码代码如下:>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如so

系统 2019-09-27 17:54:09 2093

Python

python logging类库使用例子

一、简单使用复制代码代码如下:defTestLogBasic():importlogginglogging.basicConfig(filename='log.txt',filemode='a',level=logging.NOTSET,format='%(asctime)s-%(levelname)s:%(message)s')logging.debug('thisisamessage')logging.info("thisisainfo")loggin

系统 2019-09-27 17:54:02 2093

Python

python-main

基础1、判断变量是否为None主要有三种写法:ifxisNone:ifnotx:ifnotxisNone:2、lambda函数的用法被称作匿名函数,没有具体名称的函数,允许快速定义单行函数,可以用在任何需要函数的地方。lambda与def的区别:def创建方法是有名称的,lambda没有;lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def会把函数对象赋值给一个变量;lambda只是一个表达式,def是一个语句;lambda表达式":"后

系统 2019-09-27 17:53:57 2093

Python

Python学习过程中遇到的疑问以及我的脑洞

一关于局部变量整体变量的理解以及somethingabout不可变对象defChangeInt(a):...a=10...b=2ChangeInt(b)print(b)2这个不可变对象的实例让我产生了疑惑,于是我做了如下:defChangeInt(a):...a=10...a=2ChangeInt(a)print(a)2这个其实很好理解,因为a=10只是个局部变量,也没有return无法对外部造成影响。哪怕我做如下操作:defChangeInt(a):..

系统 2019-09-27 17:53:47 2093

Python

浅谈使用Python变量时要避免的3个错误

Python编程中经常遇到一些莫名其妙的错误,其实这不是语言本身的问题,而是我们忽略了语言本身的一些特性导致的,今天就来看下使用Python变量时导致的3个不可思议的错误,以后在编程中要多多注意。关于Python编程运行时新手易犯错误,这里暂不作介绍,详情参见:Python运行的17个时新手常见错误小结1、可变数据类型作为函数定义中的默认参数这似乎是对的?你写了一个小函数,比如,搜索当前页面上的链接,并可选将其附加到另一个提供的列表中。defsearch_

系统 2019-09-27 17:53:32 2093

Python

你应该使用Python3里的这些新特性

概述由于Python2的官方维护期即将结束,越来越多的Python项目从Python2切换到了Python3。可是,在实际的工作中,我发现好多人都是在用Python2的思维去写Python3的代码,Python3给我们提供了很多新的、很方便的特性,可以帮助我们快速的编写代码。f-strings(3.6+)在Python里面,我们经常使用format函数来格式化字符串,例如:user="JaneDoe"action="buy"log_message='Use

系统 2019-09-27 17:53:30 2093

Python

Python爬虫偷懒神器 —— 一键构造请求头

今天介绍个神奇的网站!堪称爬虫偷懒的神器!我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例,我们的请求头是这样的:一般来说,我们只要添加user-agent就能满足绝大部分需求了,Python代码如下:importrequestsheaders={#'authority':'developer.mozilla.org',#'pragma':'no-cache',#'cache-control':'no-cach

系统 2019-09-27 17:53:21 2093

Python

使用Python truffle 构建完整的智能合约

使用Pythontruffle构建完整的智能合约使用solidity的truffle框架开发智能合约,使用Python调用合约。1.合约编写、编译和部署gitclonehttps://github.com/jamess010/AIonChaincd./AIonChain&&cd./master/smartcontracttruffledevelop(port:9545)compilemigrate(--reset)2.使用python调用安装web3.py

系统 2019-09-27 17:52:56 2093

Python

PythonI/O进阶学习笔记_3.1面向对象编程_python的多态和鸭子类型

前言:与第一篇的面向对象内容不同的是,第一篇中的面向对象更多的是与类、对象结合起来的概念粗浅理解,就是在编程历史中诞生的一种思想方法。这篇的面向对象编程,更多落实到在语言设计实现中,是如何体现面向对象这一设计思想的。本篇内容围绕python基础教程这段:在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法。使用对象而非全局变量和函数的原因有多个,下面列出了使用对象的最重要的好处。多态:可对不同类型的对象执行相同的操作,而

系统 2019-09-27 17:51:39 2093

Python

Python中使用PDB库调试程序

Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前复制代码代码如下:python-mpdbmyscript.py2.在Python交互环境中启用调试复制代码代码如下:>>>importpdb>>>importmymodule>>>pdb.run(‘mymodule.

系统 2019-09-27 17:51:04 2093

Python

Python分割训练集和测试集的方法示例

数据集介绍使用数据集Wine,来自UCI。包括178条样本,13个特征。importpandasaspdimportnumpyasnpdf_wine=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data',header=None)df_wine.columns=['Classlabel','Alcohol','Malicacid','Ash

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