Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。例如让我们看看Djangoweb框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象:defhandle_request(request):returnHttpResponse("Hello,World")我最近遇到一个案例,需要编写几个满足下述条件的api方法:返回json响应如果是GET请求,那么返回错误码做为一个注
系统 2019-09-27 17:52:01 1871
基础元素学习一门编程语言的时候,我最先考虑的事情就是如何操作值,值(value)在程序组可以是一个数字1,2,3,4,字符'hello,word'.我们使用变量来保存这些值。又把变量保存的值成为对象,计算机会给变量的对象和变量分配内存空间。python使用的内存分配方式成为引用语义或者对象语义,而像c语言使用的时值语义。接下来具体说明一下这两种语义的区别。值语义:所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。
系统 2019-09-27 17:51:31 1871
1准备工作1.1环境搭建1.1.1安装python3.6python安装官网1.1.2安装django2.2pipinstalldjango(==2.2.0)//不加版本默认安装最新版1.1.3安装pycharm(社区版,官网下载安装即可)在安装完成后要配置好需要的第三方库:(pip下载,推荐在pycharm下也配置虚拟环境)Django2.2连接mysql需要的库:PyMySQL,mysql,mysqlclinet验证码用到的库:django-simpl
系统 2019-09-27 17:51:19 1871
Python数据类型详解——字符串一、定义字符串是一个有序的字符集合,用于存储和表示基本的文本信息,用''、""、''''''中间包含的内容称之为字符串创建:s='Helloworld!'二、特性按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序。可以进行切片操作不可变,字符串是不可变的,不能想列表一样修改其中某个元素,所有对字符串的修改操作都是相当与生成一份新的数据。字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有的字符均取消特
系统 2019-09-27 17:51:12 1871
最近刚好有朋友遇到个global相关的问题,这里简单学习一下global关键字的用法。想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念。global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例一、变量作用域的说明这里简单提一下变量作用域的概念,有兴趣的小伙伴,可以查一下相关的博客1、局部变量defa():##菊部变量-,-local=1print(local)##全局无法使用,只有自己可用print(lob
系统 2019-09-27 17:51:01 1871
本文实例为大家分享了Python实现代码统计工具的具体代码,供大家参考,具体内容如下思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加.实现的功能:统计每个文件的行数;统计总行数;支持指定统计文件类型,排除不想统计的文件类型;排除空行;排除注释行importosimportsysimportos.path#foriinsys.argv:#print(i)#判断单个文件的代码行数defcount_file_lines(file_path):
系统 2019-09-27 17:50:58 1871
mongodb是基于分布式文件存储的nosql(非关系型)数据库虽说是nosqldb,butmongodb其中的文档可以是关系型的在mongodb中,表为集合,里面的数据为文档;文档本质就是一条调JSON数据进入mongodb:mongo退出mongodb:exit库操作显示库:showdbs选择或者创建:usellsdb#不管该库是否存在,都会use进入,如何该库不存在,use进去不存入数据退出时,该库不会被创建.所以创建库就use再写入数据.查看所在库
系统 2019-09-27 17:50:39 1871
通过纯Python完成股票回测框架的搭建。什么是回测框架?Python资源共享群:484031800无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。代码地址在最后。本项目并不是一个已完善的项目,还在不断的完善。回测框架回测框
系统 2019-09-27 17:50:31 1871
Linux下安装Python3.6和第三方库如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!!不要动现有的python2环境!一、安装python3.61.安装依赖环境#yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develg
系统 2019-09-27 17:50:22 1871
让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新,而您运行进程时,希望使用最新的程序逻辑。有许多方法可以满足刚提到的要求;本文将向您说明其中几种方法。随着“可爱的Python”专栏不断进行,已经讨论了我的公共域实用程序Txt2Html的正在进行的增强。该实用程序将“智能ASCII”文本文件转换成HTML。以前的文章讨论了实用程序的Web代理版本和实用程序的curses界面。同样,我偶
系统 2019-09-27 17:50:18 1871
在学习飞机大战(我也不知道为什么都拿这个练手),飞机左右控制都是按键按一次移动一次,不能按住一个键后持续移动,离开后停止移动。为了解决这个,查看了参考手册,说让用pygame.key.set_repeat()方法,奈何我刚开始学也看不太明白,只能看懂一些。并且看别人的代码也比较费劲,毕竟不是自己的逻辑,得看一会儿,最后还是自己想了一个办法,用flag标签:大体思路是这样的,比如向左持续移动,先在hero定一个属性标签设置布尔值为False,然后定义移动方法
系统 2019-09-27 17:50:11 1871
Python数据类型详解——集合一、定义集合跟列表有点像,也是可以存一堆数据的,不过它有几个独特的特点:1、集合里的元素不可变,即不能再集合里存储列表(list)、字典(dict)。字符串、数字、元组等不可变类型可以存储再集合中。2、天生去重,即在集合里不会出现重复元素,就算你故意写入重复元素,集合也会自动去掉重复的,只保留一个。3、无序,集合中的元素没有先后之分。二、语法1、创建集合a={2,321,'Kwan',1,'小明','Kwan',321}2、
系统 2019-09-27 17:50:08 1871
一、ConfigParser简介ConfigParser是用来读取配置文件的包。配置文件的格式如下:中括号“[]”内包含的为section。section下面为类似于key-value的配置内容。复制代码代码如下:[db]db_host=127.0.0.1db_port=22db_user=rootdb_pass=rootroot[concurrent]thread=10processor=20中括号“[]”内包含的为section。紧接着section为
系统 2019-09-27 17:50:05 1871
前几天,我们Python猫交流学习群里的M同学提了个问题。这个问题挺有意思,经初次讨论,我们认为它无解。然而,我认为它很有价值,应该继续思考怎么解决,所以就在私密的知识星球上记录了下来。万万没想到的是,在第二天,有两位同学接连给出了解决方法!由此,群内出现了一轮热烈的技术交流。本文将相关的内容要点作了梳理,并由此引申到更进一步的学习话题,希望对你有所帮助。1、如何动态生成变量名?M同学的问题如下:打扰一下大家,请教一个问题,已知list=['A','B',
系统 2019-09-27 17:49:37 1871
作业一:需求:写函数,计算传入字符串中的【数字】、【字母】、【空格】以及【其他】的个数1#!/usr/bin/envpython2#-*-coding:utf-8-*-34#先定义一个函数5deffunc(args):6#定义一个计算数字的变量7digit_num=08#定义一个计算字母的变量9al_num=010#定义一个计算空格的变量11spance_num=012#定义一个计算其他的变量13other_num=01415foriinargs:16if
系统 2019-09-27 17:49:36 1871