字符串
字符串是不可变序列,使用单引号、双引号、三单引号或三双引号作为界定符,不同的界定符之间可以相互嵌套。
一切对字符的更改操作都不是在原字符串的基础上进行的。
Python支持字符串驻留机制,即对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本,这点和Java字符串的机制是一样的。
但是长字符串并不遵守驻留机制。
>>> aStr = 'abcd'
>>> bStr = 'abcd'
>>> id(aStr) == id(bStr)
True
>>> cStr = 'abcd' * 100
>>> dStr = 'abcd' * 100
>>> id(cStr) == id(dStr)
False
Python3程序源文件默认为UTF-8编码,全面支持中文。
>>> 小王 = 'xiaowang'
>>> print(小王)
xiaowang
字符串格式化
result = '输入数字之和是:%d' %(sum)
format()函数进行格式化
字符串的常用方法
find(subString)
split() #默认任何空白符号(空格、换行和制表符等)都是分隔符
split(‘,’) #返回分割结果列表
split(None,maxCount) #maxCount为最大分割次数
join() #连接字符串,join的效率要比“+”高
>>> strList = ['aaa','bbb','ccc']
>>> sep = ','
>>> sep.join(strList)
'aaa,bbb,ccc'
>>> dateList = ['2016','01','14']
>>> sep = '-'
>>> sep.join(dateList)
'2016-01-14'
lower()
upper()
capitalize() #将字符串首字母变为大写
title() #将每个单词的首字母大写
swapcase() #大小写互换
replace(oldSubStr,newSubStr) #字符串替换
maketrans() #生成字符映射表
translate() #按映射表关系转换字符串并替换其中的字符
strip() #删除两端的空白字符或连续的指定字符
strip(string)
rstrip() #删除右端的空白字符或连续的指定字符
rstrip(string)
eval() #内置函数,尝试把任意字符串转化为Python表达式并进行求值,可能会有安全漏洞,类似于SQL注入
>>> eval("3+5")
8
in /not in#关键字
>>> 'aa' in 'aaa'
True
startswith()
endswith()
>>> aStr = 'test.py'
>>> aStr.startswith('te')
True
>>> aStr.endswith('.py')
True
>>>
isalnum() #判断是否为字母或数字
isalpha()
isdigit()
正则表达式
写一个程序实现自动从源文件中提取Python源文件中所有的类名、函数名、以及各种变量名。