Python总结(精简).doc

上传人:b****2 文档编号:1202925 上传时间:2022-10-18 格式:DOC 页数:99 大小:341.46KB
下载 相关 举报
Python总结(精简).doc_第1页
第1页 / 共99页
Python总结(精简).doc_第2页
第2页 / 共99页
Python总结(精简).doc_第3页
第3页 / 共99页
Python总结(精简).doc_第4页
第4页 / 共99页
Python总结(精简).doc_第5页
第5页 / 共99页
点击查看更多>>
下载资源
资源描述

Python总结(精简).doc

《Python总结(精简).doc》由会员分享,可在线阅读,更多相关《Python总结(精简).doc(99页珍藏版)》请在冰豆网上搜索。

Python总结(精简).doc

编码风格

使用4空格缩进,而非TAB。

在小缩进(可以嵌套更深)和大缩进(更易读)之间,4空格是一个很好的折中。

TAB引发了一些混乱,最好弃用。

折行以确保其不会超过79个字符。

这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码文件。

使用空行分隔函数和类,以及函数中的大块代码。

可能的话,注释独占一行。

使用文档字符串。

把空格放到操作符两边,以及逗号后面,但是括号里侧不加空格:

a=f(1,2)+g(3,4)

统一函数和类命名。

总是用self作为方法的第一个参数。

字符串

利用三引号(’’’)或(”””)可以指示一个多行的字符串,在里面可以随便使用单引号和双引号。

它也是文档字符串DocStrings

>>>defdoc():

'''Hi

Hi'''

pass

>>>printdoc.__doc__

Hi

Hi

>>>

文档字符串第一行应该是关于对象用途的简介。

如果文档字符串有多行,第二行应该空出来,与接下来的详细描述明确分离。

转义符:

'what\'sup'等价于"what'sup"

\\表示反斜杠本身

行末单独的一个\表示在下一行继续,而不是新的一行:

'aaaaa\

dddd'等价于'aaaaadddd'

原始字符串r

如果我们生成一个“原始”字符串,\n序列不会被转义,而且行尾的反斜杠,源码中的换行符,都成为字符串中的一部分数据。

>>>hello=r"Thisisaratherlongstringcontaining\n\

serverallinesoftextmuchasyouwoulddoinC."

>>>printhello

Thisisaratherlongstringcontaining\n\

serverallinesoftextmuchasyouwoulddoinC.

>>>hello="Thisisaratherlongstringcontaining\n\

serverallinesoftextmuchasyouwoulddoinC."

>>>printhello

Thisisaratherlongstringcontaining

serverallinesoftextmuchasyouwoulddoinC

原始字符串的最后一个字符不能是“\”,如果想要让字符串以单“\”结尾,可以这样:

>>>printr'ee''\\'

ee\

如果是printr'ee\'则会返回错误;如果是printr'ee\\'则会返回ee\\

字符串可以由+操作符连接,可以由*操作符重复。

相邻的两个字符串文本自动连接在一起,它只用于两个字符串文本,不能用于字符串表达式。

>>>'str'.strip()

'str'

>>>'str''jkl'

'strjkl'

>>>'str'.strip()'jkl'

SyntaxError:

invalidsyntax

>>>'str'.strip()+'jjj'

'strjjj'

字符串不可变,向字符串文本的某一个索引赋值会引发错误。

不过,组合文本内容生成一个新文本简单而高效。

>>>word='thank'

>>>word[0]

't'

>>>word[0]='f'

Traceback(mostrecentcalllast):

File"",line1,in

word[0]='f'

TypeError:

'str'objectdoesnotsupportitemassignment

>>>word[:

4]+'g'

'thang'

切片操作有个有用的不变性:

i[:

s]+i[s:

]等于i。

>>>word[:

4]+word[4:

]

'thank'

值被转换为字符串的两种机制:

str、repr

str函数:

把值转换为合理形式的字符串

repr:

创建一个字符串,以合法的Python表达式的形式来表示值

