Python学习之路——字符处理(一)
一、整数:
例如:1、10、30
整数可以做以下操作:
bit_length函数:返回该整数占用的最少位数: >>> x=100 >>> x.bit_length() 7 位数值: >>> bin(100) '0b1100100 __abs__函数:返回绝对值: __abs__<==> abs() x= -100 y= 90 print("__abs__(x):", x.__abs__()) print("__abs__(y):", y.__abs__()) print("abs(x):", abs(x)) print("abs(y):", abs(y)) 以上实例运行后反回结果结果为: __abs__(x): 100 __abs__(y): 90 abs(x): 100 abs(y): 90 __and__函数:两值相加: x.__add__(y) <==> x+y x = 70 y = 90 print("__add__(x add y):", x.__add__(y)) print("+(x+ y):", x+y) 以上实例运行后反回结果结果为: __add__(xadd y): 160 +(x+ y): 160 __cmp__函数:比较两数大小: 在python2.X中: x.__cmp__(y) <==> cmp(x,y) x = 70 y = 90 print("__cmp__(x cmp y):", x.__cmp__(y)) print("cmp(x,y):", cmp(x,y)) 以上实例运行后反回结果结果为: ('__cmp__(x cmp y):', -1) ('cmp(x,y):', -1) 在python3.X中此函数已经取消,改成如下方法: x = 70 y = 90 print ('(x > y) - (x < y):',(x > y) - (x < y)) 以上实例运行后反回结果结果为: (x > y) - (x < y): -1 __divmod__函数:两数相除,得到商和余数组成的元组: x.__divmod__(y) <==> divmod(x, y) x = 7 y = 3 print('__divmod__:', x.__divmod__(y)) print ('divmod:', divmod(x,y)) print ('divmod:', type(divmod(x,y))) 以上实例运行后反回结果结果为: __divmod__: (2, 1) divmod: (2, 1) divmod: <class 'tuple'> __div__函数:两数相除: x.__div__(y) <==> x/y x = 7 y = 3 print(x.__div__(y)) print(x/y) 以上实例在python2.x运行后反回结果结果为: x.__div__(y):2 x/y: 2 在python3.x中只能使用x/y运行后反回结果结果为: x/y: 2.3333333333333335 __float__函数: 转换为浮点类型 x.__float__() <==> float(x) x = 7 print('x.__float__():',x.__float__()) print('float(x):',float(x)) 以上实例运行后反回结果结果为: x.__float__(): 7.0 float(x): 7.0 __floordiv__函数:取两个数的商: x.__floordiv__(y) <==> x//y x = 7 y = 3 print('x.__floordiv__(y):',x.__floordiv__(y)) print('x//y:',x//y) 以上实例运行后反回结果结果为: x.__floordiv__(y): 2 x//y: 2 __int__()函数:转换为整数 x.__int__() <==> int(x) x = "7" print(type(x)) print(type(x.__int__())) print(type(int(x))) 以上实例在python2.x运行后反回结果结果为: <type'str'> <type 'int'> <type'int'> 在python3.x此函数会报错可以使init(): x = "7" print(type(x)) print(type(int(x))) 以上实例运行后反回结果结果为: <class 'str'> <class 'int'> __mod__()函数:取两值相除余数: x.__mod__(y) <==> x%y x = 7 y = 3 print('x.__mod__(y):',x.__mod__(y)) print('x%y:',x%y) 以上实例运行后反回结果结果为: x.__mod__(y): 1 x%y: 1 __neg__()函数:取反值: x = -7 y = 3 print('(x.__neg__():', x.__neg__()) print('(y.__neg__():', y.__neg__()) 以上实例运行后反回结果结果为: (x.__neg__(): 7 (y.__neg__(): -3 __sub__()函数:两数相减: x = 7 y = 3 print('(x.__sub__(y):', x.__sub__(y)) print('x-y:', x-y) 以上实例运行后反回结果结果为: (x.__sub__(y): 4 x-y: 4 __str__()函数:将整型转成字符串: x = 8 print(type(x)) print('(x.__str__():', type(x.__str__())) print('str(x)', type(str(x))) 以上实例运行后反回结果结果为: <class 'int'> (x.__str__(): <class 'str'> str(x) <class 'str'>
二、字符串:
例如:'python'、'name'等:
字符串可以做以下操作:
capitalize()函数:首字母大写: x = "python" print(x.capitalize()) 以上实例输出结果: Python center()函数:使字符居中: x = "python" print(x.center(30, '#')) 以上实例输出结果: ############python############ count() 函数:计算某字符在字符串中出现的次数: x = "this is string example....wow!!!" print(x.count('i')) #字符i在整个字符串中出现的次数。 print(x.count('i', 4, 40)) #字符i在第4个字符与第40字符中出现的次数。 以上实例输出结果: 3 2 endswith()函数:判断是否以某字符结尾: x = "this is string example....wow" print(x.endswith("w")) #判断是否以w结尾。 print(x.endswith("w", 4, 6)) #判断4到6字符之间是否以w结尾。 以上实例输出结果: True False expandtabs()函数:将tab转成空格: x = "this is\tstring example....wow." print(x) print(x.expandtabs()) print(x.expandtabs(20)) py 以上实例输出结果: this is string example....wow. this is string example....wow. this is string example....wow. find()函数:寻找字符列位置,如果没找到,返回 -1: x = "this is string example....wow." print(x.find("i")) print(x.find("w")) print(x.find("q")) 以上实例输出结果: 2 26 -1 index()函数:寻找字符列位置,如果没找到,报错: x = "this is string example....wow." print(x.index("i")) print(x.index("q")) 以上实例输出结果: Traceback (most recent call last): 2 print(x.index("q")) ValueError: substring not found isalnum()函数:判断字符串是否是字母和数字: x = "this is string example....wow." y = "this2016" print(x.isalnum()) print(y.isalnum()) 以上实例输出结果: False True isalpha函数:判断字符串是否全是字母: x = "this is string example....wow." y = "this2016" z = "python" print(x.isalpha()) print(y.isalpha()) print(z.isalpha()) 以上实例输出结果: False False True isdigit()函数:判断字符串是否全是数字: x = "this is string example....wow." y = "this2016" z = "2000" print(x.isdigit()) print(y.isdigit()) print(z.isdigit()) 以上实例输出结果: False False True islower()函数:判断是否全是小写: x = "this is string example....wow." y = "This 2016" print(x.islower()) print(y.islower()) 以上实例输出结果: True False isspace()函数:判断是否全是由空格组成: x = "this is string example....wow." y = " " print(x.isspace()) print(y.isspace()) 以上实例输出结果: False True istitle()函数:检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。 x = "this is string example....wow." y = "This Is String" print(x.istitle()) print(y.istitle()) 以上实例输出结果: False True isupper()函数:检测字符串中所有的字母是否都为大写 x = "This is string example....wow." y = "THIS IS" print(x.isupper()) print(y.isupper()) 以上实例输出结果: False True join()函数:将列元组中的元素以指定的字符连接生成一个新的字符串: x = "-" y = ("a", "b", "c") print(x.join( y )) 以上实例输出结果: a-b-c ljust()函数:字符串左对齐: x = "This is string example....wow." print(x.ljust(50, '*')) 以上实例输出结果: This is string example....wow.******************* rjust()函数:字符串右对齐: x = "This is string example....wow." y = "THIS IS" print(x.rjust(50, '*')) 以上实例输出结果: *******************This is string example....wow. lower()函数:将大写字符转小写: x = "THIS IS book" print(x.lower()) 以上实例输出结果: this is book strip()函数:删除两端空格: x = " This is string example....wow. " print(x.strip()) 以上实例输出结果: This is string example....wow. lstrip()函数:删除左则空格: x = " This is string example....wow. " print(x.lstrip()) 以上实例输出结果: This is string example....wow. rstrip()函数:删除右则空格: x = " This is string example....wow. " print(x.rstrip()) 以上实例输出结果: This is string example....wow. partition()函数:根据指定的分隔符将字符串进行分割: x = "This is string example....wow." print(x.partition("g")) 以上实例输出结果: ('This is strin', 'g', ' example....wow.') replace()函数:把字符串中的旧字符串,替换成新字符串,如果指定第三个参数max,则替换不超过 max 次。 x = "This is string example....wow." print(x.replace("s", "w")) print(x.replace("s", "w",2)) 以上实例输出结果: Thiw iw wtring example....wow. Thiw iw string example....wow. split()函数:指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 x = "This is string example....wow." print(x.split('s')) print(x.split('s', 1)) 以上实例输出结果: ['Thi', ' i', ' ', 'tring example....wow.'] ['Thi', ' is string example....wow.'] splitlines()函数:根据换行来分割: x = "This \n is \n string example....wow." print(x.splitlines()) 以上实例输出结果: ['This ', ' is ', ' string example....wow.'] swapcase()函数:小写转大写,大写转小写: x = "This Is String example....wow." print(x.swapcase()) 以上实例输出结果: tHIS iS sTRING EXAMPLE....WOW.
三、列表:
例如:['name','age','address']、[10,15,20]
列表可以做以下操作:
append()函数:在列表末尾添加新的对象: x = ['name', 'age', 'address', '10000'] x.append('number') print(x) 以上实例输出结果:: ['name', 'age', 'address', '10000', 'number'] count()函数:统计某元素在列表里出现次数: x = ['name', 'age', 'address', '10000', 'name'] print(x.count('name')) print(x.count('age')) 以上实例输出结果:: 2 1 extend()函数:在一个已经存在的列表末尾添加新的列表: x = ['name', 'age', 'address', '10000', 'name'] y = ['pig', 'cat', '123'] x.extend(y) print(x) 以上实例输出结果:: ['name', 'age', 'address', '10000', 'name', 'pig', 'cat', '123'] index()函数:查找某个值在列表中第一次出现的索引位置: x = ['name', 'age', 'address', '10000', 'name'] print(x.index("age")) print(x.index('10000')) 以上实例输出结果:: 1 3 insert()函数:将指定对象插入到指定位置: x = ['name', 'age', 'address', '10000', 'name'] x.insert(2, "cat") print(x) 以上实例输出结果:: ['name', 'age', 'cat', 'address', '10000', 'name'] pop()函数:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,也可以指定移除指定的索引什所在的元素: x = ['name', 'age', 'address', '10000', 'name'] print(x.pop()) print(x) print(x.pop(2)) print(x) 以上实例输出结果:: name ['name', 'age', 'address', '10000'] address ['name', 'age', '10000','name'] remove() 函数:用于移除列表中某个值的第一个匹配项: x = ['name', 'age', 'address', '10000', 'name'] x.remove('name') print(x) 以上实例输出结果:: ['age', 'address', '10000', 'name'] reverse() 函数:用于反向排序列表中元素: x = ['name', 'age', 'address', '10000', 'name'] x.reverse() print(x) 以上实例输出结果:: ['name', '10000', 'address', 'age', 'name'] sort() 函数:用于对原列表进行排序: x = ['name', 'age', 'address', '10000', 'name'] x.sort() print(x) 以上实例输出结果:: ['10000', 'address', 'age', 'name', 'name']
四、元组:
例如:('name','big','cat')、(10,15,20)
元组可以做以下操作:
count()函数:统计指定元素出现次数: x = ('name', 'age', 'address', '10000', 'name') print(x.count("name")) 以上实例输出结果:: 2 index()函数:检索元素的索引值: x = ('name', 'age', 'address', '10000', 'name') print(x.index("age")) 以上实例输出结果:: 1
注:元组的元素不能改变,但是元组内元素的元素可以改变。
五、字典:
例如:{'name': 'Earl', 'age': 26} 、{'ip': '1.1.1.1', 'port': 80]}
clear()函数:清除字典内的元素: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} dic.clear() print(dic) 以上实例输出结果:: {} get()函数:返回指定键的值,如果值不在字典中返回默认值: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.get('name', 'phone')) print(dic.get('age', 'phone')) print(dic.get('number', 'phone')) 以上实例输出结果:: Eral 26 phone has_key()函数:如果给定的键在字典可用,has_key()方法返回true,否则返回false: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.has_key("name")) 以上实例输出结果: true 注:此函数只在python2.x是有,在python3.x使用in函数,如下: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} if "age" in dic: print("OK") 以上实例输出结果:: OK items() 函数:以列表返回可遍历的(键, 值) 元组数组: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.items()) for k, y in dic.items(): print("key:", k) print("value:", y) 以上实例输出结果:: dict_items([('age', '26'), ('address', 'jilin'), ('name', 'Eral')]) key: age value: 26 key: address value: jilin key: name value: Eral keys()函数:以列表返回一个字典所有的键 dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.keys()) 以上实例输出结果:: dict_keys(['address', 'name', 'age']) pop()函数:删除指定给定键所对应的值,返回这个值并从字典中把它移除: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.pop('age')) print(dic) 以上实例输出结果:: 26 {'address': 'jilin', 'name': 'Eral'} popitem()函数:随机返回并删除字典中的一对键和值: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.popitem()) print(dic) 以上实例输出结果:: ('name', 'Eral') {'age': '26', 'address': 'jilin'} 注:由于字典是无序的所以是随机删除。 setdefault() 函数:此函数和get()方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值: dic = {'name': 'Eral', 'age': '26', 'address': 'jilin'} print(dic.setdefault('name', 'none')) print(dic.setdefault('number', 'none')) print(dic) 以上实例输出结果:: Eral none {'number': 'none', 'age': '26', 'name': 'Eral', 'address': 'jilin'} update() 函数:把另一个字典的键/值对更新到dict里: dic = {'name': 'Eral', 'age': '26'} dic2 = {'address': 'jilin'} dic.update(dic2) print(dic) 以上实例输出结果:: {'name': 'Eral', 'age': '26', 'address': 'jilin'} values() 函数:是以列表返回字典中的所有值。 dic = {'name': 'Eral', 'age': '26'} print(dic.values()) 以上实例输出结果:: dict_values(['Eral', 'jilin', '26'])