一、枚举与字典类型字典类型的缺点:1.值可变2.没有防止相同标签的功能枚举的特点:1.枚举类的值不可以被外界更改2.不能存在相同的标签,但允许不同标签存在相同的枚举值,即后者相当于前者的别名3.枚举值可以是任意类型4.枚举标签尽量用大写fromenumimportEnum#普通类classdict():green=1green=2red=3dict.red=4print(dict.red)>>>4classVIP(Enum):RED=1GREEN=2YEL
系统 2019-09-27 17:45:52 1863
SQLite是一个小型的关系型数据库,它最大的特点在于不需要单独的服务、零配置。我们在之前讲过的两个数据库,不管是MySQL还是MongoDB,都需要我们安装。安装之后,然后运行起来,其实这就相当于已经有一个相应的服务在跑着。SQLite与前面所说的两个数据库不同。首先Python已经将相应的驱动模块作为了标准库的一部分,只要是你安装了Python,就可以使用;再者它可以类似于操作文件那样来操作SQLite数据库文件。还有一点,SQLite源代码不受版权限
系统 2019-09-27 17:45:49 1863
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1.装饰器入门1.1.需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。复制代码代码如下:deffoo():print'infoo()'foo()这是一个很无聊
系统 2019-09-27 17:45:33 1863
最近写的代码中写了很多函数,都是按步骤调用的,想看代码执行到第几个函数了,但又不想在每个函数中打印来表示执行到哪了,这时候就想用进度条来显示了,看网上没有我这种思路来实现的,自己来写个importtimeimporttqdmdefwork1():time.sleep(1)defwork2():time.sleep(1)defwork3():time.sleep(1)defwork4():time.sleep(1)defwork5():time.sleep(
系统 2019-09-27 17:45:25 1863
测了一下django、flask、bottle、tornado框架本身最简单的性能。对django的性能完全无语了。django、flask、bottle均使用gunicorn+gevent启动,单进程,并且关闭DEBUG,请求均只返回一个字符串ok。tornado直接自己启动,其他内容一致。测试软件为siege,测试os为cenos664位,测试命令为:复制代码代码如下:siege-c100-r100-bhttp://127.0.0.1:5000/dja
系统 2019-09-27 17:38:25 1863
想必很多初次接触python都会见到这样一个语句,if__name__=="__main__":那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是:1.python文件的后缀为.py;2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能
系统 2019-09-27 17:38:10 1863
前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模块。今天写了个工具,目的是把csv中的数据插入到数据库中去。其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入。然后通过百度查找发现,其实MySQLdb库,自带了事务处理的功能,pymysql库也是一样。conn=MySQLdb.conne
系统 2019-09-27 17:38:06 1863
单继承时super()和__init__()实现的功能是类似的classBase(object):def__init__(self):print'Basecreate'classchildA(Base):def__init__(self):print'creatA',Base.__init__(self)classchildB(Base):def__init__(self):print'creatB',super(childB,self).__init__
系统 2019-09-27 17:37:52 1863
实例一:题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列(只要百不等于十位并且不等于个位)。实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,5):#百位forjinrange(1,5):#十位forkinrange(1,5):#个位if(i!=k
系统 2019-09-27 17:37:41 1863
亲爱的学弟:首先做一下自我介绍,我并不能算是一个资深的程序员,也不能算是一个成功的程序员,我的老师曾经和我说过一个程序员要知道自己的能力,我想我对于java的了解大概也就40%吧,但是我想这并不妨碍我介绍我的学习经验我曾经怀着一颗赤诚的心来学习这门语言,那年我24,创业失败的我,把这当成了唯一的退路,因为我的女朋友要和我结婚,没工作的话肯定是不可以的,我已经过了可以挥霍青春的年龄了,长大的我也懂事了,于是就有了下面的正文------------------
系统 2019-08-29 23:46:43 1863