在python中的数据类型和控制流这篇文章中我们提到过列表,它是基本的数据类型之一。通俗来说,它就是用来存储一系列数据的。比如存储一个班级的学生。列表中的每个元素可以通过下标(索引)访问,索引从0开始。既然列表存储的是一系列值,这必然存在「增删改查」的情况,就像一个班级的学生,有进入学的,也有退学的。接下来我们来说说,首先我们先从列表的创建开始。创建列表list=[ele1,ele2,elem3,...,elen]比如,创建一个数字列表或英文字符列表num
系统 2019-09-27 17:48:06 2015
简介字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变通常由单引号('),双引号("),三引号('''""")包围其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。便捷的多行注释Python实际三类字符串:1.通常意义字符串(str)2.原始字符串,以大写R或小写r开始,r'',不对特殊字符进行转义3.Unicode字符串,u''basestring子类在Python中,字符串是
系统 2019-09-27 17:48:00 2015
现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2),所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到大家,并希望大家批评指正。importurllib.requestimportreimportosimporturllib#根据给定的网址来获取网页详细信息,得到的html就是网页的源代码defgetHtml(url):page=urllib.request.u
系统 2019-09-27 17:47:54 2015
看这个模块要先看withas的用法,最常用的方法就是打开一个文件:复制代码代码如下:withopen(“filename”)asf:f.read()with可以调用一个上下文管理器,产生运行时的上下文环境。上下文管理器主要定义两个方法,__enter__,__exit__。__enter__返回上下文里操作的对象,如f。__exit__是销毁对象和异常处理。contextlib模块对外有三个接口,contextmanager装饰器,装饰的函数必须是一个生成
系统 2019-09-27 17:47:16 2015
一、python判断文件和文件夹是否存在、创建文件夹复制代码代码如下:>>>importos>>>os.path.exists('d:/assist')True>>>os.path.exists('d:/assist/getTeacherList.py')True>>>os.path.isfile('d:/assist')False>>>os.path.isfile('d:/assist/getTeacherList.py')True>>>os.maked
系统 2019-09-27 17:47:00 2015
本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表无雷,1表雷,-1表已经检测过。本例使用python的tkinter做gui,由于没考虑可用性问题,因此UI比较难看,pygame更有趣更强大更好看,做这些小游戏更合适,感兴趣的读者可以尝试一下!具体的功能代码如下:#-*-coding:utf-8-*-importrandomimportsysfromTkinterimport*classModel:"""核心数据类,维护一个矩阵"""def
系统 2019-09-27 17:47:00 2015
默认dict,代表dict.keys(),而不是dict.items()排序字典,sorted(a.items(),key=lambdakv:kv[-1]),但是返回的是list,[('b',0),('a',1),('c',2)],然后再用dict[]一次,就能得到字典。注意,字典的Key可以不是字符。{0:'0'}dict.update({2:30})。添加字典的元素,两个字典的内容相加,就是用dict_a.updata(dict_b)。删除字典中的某个
系统 2019-09-27 17:46:33 2015
并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein
系统 2019-09-27 17:45:51 2015
文章的主题不要使用可变对象作为函数的默认参数例如list,dict,因为def是一个可执行语句,只有def执行的时候才会计算默认默认参数的值,所以使用默认参数会造成函数执行的时候一直在使用同一个对象,引起bug。基本原理在Python源码中,我们使用def来定义函数或者方法。在其他语言中,类似的东西往往只是一一个语法声明关键字,但def却是一个可执行的指令。Python代码执行的时候先会使用compile将其编译成PyCodeObject.PyCodeOb
系统 2019-09-27 17:45:28 2015
利用python自动生成dockernginx反向代理配置由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker容器创建、停止的时候,自动生成nginx反向代理,然后reloadnginx我的原则是尽量简单,轻量,内存占用少目标很明确,只要能监听到docker的容器启动/停止事件,即可网上查了一下可以用dockerevents来监听d
系统 2019-09-27 17:38:32 2015