Python 数据类型之字符串

数据类型之字符串

      关于字符串类型,在Python 3.x 的版本中,这一类型有很广泛的使用空间。

       先来看一看它的基本解释:由0个或多个字符组成的有序的字符序列。 说简单点,就是 一串字符连在一起。紧接着来说一下它的特性和方法。

       首先,它身为字符串,我们可以通过像数组一样的 a[ ],通过在括号内添加不同的数字,来找到对应的字符。以一个表格为

       例:令 m = "abcdefghij"

-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
a b c d e f g h i j
0 1 2 3 4 5 6 7 8 9

1)通过索引,来从字符串中获取对应的字符。 与数组相似,m[0]对应 a,m[1]对应 b,......,m[9]对应 j

     值得一提的事,在Python中,我们可以倒着来查找对应的字符。 m[-1]对应 j,m[-2]对应 i,......,m[-10]对应 a

2)关于基本操作,在这里介绍 分(切)片,加法(连接),乘法(复制多个),判断成员资格,求长度

  • 分(切)片:在索引的基础上,通过 m[x: y: z] 来选出 从 x 开始,到 y 截至,步长为 z 的一串字符串。 包括 x 对应的字符,不包括 y 对应的字符。 x, y, z 的数值不要越界。x, y, z 均可置空,x缺失表示从头开始,y缺失表示至结尾,z缺失表示其默认值为1。 例,m[ : 3] = "abc"; m[8 : ] = "i"; m[2: 8: 3] = "c, f"; m[ : : -1] = "jihgfedcba"
  • 加法(连接):m1 + m2    用于两个字符串之间的连接, "abc" + "def" = "abcdef"
  • 乘法(复制多个):m * n    复制n次字符串m。 例,m * 2 = "abcdefghijabcdefghij"
  • 判断成员资格:in    可用于判断一个字符串 n 是否在字符串 m 中存在。 用 n in m 来判断。 像 "abc" in m 返回的值就是True;"666" in m 返回的值就是False
  • 求长度:通过 len(m) 返回该字符串的长度

3)大家都知道,在计算机的世界里,有很多种编码方式。字符串也可以在它们之间进行转换。

  • chr(u):u为Unicode编码,该函数返回其对应的字符
  • ord(x):x为字符,该函数返回其对应的Unicode编码

4)关于字符串的方法

  • str.lower( ) / str.upper( )    返回字符串的全 小写 / 大写 格式。
  • str.split( )    返回一个列表,将整个字符串根据 ( ) 内的字符进行分割。常在读取文件内容时使用。
  • str.find( )    返回 ( ) 内字符第一次在字符串中出现的位置,以索引形式输出,值为数字。
  • str.count()    返回 ( ) 内字符在字符串中出现的次数,值为数字。
  • str.replace( old , new )    将字符串中与 old 相同的部分,替换为 new 部分。
  • str.strip( )    从字符串的左右两侧,去除 ( ) 内包含的字符,并返回。
  • str.join( )    在 ( ) 的字符串中,除最后一个字符外,其余字符后增加 str 字符。 例,"*".join("123") = "1*2*3"

5)关于格式化

       在我们输入信息的时候,常常会需要以特定的格式,输出某一段内容。这个时候,就需要用到字符串的格式化。这一部分内容个人认为还是相当重要的。下面,我们来介绍一下。

       在Python中,我们格式化使用的是 format( ),具体格式为:<要输出的文本> . format <参数(可用逗号分隔)>

  • 最常用的类型: "{ }计算机{ }的占有率为{ }%。" . format("2018-5-21", "PYTHON", 22.8),这就是将format后的多个字符串按顺序对应到format前的槽里。  此例,输出为 '2018-5-21计算机PYTHON的占有率为22.8%'。
  • 在上面的基础上,有这样的形式:"圆周率{1} {2} 是{0}" . format("无理数", 3.1415926, "...")。这种情况呢,我们发现在format的前面的槽中有数字标识,我们就需要将后面的对应到前面的槽里。与数组相似,也是从 0 开始,0,1,2......  在此例中,输出结果为:'圆周率3.1415926...是无理数'。
  • 还有相关进阶格式。如图所示

       

       经过了上述这么多内容,字符串的内容也就差不多了。但是呢,还有一点需要注意。

       在广泛的用途中,我们经常通过 input( ) 函数从用户处获取键入的内容,在系统中便是以 字符串 的形式存储在缓存中。

例如:   

       从中我们可以看到,无论输入的是数字,亦或是一串字符,它的类型都是 str 字符串 类型。

       那么,如果我想要利用这个值,去进行运算,该怎么办呢? 从图中我们可以看到,在利用 a 的时候,直接拿它去进行运算的时候,它会给我们抛出 TypeError 这个异常。 那么问题来了,我们如何正确的运用这个值?

       这个时候,要用到 eval( ) 这个函数,关于这个函数,官方给出的解释是:将字符串string对象转化为有效的表达式参与求值运算返回计算结果。 简单点,它可以把括号内部的内容作为可运算的数值返回。 这样一来,我们就可以利用输入的值进行运算啦~~~


如有错误,还望指正,在此谢过。

猜你喜欢

转载自blog.csdn.net/already233/article/details/80393549