>>>printrepr('hello,world!

')

'hello,world!

'

>>>printstr('hello,world!

')

hello,world!

>>>printrepr('1000L')

'1000L'

>>>printstr('1000L')

1000L

input与raw_input:

>>>raw_input('e:

')

e:

a

'a'

>>>input('e:

')

e:

a

Traceback(mostrecentcalllast):

File"",line1,in

input('e:

')

File"",line1,in

NameError:

name'a'isnotdefined

>>>input('e:

')

e:

'a'

'a'

>>>a=raw_input('e:

')

e:

123

>>>type(a)

>>>b=input('e:

')

e:

123.01

>>>type(b)

>>>raw_input('e:

')

e:

1+2

'1+2'

>>>input('e:

')

e:

1+2

3

由上面的例子可以知道,两个函数均能接收字符串,区别是raw_input()直接读取控制台的输入(任何类型的输入它都可以接收),而input()在接收字符串的时候需要加上引号,否则会引发错误。

此外,在接收纯数字方面,input()具有自己的特性,并不是像raw_input()一样把所有输入都当做字符串看待。

除此之外,input()会接收合法的python表达式1+2返回int型的3。

字符串大小写变换:

lower()小写upper()大写

swapcase()大小写互换capitalize()首字符大写

title()只有首字符大写,其余为小写。

用于转换字符串为标题:

>>>'that\'sall,folks'.title()

"That'SAll,Folks"

string模块的capwords函数:

>>>importstring

>>>string.capwords('that\'sall,folks')

"That'sAll,folks"

字符串在输出时候的对齐:

ljust(width,[fillchar]):

左对齐,输出width个字符,不足部分用filchar补足,默认的为空格。

rjust(width,[fillchar]):

右对齐。

center(width,[fillchar]):

中间对齐。

zfill(width):

把字符串变成width长,并在右对齐,不足部分用0补足。

>>>string.capwords('what\'sall,forks.').ljust(20)

"What'sAll,forks."

>>>string.capwords('what\'sall,forks.').rjust(20)

"What'sAll,forks."

>>>string.capwords('what\'sall,forks.').center(40)

"What'sAll,forks."

>>>string.capwords('what\'sall,forks.').zfill(20)

"000What'sAll,forks."

字符串中的搜索和替换及其他常用方法:

find(subsrt,[start,[end]]):

返回字符串中第一个出现substr的第一个字母的标号,如果没有subser则返回-1。

start和end的作用相当于在[start:

end]中搜索。

>>>'srrrtripoopp'.find('trip',-1,-4)

-1

>>>'srrrtripoopp'.find('trip')

4

index(subsrt,[start,[end]]):

与find一样,只是在字符串中没有substr时,会返回一个运行时错误。

rfind(subsrt,[start,[end]]):

返回字符串中最后出现substr的第一个字母的标号,如果字符串中没有substr,返回-1.

rindex(subsrt,[start,[end]])。

count(subsrt,[start,[end]]):

计算substr在字符串中出现的次数。

replace(oldstr,newstr,[count]):

把字符串中的oldstr替换为newstr,count为替换的次数。

strip([char]):

把字符串中前后有char的字符全部去掉,默认去掉空格:

>>>'aabb'.strip()

'aabb'

>>>'***aaa*bbb*!

***'.strip('*')

'aaa*bbb*!

'

当然还有lstrip([char])、rstrip([char]):

>>>'tsssssttt'.lstrip('t')

'sssssttt'

>>>'tsssssttt'.rstrip('t')

'tsssss'

>>>

join方法用来在队列中添加元素,但需要添加的队列元素都必须是字符串:

>>>seq=[1,2,3,4,5]

>>>sep='+'

>>>sep.join(seq)#连接数字列表

Traceback(mostrecentcalllast):

File"",line1,in

sep.join(seq)

TypeError:

sequenceitem0:

expectedstring,intfound

>>>seq=['1','2','3','4','5']#连接字符串列表

>>>sep.join(seq)

'1+2+3+4+5'

>>>dirs='','usr','bin','eno'

>>>'/'.join(dirs)

'/usr/bin/eno'

>>>print'C:

'+'\'.join(dirs)#注意\的转义问题

SyntaxError:

EOLwhilescanningstringliteral

>>>print'C:

'+'\\'.join(dirs)

C:

\usr\bin\eno

split方法用来将字符串分割成序列:

>>>'/usr/bin/env'.split('/')

['','usr','bin','env']

如果不提供任何分隔符,程序会把所有空格作为分隔符:

>>>'Usingthedefault'.split()

['Using','the','default']

translate方法也是替换字符串中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1