来自 威尼斯国际官方网站 2019-11-21 04:13 的文章
当前位置: 威尼斯国际官方网站 > 威尼斯国际官方网站 > 正文

Python字符串详细介绍,python学习笔记2

再次重复学习的是某位THU大神,网站贴下

Python字符串详细介绍,python字符串

简介

字符串体系用于表示和仓库储存文本,python中字符串是不可变的,生龙活虎旦注解,不能够改过

平铺直叙由单引号(' ),双引号(" ),三引号(''' """)包围

当中三引号能够由多行组成,编写多行文本的快捷语法,常用语文书档案字符串,在文书的一定地点,被视作注释。便捷的多行注释

Python实际三类字符串:

1.平淡无奇意义字符串(str)
2.原始字符串,以大写昂Cora 或 小写r初叶,r'',不对特殊字符实行转义
3.Unicode字符串,u'' basestring子类
在 Python 中,字符串是“不可校勘的系列”

1.不可变

2.满足系列基本操作,按岗位存取,切成条及索引
字符串
1.获得救助:
复制代码 代码如下:
>>> help(str)
>>> dir(str)
>>> help(str.replace)

2.不可变性

在创制之后就不能够就地转移(同java卡塔尔国,无法因而对其某一职位实行赋值而更正字符划分为不可变连串,那么些字符串所蕴藏的字符存在从左到右的各种,不可在原处校勘。python中字符串约等于一个不足变系列的列表,意气风发旦注脚,各个字符地方固定

表示若想退换,必得新建三个!
复制代码 代码如下:
>>>s='spam'
>>>s[0]='k'   #TypeError
#修正字符串近似java,重新赋值
s = ‘k' + s[1:]

原始字符串

原始字符串常量,r”abcd”,(r/奥迪Q5)即去掉了反斜线转义机制。关闭转义机制,即不再代表转义

用处:

1.正则表明式

用来拍卖正则表达式,收缩反斜杠
复制代码 代码如下:
p4search = re.compile(r's*')

2.系统路线

能够一本万利地意味着系统路线
复制代码 代码如下:
path = r'e:book'

unicode字符串

Unicode是书写国际文件的业内措施。

Python允许你管理Unicode文本——你只要求在字符串前增进前缀u或U。例如,u"This is a Unicode string."

BP: 在您管理文件文件的时候使用Unicode字符串,特别是当您知道这一个文件含有用非保加哈利法克斯语的语言写的文本。

常用操作

1.基本操作
复制代码 代码如下:
+   :string1+string2    #接通字符串,将后一个串链接到前二个串的背后
    Python不允许在+表达式中现身此外项目,要求手工业转【那一点差别于java】‘abc'+str(9)
*   :string*n           #开创二个新字符串重复n次原来的串
[]  :string[n]          #从字符串中获取对应地方的一个字符
[:] :string[n:m]        #截取字符串,假如为:m从头到m若是为n:从n到尾
in  :char in string #看清八个字符是或不是在串中,借使在重临为真(True)
not in :char not in string #看清三个字符是或不是不在串中,要是在回到为真(True)
r/R : r/Rstring     #禁止转义字符的实际意义,整个字符为本来意义
len() : 长度len(s)

2.类型转变

字符串和数字彼此转变

字符串到数字int/float/long

数字到字符串str
复制代码 代码如下:
>>> int(42)
42
>>> int('42')
42
>>> str(42)
'42'
>>> float('42.0')
42.0
>>> str(42.0)
'42.0'

照旧利用string模块的函数

s:进行转移的字符串, base:可选,指标进制
复制代码 代码如下:
import string
string.atoi(s[,base])   #base默以为10,即使为0,那么s就能够是012或0x23这种样式的字符串,假设是16那么s就只可以是0x23或0X12这种样式的字符串
   

string.atol(s[,base])       #转成long

string.atof(s[,base])       #转成float

字符串和列表的改换
字符串转列表:
复制代码 代码如下:
s='spam'
l = list(s)

l2 = "hello world".spilt()

列表转字符串
复制代码 代码如下:
k = ‘'.join(l)

瞩目,不可能join列表中的非字符串

3.改正字符串
复制代码 代码如下:
s =  s + 'a'
s = s[3:] + ‘b'
s = s.replace(‘pl','pa')

a = '' #赋值空

del a  #豆蔻梢头体变量删除

4.索引和分片

索引s[i]
复制代码 代码如下:
s[0]首个

s[-1] = s[len(s)-1] 尾数第一个

分片s[i:j]
复制代码 代码如下:
不含下边界,s[1:3] 取[1-2]
s[1:]取1到结束   s[:3] 取起头到2
s[:-1]开始到尾数第一个
s[:]起先到最后,相当于三个复制
s[1:10:2]  取1-9,步长=2
s[a:b:-2] 步长为负数,三个境界意义反转了,表示从b+1到a,步长-2
s='abcdefg'  
s[5:1:-1] 得到 fedc
s[1:3] == s[slice(1,3)]  内置函数

字符串格式化

此地只介绍基本字符串格式化,扩大在接二连三篇幅介绍%c 单个字符%d 十进制整数%o 八进制整数%s 字符串%x 十八进制整数,当中字母小写%X 十一进制整数,个中字母大写
复制代码 代码如下:
>>> str = "so %s a day!"
>>> str % 'beautiful'
'so beautiful a day!'

>>> '{0} is {1}'.format('a','b')
'a is b'

>>> template = "{0}, {1} and {2}"
>>> template.format('a', 'b', 'c')
'a, b and c'

内建函数列表
【字符串方法是python文本管理头号工具】

string.capitalize()
字符串第三个字符大写

string.center(width,[,fill])
原字符居中,空格填充至width长度

string.count(str,beg=0,end=len(string))
赢得字符串中某三个子串的多少,总括现身次数,可钦赐范围

string.decode(encoding='UTF-8',errors='strict')
解码字符串,出错暗中认可报ValueError,除非errors是ignore或replace

string.encode(encoding='UTF-8',errors='strict')
string.endswith(suffix,beg=0,end=len(string))
是否以**结尾

string.expandtabs(tabsize=8)
把字符串中tab转为空格,暗许8个

string.find(str,beg=0,end=len(stirng))
检查测验是或不是包罗str,存在重临初始索引,否则重返-1

string.index(str,begin=0,end=len(string))
同find,不设有报这几个,ValueError

string.isalnum()
最少三个字符,且有着字符均为字母或数字,True. 检查测验字符串是不是只包蕴0-9A-Za-z

string.isalpha()
起码二个字符,全体字符都以字母,True. 检查实验字符串是不是只包含字母

string.isdecimal()
只包蕴十进制数,True

stirng.isdigit()
只包涵数字,True. 检查测验字符串是否仅富含数字

string.islower()
至少贰个分别朗朗上口写字符且全数字符小写,True. 检查实验字符串是或不是均为小写字母

string.isnumeric()
只含数字字符,True

string.isspace()
只包括空格,True. 检查测试字符串是不是均为空白字符

string.istitle()
标题化字符,True. 检验字符串中的单词是或不是为首字母大写

string.isupper()
最少一个分别朗朗上口写字符且全数字符大写,True. 检验字符串是或不是均为大写字母

string.join(seq)
以string作为分隔符,seq中保有因素合併为新的字符串. 将原字符串插入参数字符串中的每八个字符之间

string.ljust(width)
再次回到四个原字符串左对齐,空格补充至长度width

string.lower()
转小写. 将字符串全体转为小写

string.lstrip()
截掉侧边包车型大巴空格

string.partition(str)

find+split,从str现身第贰个地方,截断为pre_str,str,after_str元组,不含str则pre_str=strstring.replace(str1,str2,num=string.count(str1))替换,钦定不超越num次,可视作模板达成

string.rfind(str,beg=0,end=len(string))
同find,左侧起初

string.rindex(str,beg=0,end=len(string))
同index,左侧起先

string.rjust(width)
右对齐,空格补齐

string.rpartition(str)
同partition,侧边开端

string.rstrip([chars])
理清侧边空白,富含换行符,重返管理后字符串

string.split(str=””, maxsplit =string.count(str))
以str切成条,可钦命分割次数, 分割字符串,重返列表,暗中同意分隔符空格

string.splitlines(num=string.count(‘n'))
s.splitlines([keepends])按行分隔,可钦点分割次数

string.startswith(obj,beg=0,end=len(string))
以str开首,True. 检测字符串是或不是以某一子串先导

string.strip([obj])
在string上执行lstrip和rstrip

string.swapcase
反转string中山高校小写. 字符串中型小型写转大写,大写转小写

string.title()
标题花,单词首字母大写,其他小写

string.translate(str,del=””)
s.translate(table)根据str给出表转变string字符,要过滤的字符放在del参数中

string.upper()
转大写. 将字符串全体转为大写

string.zfill(width)
回去长度width的字符串,原字符串右对齐,后边填充0

len(string)
拿到字符串的长短

至上推行

1.循环中用到长度
复制代码 代码如下:
while i < len(stri):
#修改
size = len(stri)
while i < size

2.字符串追加
复制代码 代码如下:
l = ['a', 'b']
result = ''
for i in l:
    result += i
#修改
result = ''.join(l)

其他
1.转义符

多少个常用:

n换行,\反斜杠
t制表  '单引号
r回车 "双引号

延续需扩张

字符串编码详细解释
字符串格式化
正则表达式
字符串涉及常用模块(类别化/文本包装等)

简介字符串连串用于表示和存款和储蓄文本,python中字符串是不可变的,一旦表明,不可能改革日常由单引号...

只贴了自个儿不太理解的
符合有此外编制程序语言底蕴的看

本文由威尼斯国际官方网站发布于威尼斯国际官方网站,转载请注明出处:Python字符串详细介绍,python学习笔记2

关键词: