python基础
官方内置函数文档地址:https://docs.python.org/2/library/functions.html#abs
#coding=utf-8 # 单行注释,即使是在注释中使用中文,也必须在文件开头声明字符编码,否则会报错; '''多行注释1''' """ 多行注释2 """ # 多行字符串 strMulti1 = '''pikaqiu''' strMulti2 = """ piqiu """ print strMulti1,strMulti2 # 格式化输出 %s 字符串 %d 整形 %f 浮点数 %x 十六进制数 print '%s进化后,是%s' % ('皮丘','皮卡丘') # 数据类型:list和tuple # 区别 list里的值可以更改,tuple里的值是不能更改的,list的下标是从0开始的 pikaqiuFamilyList = ['皮丘','皮卡丘','雷丘'] #变长动态list需要用函数append(params) pikaqiuFamilyMultiList = ['皮丘','皮卡丘','雷丘',['皮小丘']] print pikaqiuFamilyList,pikaqiuFamilyMultiList piakqiuFamilyTuple = ('皮丘','皮卡丘','雷丘') #当tuple里的某个元素是list里,因tuple里对应的元素保存的是list的引用,因此,该tuple里的list的值是可以改变的 print piakqiuFamilyTuple #流程控制示例 num = 2; if num > 1: print 1 print 2 print 3 print 4 else: print 6 print 5 print 7 #输出结果为1,2,3,4,7 names = ['piqiu','pikaqiu','leiqiu'] for name in names: print name sum = 0 n = 100 while n > 0: sum += n n -= 2 print sum # dict和set,dict类似关联数组,set和dict的唯一区别仅在于没有存储对应的value pikaqiuDict = {'piqiu':'皮丘','pikaqiu':'皮卡丘'} pikaqiuDict['leiqiu'] = '雷丘' print pikaqiuDict # set是一组不能重复的key,set中如果有重复key,则会被自动过滤掉,set可以进行交集,并集操作 pikaqiuSet1 = set(['皮丘','皮卡丘','雷丘']) pikaqiuSet2 = set(['皮小丘','皮丘']) print pikaqiuSet1 & pikaqiuSet2 # 数据类型转换函数示例:int(),float(),str(),unicode(),bool()
函数、特性、类
# 自定义函数,返回多个返回值 def pikaqiu(param='pixiaoqiu'): if param == 'pikaqiu': return 'pikaqiu','piqiu' else: return 'leiqiu','pikaqiu' pockemon1, pockemon2 = pikaqiu('pikaqiu') print pockemon1,pockemon2 # 占位符pass定义空函数 def pikaqiuNone(): pass # 特性------切片 pikaqiuList = ['piqiu','pikaqiu','leiqiu'] newPikaqiuList = pikaqiuList[1:3] print newPikaqiuList # 特性------迭代 pikaqiuList = ['piqiu','pikaqiu','leiqiu'] for key,value in enumerate(pikaqiuList): print key,value #高阶函数map和reduce def numAdd(num): num += 1 return num addMap = map(numAdd,[1,2,3,4]) print addMap #[2, 3, 4, 5] def numAddReduce(numX,numY): return numX + numY addReduce = reduce(numAddReduce,[1,2,3,4]) print addReduce #10 #filter过滤掉不符合条件的元素 def isOdd(num): return num % 2 == 1 numList = [1,2,3,4,5] newNumList = filter(isOdd,numList) print newNumList #[1, 3, 5] # 类的定义与实例化 class Pikaqiu(object): __leiqiu = 'leiqiu' #私有变量private def __init__(self): pass def piqiuPrint(self): print 'piqiu' pikaqiu = Pikaqiu() pikaqiu.piqiuPrint() # type和isinstance # type主要用于获取未知变量的类型,isinstance主要用于判断A类是否继承于B类 class father(object): pass class son(father): pass if __name__ == '__main__': print type(son())==father #False print isinstance(son(),father) #True print type(son()) # <class '__main__.son'> print type(son) #<type 'type'>
字符串操作
# 去空格及特殊符号 s = " pikaqi u, " #s = s.lstrip() #去除左空格 #s = s.rstrip() #去除右空格 s = s.strip() #去除左右空格 s = s.replace(' ', '') #去除中间空格 print s # pikaqiu # 字符串查找 # < 0 为未找到,index()用法同find(),但index没找到字符串时,会抛出异常 # rfind和rindex方法用法和上面一样,只是从字符串的末尾开始查找 sStr1 = 'strchr' sStr2 = 'l' nPos = sStr1.find(sStr2) print nPos #- 1 # 连接字符串 sStr1 = 'pika' sStr2 = 'qiu' sStr1 += sStr2 print sStr1 # pikaqiu #另一种连续方式 delimiter = ',' mylist = ['Brazil', 'Russia', 'India', 'China'] print delimiter.join(mylist) # 字符串比较 sStr1 = 'pikaqiu' sStr2 = 'piqiu' print cmp(sStr1,sStr2) # 相同返回0,不同返回-1 # 输出字符串长度 sStr1 = 'pikaqiu' print len(sStr1) #7 #将字符串中的大小写转换 sStr1 = 'PikaQiu' #sStr1 = sStr1.upper() sStr1 = sStr1.lower() print sStr1 # pikaqiu # 追加指定长度的字符串 sStr1 = 'pikaqiu' sStr2 = '12345' n = 5 sStr1 += sStr2[2:n] print sStr1 # pikaqiu345 # 翻转字符串 sStr1 = 'pikaqiu' sStr1 = sStr1[::-1] print sStr1 # uiqakip # 分割字符串 sStr1 = 'piqiu,pikaqiu,leiqiu' sStr2 = ',' sStr1 = sStr1[sStr1.find(sStr2) + 1:] print sStr1 # pikaqiu,leiqiu #或者 s = 'piqiu,pikaqiu,leiqiu' print(s.split(',')) # ['piqiu', 'pikaqiu', 'leiqiu'] # php中addslashes的实现 def addslashes(s): d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"} return ''.join(d.get(c, c) for c in s) s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0" print s # John 'Johny' Doe (a.k.a. "Super Joe")\ print addslashes(s) # John \'Johny\' Doe (a.k.a. \"Super Joe\")\\\ #截取字符串 str = '0123456789' print str[0:3] # 012 截取第一位到第三位的字符 print str[:] # 0123456789 截取字符串的全部字符 print str[6:] # 6789 截取第七个字符到结尾 print str[:-3] # 0123456 截取从头开始到倒数第三个字符之前 print str[2] # 2 截取第三个字符 print str[-1] # 9 截取倒数第一个字符 print str[::-1] # 9876543210 创造一个与原字符串顺序相反的字符串 print str[-3:-1] # 78 截取倒数第三位与倒数第一位之前的字符 print str[-3:] # 789 截取倒数第三位到结尾 print str[:-5:-3] # 96 逆序截取
dict常用操作
1、增加key-value;通过dict_stu[key_new]={value_new}; 通过dict_stu.update(dict_new); 2、修改某个key对应的value;通过dict_stu[key_modify]={values_new} 3、查找某个key对应的value;通过dict_stu[key_find]; 通过dict_stu.get(key_find); 通过dict_stu.setdefault(key_find,"defualt value"); 3.1、返回字典中所有的值;通过dict_stu.values() 4、删除某个key对应的value;通过del dict_stu[key_del]; 通过dict_stu.pop(key_del); 5、复制一个字典:通过dict_stu.copy() 6、判断字典key是否在字典中:通过key in dict_stu; 通过key not in dict_stu 7、计算字典的长度:通过len(dict_stu) 8、创建一个(不)含默认值的字典:dict.fromkeys(key_list,values) 9、删除整个字典:通过del dict_stu; 通过dict_stu.clear(
1