下标所谓下标就是编号,就好比超市中存储柜的编号,通过这个编号就能找到相应的存储空间。Python中字符串,列表,元祖均支持下标索引。例如:#如果想取出部分字符,可使用下标name="abcd"print(name[0])print(name[1])print(name[2])print(name[3])#输出结果为:#a#b#c#d切片切片是指对操作的对象截取一部分的操作,字符串,列表,元组均支持切片操作。切片的语法:[起始:结束:步长]注意:选取的区间属
系统 2019-09-27 17:46:49 1707
本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下:#-*-coding:cp936-*-#python插入排序definsertSort(a):foriinrange(len(a)-1):#printa,iforjinrange(i+1,len(a)):ifa[i]>a[j]:temp=a[i]a[i]=a[j]a[j]=tempreturna#Python的冒泡排序d
系统 2019-09-27 17:46:45 1707
通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L
系统 2019-09-27 17:46:43 1707
mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时time()。如果输入值不能表示为有效的时间,那么OverflowError或ValueError错误将被引发。Syntax以下是mktime()方法的语法:time.mktime(t)参数t--这是struct_time或满9元组。返回值此方法返回一个浮点数,对于兼容性time()。例子下面的例子显示了mktime()方法的使用。#
系统 2019-09-27 17:46:39 1707
前言进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清。一方面除了工作中可能用的比较少,另一方面就是这些概念牵涉到的东西比较多,而且相对较深。网络编程,服务端编程,并发应用等都会涉及到。其开发和调试过程都不直观。由于同步通信机制的原理都是想通的,本文希通过望借助python实例来将抽象概念具体化。阅读之前可以参考之前的一篇文章:python多线程与多进程及其区别,了解一下线程和进程的创建。python多线程同步pytho
系统 2019-09-27 17:46:39 1707
正则表达式是Python程序设计中非常实用的功能,本文就常用的正则表达式做一汇总,供大家参考之用。具体如下:一、字符串替换1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串result,number=re.subn(regex,newstring,subject)2.替换所有匹配的子串(使用正则表达式对象)reobj=re.compile(regex)result,number=reobj.subn(news
系统 2019-09-27 17:46:38 1707
由于之前有一个项目老是要打开文件,然后用pickle.load(file),再处理。。。最后要关闭文件,所以觉得有点繁琐,代码也不简洁。所以向pythonwithstatement寻求解决方法。在网上看到一篇文章:http://effbot.org/zone/python-with-statement.htm是介绍with的,参考着例子进行了理解。如果经常有这么一些代码段的话,可以用一下几种方法改进:代码段:setthinguptry:dosomethin
系统 2019-09-27 17:46:17 1707
当在python中遍历一个序列时,我们通常采用如下的方法:foriteminsequence:process(item)如果要取到某个item的位置,可以这样写:forindexinrange(len(sequence)):process(sequence[index])另一个比较好的方式是使用python内建的enumerate函数:enumerate(sequence,start=0)上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文
系统 2019-09-27 17:46:14 1707
利用twitter/bootstrap,项目的基础模板算是顺利搞定。接下来开始处理用户中心。用户中心主要包括用户登陆、注册以及头像等个人信息维护。此前,用户的注册管理我一直使用django-registration。只是这个APP有些不思进取,09年发布了0.8alpha版后就一直没什么动静。这次决定尝试另外一个用户模块组件django-userena。相比django-registration,django-userena的功能要完善的多。除基础的登陆注
系统 2019-09-27 17:46:12 1707
一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字
系统 2019-09-27 17:46:11 1707