假设有如下代码:for i in range(10):if i == 5:print‘found it! i = %s‘ % i else:print‘not found it ...‘ 你期望的结果是,当找到5时打印出:found it! i = 5 实际上打印出来的结果为:found it! i = 5 not found it ... 显然这不是我们期望的结果。根据官方文档说法:>When the items are exhausted (which is immediately when the sequence is empty), the suite in the else clause, if present, is executed, and the ...
python 中exception,class 学习instroduction:Object2 = Object1 ( like java)if Object1 is class object , then copy by reference;if Object1 is basic type, then copy by value1. exception主要结构:try:exception ValueError:exception ZeroDivisionError:exception NameError:exception TypeError:exception:finally:2. custom exceptionclass Error(Exception): passdef MyError(Error): def __init__(self,value): pri...
strptime()方法分析表示根据格式的时间字符串。返回值是一个struct_time所返回gmtime()或localtime()。格式参数使用相同的指令使用strftime();它默认为“%a %b %d %H:%M:%S %Y”相匹配的ctime()所返回的格式。如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueError被挂起。 语法以下是strptime()方法的语法: time.strptime(string[, format])参数 string -- 这是其中将根据给定的格式解析字符串格式的时间...
1、表示乘号2、表示倍数例如:print("a"*3)输出:a a a3、单个 *参数1)、如:*parameter是用来接受任意多个参数并将其放在一个元组中。def demo(*p): print(p)demo(1,2,3)out:(1,2,3)(2)、函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加 * (解包)例:a = [1,2,3]def demo(a): print(a)demo(a)out:[1,2,3]demo(*a)out:1 2 34、两个 ** 如: **parameter用于接收类似于关键参...
转载:[http://helpserver.chiwudaili.com/detail.aspx?id=abc09aa1b3ee43dccc576fec0b211cf2#CTest.py##########################################class CTest:def init(self, name, sex):self.Name = nameself.Sex = sexself.__Age = 1def SetAge(self,age):self.__Age = agedef Dump(self):print("Name:{0}\r\nSex:{1}\r\nAge:{2}\r\n".format(self.__Name,self.__Sex,self.__Age))###########################################m...
在很多Python代码中,在代码的最下方会看到 if __name__ == ‘__main__‘:,这段代码到底有什么用呢?在理解这个语句的作用前,需要知道的是,一般的Python文件后缀为.py,其可以拿来执行,也可以用来作为模块使用import导入。当Python解析器读取一个源文件时它会执行所有的代码。在执行代码前会定义一些特殊的变量。如果解析器运行的模块(源文件)作为主程序,它将会把__name__变量设置成”__main__”。如果只是引入其他的模块,__...
在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str()或者 repr() 。>>> a = 10 >>> type(str(a)) <class‘str‘> >>> type(repr(a)) <class‘str‘> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的。先看一个例子。>>> print(str(‘123‘)) 123 >>> print(str(123)) 123 >>> print(repr(‘123‘)) ...
1. 定义: zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。 若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。2. 常见用法:A. 使用zip()函数来可以把列表合并,并创建一个元组对的列表 需要注意的是:在python 3.0中zip()是可迭代对象...
Python中method的参数传递详解 function就是可以通过名字可以调用的一段代码,我们可以传参数进去,得到返回值。所有的参数都是明确的传递过去的。method是function与对象的结合。我们调用一个方法的时候,有些参数是隐含的传递过去的。下文会详细介绍。instancemethod In [5]: class Human(object): ...: def __init__(self, weight): ...: self.weight = weight ...: def get_weight(self): ...: return ...
目的:熟练使用不同的容器或函数操作字符串,这里只介绍常用的方法。环境:windows 7 python 3.5.3 或 ubuntu 16.04 python 3.5.2情景:初学python接触最多的数据应该就是字符串了,处理最多的也是,熟练一些函数和方法,可以更有效率的完成想要的操作,这里只介绍处理字符串常用的一些方法。字符串的存储:这里的储存是更直白的说明,专业的应该是指向吧(指向确实更合理),如果不方便理解所以就暂时理解为储存吧,需要专业解释...
strip() replace() re.sub() 1.replace()是python的内置函数,字符类型.replace(old,new)s1="你好2017"s1.replace("2017","2018")2. strip()删除指定字符,然只删除位于首位的字符。如果首位有空格,就无法删除这些字符了,不带任何参数时删除空白符(包括‘\n‘, ‘\r‘, ‘\t‘, ‘ ‘),但是只能删除开头和结尾的,不能删除字符串中间的s1=" OGHD KHNN \n \r \t"s1.strip() s1.strip("NN").strip()这个函数还...
1.首先,对被操作对象分类,对于不可变对象而言,如字符串、数字、tuple等,这三种操作是等价的,都是引用import copya=‘apple‘b=ac=copy.copy(a)d=copy.deepcopy(a)print(id(a))print(id(b))print(id(c))print(id(d) 输出:1840734496184073449618407344961840734496可见,这四个变量都指向同一块内存地址,即‘apple‘这个字符串所在的地址2.对可变对象(或者叫做容器对象),如[],{},类实例等,赋值依然是引用;浅拷贝则会新生...
1.super被引入的初衷 super()通常是被说成super函数,其实它是一个内置的类,是在Python2.2中新增加的,super()实例化一个super对象,这个super对象充当一个访问代理的角色,它帮助子类的对象访问父类,祖父类以及所有祖先类中被方法(尤其是访问那些被子类重写的方法)。 在super类没有出现以前,如果要在子类方法中去调用父类的方法,必须显式的使用父类的类名,用一种非绑定的方式去调用。如下例子(所有例子程...
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(Generator)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发 StopIteration。任何这类的对象在Python中都可以用for循环或...
删除列表中 a = [11, 22, 33, 22, 22, 44, 55, 77, 88, 99, 11] 的 77,88,99 这3个数输出为:[11, 22, 33, 22, 22, 44, 55, 88, 11]其中 88 没有删除掉,为什么?for 循环遍历列表a的时候,虽然条件的 列表里面的值,实际是从 索引0 开始遍历列表,当 i=77,也就是索引为 7的时候,执行了 a.remove(77),执行完之后,列表为 a = [11, 22, 33, 22, 22, 44, 55, 88, 99, 11], 此时,88到了索引 7的位置,然后下一次遍历,就是索引为8 ...