您的位置:首页 > 编程语言 > Python开发

【Python】读书笔记,基础函数

2014-01-01 23:19 417 查看
====================================================Python中的基本运算Python除法中若出现浮点数,值则也为浮点数1.0 / 2 = 1 /2.0 =0.5使用 // 会执行整除4 // 3 = 1使用 % 取余(模)8 % 3 = 2幂运算符2 ** 3 = 83 ** 3 = 27幂运算符优先级高于一元运算符-3 ** 2 = -9(-3) ** 2 = 9
=====================================================字符串拼接一般情况下使用加好进行字符串拼接两个相连的字符串会自动进行拼接>>> "zheng""lu"
'zhenglu'
input 和 raw_input 的区别#使用input输入字符串时若不加引号会报错,将input改为raw_input输如什么就会输出什么name = input("What is your name?")
print "Hello " + name + "!"
Python中的长字符串>>> print '''This is
... next line
... next next line'''
This is
next line
next next line
>>> print 3 + \
... + 3\
... +3
9
原始字符串在Python中 \ 可以用于转义,在实际使用中可能出现如下问题print 'C:\not null' 输出 \n 会自动当作换行,这种情况下就要使用 \\ 来进行转义,但是可读性差,处女座绝对接受不了这种情况下可使用以下语句(r和输出语句间没有空格)print r'C:\not null'
列表和元组列表和元组都是序列,区别在于列表可以修改,元组不能修改
索引相当于PHP的索引数组language = ['C', 'Java', 'Python']print language[1]Java~~~~~~~~~~~name = "zhenglu"print name[2]e
切片切片相当于 start <= content < endprint language[1:2]Java~~~~~~~~~~~~~~print name[2:4]en到末尾的索引num = [1,2,3,4,5,6,7,8]num[-3:][6,7,8]num[:3][1,2,3]步长步长是指两个元素之间的间隔,为切片的第三个值,正数表示正序,负数为逆序>>> num = [1, 2, 3, 4, 5, 6, 7, 8]>>> num[1:6:2][2, 4, 6]>>> num[1::3][2, 5, 8]>>> num[::3][1, 4, 7]>>> num[::-2][8, 6, 4, 2]序列的相加>>> ["zheng"]+["lu"]['zheng', 'lu']乘法>>> "zhenglu" * 5'zhengluzhengluzhengluzhengluzhenglu'>>> ['lu'] * 5['lu', 'lu', 'lu', 'lu', 'lu']查看元素是否在序列当中使用 in 进行操作 返回boolean值,该操作区分大小写language = ['C', 'Java', 'Python']>>> 'C' in languageTrue>>> 'C++' in languageFalsePython中的 长度 最大值 最小值>>> len(name)7>>> len(language)3>>> max(name)'z'>>> max(language)'Python'>>> min(name)'e'>>> min(language)'C'更改元素的值>>> language[0] = "C++">>> language['C++', 'Java', 'Python']删除元素删除之后序列的索引会改变>>> del language[0]>>> language['Java', 'Python']>>> language[0]'Java'>>> num[0, 1, 2, 3, 4, 5, 6, 7, 8]>>> del num[4:7]>>> num[0, 1, 2, 3, 7, 8]切片赋值>>> name = list('canglaoshi')>>> name[4:]['l', 'a', 'o', 's', 'h', 'i']>>> name[4:] = list('jingkong')>>> name['c', 'a', 'n', 'g', 'j', 'i', 'n', 'g', 'k', 'o', 'n', 'g']切片替换>>> num = [0,1,2,3,4,5,6,7,8]>>> num[3:5] = ['Hello','World']>>> num[0, 1, 2, 'Hello', 'World', 5, 6, 7, 8]利用切片进行删除操作>>> num[3:5] = []>>> num[0, 1, 2, 5, 6, 7, 8]append在末尾追加元素>>> language = ['Java', 'Python']>>> language.append('JS')>>> language['Java', 'Python', 'JS']count统计指定元素出现次数>>> av = ['苍井空','泷泽萝拉','小泽玛利亚','苍井空']>>> av.count('苍井空')2>>> av.count('老毕')0extend扩展列表extend和加号的区别在于使用extend是将y列表加入到x中,返回的是x,加号则是将两个列表相加返回一个新的列表>>> x = [2,3,4,5]>>> y = [6,7,8,9]>>> x.extend(y)>>> x[2, 3, 4, 5, 6, 7, 8, 9]>>> y[6, 7, 8, 9]>>> x = [2,3,4,5]>>> y = [6,7,8,9]>>> x + y[2, 3, 4, 5, 6, 7, 8, 9]>>> x[2, 3, 4, 5]>>> y[6, 7, 8, 9]index查看元素第一次出现的索引>>> av = ['苍井空','泷泽萝拉','小泽玛利亚','苍井空']>>> av.index('苍井空')0>>> av.index('小泽玛利亚')2insert实现数据的插入>>> language = ['Java', 'Python', 'JS']>>> language.insert(1, 'PHP')>>> language['Java', 'PHP', 'Python', 'JS']pop删除最后一个元素并返回值>>> subject = language.pop()>>> subject'JS'>>> language['Java', 'PHP', 'Python']remove删除列表中第一个匹配的项>>> language = ['Java', 'PHP', 'Python', 'PHP']>>> language.remove('PHP')>>> language['Java', 'Python', 'PHP']reverse反转列表>>> language.reverse()>>> language['PHP', 'Python', 'Java']sort对列表进行排序>>> language.sort()>>> language['Java', 'PHP', 'Python']关于赋值后排序,直接赋值并排序是赋的一个引用,应使用以下方法进行操作>>> x = [4,3,6,0,5,1]>>> y = x[:]>>> y.sort()>>> x[4, 3, 6, 0, 5, 1]>>> y[0, 1, 3, 4, 5, 6]>>> x = [4,3,6,0,5,1]>>> y = x>>> y.sort()>>> x[0, 1, 3, 4, 5, 6]>>> y[0, 1, 3, 4, 5, 6]元组元组和列表一样,是一种序列,但元组不能进行增删改操作元组的声明,各元素之间使用逗号进行分隔>>> phone = 'iphone','nokia','moto'>>> phone('iphone', 'nokia', 'moto')>>> phone = ('iphone','nokia','moto')>>> phone('iphone', 'nokia', 'moto')空元组>>> test = ()>>> test()只有一个元素的元组>>> only = 'love',>>> only('love',)>>> only = ('love',)>>> only('love',)#错误写法
>>> only = ('love')
>>> only
'love'
元组相关的操作>>> 5 * 'gay''gaygaygaygaygay'>>> 5 * 'gay',('gaygaygaygaygay',)>>> 5 * ('gay')'gaygaygaygaygay'>>> 5 * ('gay',)('gay', 'gay', 'gay', 'gay', 'gay')tuple函数,将输入转为元组#字符串转为元组>>> tuple('love')('l', 'o', 'v', 'e')#列表转为元组>>> database = ['mysql','mssql','orical','mongo']>>> tuple(database)('mysql', 'mssql', 'orical', 'mongo')===============================字符串>>> str = 'Pi is %f'>>> pi = 3.14>>> str % pi'Pi is 3.140000'>>> str = 'Pi is %.2f' # %.2f表示替换浮点数后保留两位小数>>> pi = 3.14>>> str % pi'Pi is 3.14'Template模板字符串#替换单词>>> from string import Template>>> myTemplate = Template('${who} love ${name}')>>> myTemplate.substitute(who='i',name='you')'i love you'#替换部分字符串>>> myTemplate = Template('He is very ${x}B!')>>> myTemplate.substitute(x='N')'He is very NB!'#使用字典来替换>>> s = Template('i love ${who}')>>> d = {}>>> d['who'] = 'canglaoshi'>>> s.substitute(d)'i love canglaoshi'find查找子字符串>>> say = 'Do you love me anymore'>>> say.find('love')7>>> say.find('mlgb')-1#find参数2可指定搜索起始位置(含)>>> str = 'So more and more people go abroad'>>> str.find('more')3>>> str.find('more', 3)3>>> str.find('more', 4)12join将序列转为字符串>>> str = ['what','a','fuck','man']>>> sep = " " #使用空格作为连接符>>> sep.join(str)'what a fuck man'lower将大写字母转为小写>>> str = "Life Is Like A Box Of Chocolates">>> str.lower()'life is like a box of chocolates'replace替换字符串>>> submit = "This is hexie!">>> submit.replace("hexie", "*")'This is *!'split分隔字符串>>> db = 'id,username,password,createtime'>>> db.split(',')['id', 'username', 'password', 'createtime']strip删除字符串左右空格>>> user = ' zhenglu '>>> user.strip()'zhenglu'translate翻译替换和replace类似,但效率比前者要高>>> from string import maketrans>>> table = maketrans("prefix", "apache") #只能替换长度相同的字符串>>> str = 'prefix_log'>>> str.translate(table)'apache_log'>>> str.translate(table, '_') #第二个参数用于删除指定的字符串'apachelog'=======================================字典(JSON)>>> people = {"name":"canglaoshi","qq":"123456"}>>> people{'qq': '123456', 'name': 'canglaoshi'}>>> people['name']'canglaoshi'dict将其他序列转为字典>>> mylist = (('site','www.baidu.com'),('name','baidu'))>>> d = dict(mylist)>>> d{'site': 'www.baidu.com', 'name': 'baidu'}>>> mylist = [('site','www.baidu.com'),('name','baidu')]>>> d = dict(mylist)>>> d{'site': 'www.baidu.com', 'name': 'baidu'}>>> mylist = [['site','www.baidu.com'],['name','baidu']]>>> d = dict(mylist)>>> d{'site': 'www.baidu.com', 'name': 'baidu'}len返回字典元素个数>>> len(d)2clear清空字典
>>> d = {'site': 'www.baidu.com', 'name': 'baidu'}
>>> d.clear()>>> d#直接赋值指向一个地址>>> x = {'site': 'www.baidu.com', 'name': 'baidu'}>>> y = x>>> y.clear()>>> x{}>>> y{}copy浅拷贝(只拷贝一层维度)>>> x = {'site': 'www.baidu.com', 'name': ['baidu','google']}>>> y = x.copy()>>> y['name'].remove('google')>>> x{'site': 'www.baidu.com', 'name': ['baidu']}>>> y{'site': 'www.baidu.com', 'name': ['baidu']}deepcopy深度拷贝>>> from copy import deepcopy>>> x = {'site': 'www.baidu.com', 'name': ['baidu','google']}>>> y = deepcopy(x)>>> y['name'].remove('google')>>> x{'site': 'www.baidu.com', 'name': ['baidu', 'google']}>>> y{'site': 'www.baidu.com', 'name': ['baidu']}formkeys使用指定值作为键名创建一个空字典>>> dirc = {}.fromkeys(['name','age'])>>> dirc{'age': None, 'name': None}#第二个参数可以指定默认值>>> dirc = {}.fromkeys(['name','age'], 'Null')>>> dirc{'age': 'Null', 'name': 'Null'}get更宽松的访问字典内容>>> x = {'site': 'www.baidu.com', 'name': 'baidu'}>>> print x['av'] #直接访问不存在的键会报错Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 'av'>>> print x.get('av') #使用get会返回NoneNone>>> x = {'site': 'www.baidu.com', 'name': 'baidu', 'av': None}>>> print x.get('av')None>>> print x.get('nba', 'Null') #若值为None,可使用第二个参数指定返回的值Nullin、has_key查看指定键名是否存在>>> 'name' in xTrue>>> 'baidu' in xFalse#Python3.0+ 不再支持>>> x.has_key('name')True>>> x.has_key('baidu')Falseitems、iteritems将字典转为列表>>> x.items()[('av', None), ('site', 'www.baidu.com'), ('name', 'baidu')]>>> x.iteritems()<dictionary-itemiterator object at 0xb76c5b44>>>> obj = x.iteritems()>>> list(obj)[('av', None), ('site', 'www.baidu.com'), ('name', 'baidu')]pop返回指定键的值并删除该键值对>>> x = {'av': None, 'site': 'www.baidu.com', 'name': 'baidu'}>>> x.pop('av')>>> x{'site': 'www.baidu.com', 'name': 'baidu'}popitem返回并弹出列表中最后一个元素>>> x = {'site': 'www.baidu.com', 'name': 'baidu'}>>> x.popitem()('site', 'www.baidu.com')>>> x{'name': 'baidu'}update将一个字典更新到另一个字典中>>> g = {'site': 'www.g.cn', 'name': 'google'}>>> info = {'site':'www.google.com.hk'}>>> g.update(info)>>> g{'site': 'www.google.com.hk', 'name': 'google'}values返回所有值>>> g.values()['www.google.com.hk', 'google']>>> g.itervalues()<dictionary-valueiterator object at 0xb72c01e4>>>> obj = g.itervalues()>>> list(obj)['www.google.com.hk', 'google']

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: