Python String类型详解
发布日期:2021-11-15 14:58:10 浏览次数:22 分类:技术文章

本文共 2598 字,大约阅读时间需要 8 分钟。

前言

在python中,String是代表Unicode字符的字节数组。但是在python中没有单个的字符数据类型,'a’这种只是长度为1的string

String基本操作

1.创建String

在python中创建字符串可以用单引号,双引号甚至是三引号。

>>>a='ada'>>>b="dsfsg">>>c='''dasfdf'''>>>a'ada'>>>b'dsfsg'>>>c'dasfdf'

2.访问String中的字符

可以用索引(下标)访问字符串中的字符,需要注意的是,在python中索引可以是负数,如-1表示字符串最后一个字符的下标,-2是倒数第二个等。

当下标越界是会报IndexErroer,下标只能是整数,如果是float或其他类型会报TypeError

3.字符串切片

这和列表一摸一样

>>>s="apple and banana">>> s[0:10]'apple and '>>> s[10:-1]'banan'>>> s[-1:4:-1]  #逆序'ananab dna '

4.删除或更新字符串

注意: 字符串是不可更改的和元组一样,所以不能进行删除和更新单个或多个字符,但是可以删除整个字符串,或更新整个字符串。会有如下报错形式:

>>> s="apple and banana">>> s[0]='d'Traceback (most recent call last):  File "
", line 1, in
TypeError: 'str' object does not support item assignment>>>s="orange">>>s'orange'>>> del a[0]Traceback (most recent call last): File "
", line 1, in
TypeError: 'str' object doesn't support item deletion>>> del s #删除整个s>>> sTraceback (most recent call last): File "
", line 1, in
NameError: name 's' is not defined

5.python 中的转义字符

在字符串里有单引号或双引号会产生SyntaxError,因为字符串本身就包含了单引号和双引号,因此可以用三引号或转义字符来输出这样的字符串。

用反斜杠做转义字符会有两种用法:如果用单引号来表示字符串,那么字符串里的单引号前都要用转义字符。双引号也同理。

#方式一 直接用三引号表示字符串,就不用在意里面是否有单引号或双引号了>>> string1=''' I'm  a ''pig'''''>>> print(string1)I'm a "pig"#方式二 >>> string2=' I\'m  a ''pig'''>>> print(string2)I'm a "pig"#方式三>>> string3="I'm a \"pig\"">>> print(string3)I'm a "pig"

如果在字符串前加R或r可以使转义字符\的功能失效,如

>>> string4=r"I'm a \"pig\"">>> print(string4)I'm a \"pig\"

字符串的格式化

python中字符串可以背格式化用format()函数。相关用法如下:

#默认形式>>> String1 = "{} {} {}".format('Geeks', 'For', 'Life') >>> print(String1) Geeks For Life#有定位的格式化>>> String1 = "{1} {0} {2}".format('Geeks', 'For', 'Life') >>> print(String1)For Geeks Life#关键字的格式化>>> String1 = "{l} {f} {g}".format(g = 'Geeks', f = 'For', l = 'Life') >>> print(String1) Life For Geeks

整型如二进制,十六进制等还有浮点型消暑可以被以指数形式表示,如

#整型的格式化>>>String1 = "{0:b}".format(16) >>> print(String1) 10000#浮点型的格式化>>> String1 = "{0:e}".format(165.6458) >>> print(String1)1.656458e+02#四舍五入的整型>>> String1 = "{0:.2f}".format(1/6)>>> print(String1)0.17

String 的函数

内置函数 描述
String .isdigit() 如果字符串都是数字返回True,反之返回False
String.isalpha() 如果字符串的字符都是按字典顺序排列返回True,否则返回False
String.index(ele) 返回第一个ele元素的下标,如果没有会报错
String.replace(new,old) 返回原来字符串的拷贝,这个拷贝中将old的元素都替换成了new的元素
String.lower() 返回原来字符串的拷贝,这个拷贝将所有大写字符转成小写字符
String.upper() 同理
String.count(ele) 返回ele出现的次数
String.split(ele) 返回一个列表,这个列表按照ele元素将字符串进行分隔,如果ele不再字符串中,或者没有输入ele,默认直接返回字符串本身的列表
String.join(seq) 返回一个字符串,这个字符串将seq的每个元素都插入String,如果不想插入,String可以是’'空字符

申明:本文主要是翻译英文网站的文章,并不是严格的翻译,主要是为自己日后学习,或读者使用,如有侵权会马上删除,有翻译不好的地方也请指出。

转载地址:https://blog.csdn.net/qq_39751320/article/details/104390008 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python set详解
下一篇:Python map()函数讲解

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月08日 21时40分54秒