Python数据类型——字符串详解(1)

上一篇文章:Python数据类型——逻辑值详解

【用Python画的小猪佩奇】

 用Python的turtle库画的小猪佩奇,源码地址:python turtle 海龟绘图,绘制小猪佩奇

 写在前面:大家好!我是ACfun,我的昵称来自两个单词Acceptedfun。由于最近在学习python,学了一遍感觉不是特别条理,所以我想整理一个有关python基础的系列的文章。希望自己通过这次的整理可以对python有一个较为清晰的理解和认识。如果有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。
用知识改变命运,用知识成就未来。加油 (ง •̀o•́)ง (ง •̀o•́)ง

本篇简介

 在上一篇博客:Python数据类型——逻辑值详解 中我们一块学习了Python数值类型的逻辑值部分。从这一篇开始我们将开始学习一种新的Python数据类型,它们的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员,这类 Python 类型统称为序列。包括下面这些:字符串,列表,和元组类型。这一篇我们主要来学习一下其中的字符串

字符串简介

字符串就是把一个个文字字符“串起来”的数据,这里的文字字符包含有:拉丁字母、数字、标点符号、特殊符号以及各种语言文字字符。字符串类型是 Python 里面最常见的类型。我们可以简单地通过在引号间包含字符的方式创建它。Python 里面单引号和双引号的作用是相同的。

字符串的创建和赋值

字符串创建和赋值的方式

在Python中使用单引号或者双引号都可以表示一个字符串,但是单引号或者双引号必须成对。比如我们创建一个Hello World的字符串。

>>> string = 'Hello World!'
>>> string
'Hello World!'
>>> string = "Hello World!"
>>> string
'Hello World!'

 这里我们先用一对单引号创建了一个字符串Hello World,并将其赋值给string变量。然后我们又用一对双引号创建了一个字符串,然后再将其赋值给string变量。说明在Python中单引号和双引号的作用是相同的。
 但是如果我们这个字符串有很多行怎么办?Python还提供了一种表示多行字符串的方式,就是用一对三个连续的单引号或者三个连续的双引号表示多行字符串

>>> String = '''
        南乡子
  和杨元素,时移守密州
              ——苏轼
      东武望余杭,
    云海天涯两渺茫。
    何日功成名遂了,
        还乡,
    醉笑陪公三万场。

      不用诉离殇,
    痛饮从来别有肠。
    今夜送归镫火冷,
        河塘,
    堕泪羊公却姓杨。
'''
>>> print(String)

        南乡子
  和杨元素,时移守密州
              ——苏轼
      东武望余杭,
    云海天涯两渺茫。
    何日功成名遂了,
        还乡,
    醉笑陪公三万场。

      不用诉离殇,
    痛饮从来别有肠。
    今夜送归镫火冷,
        河塘,
    堕泪羊公却姓杨。

 如果我们使用一对三个连续的单引号或者三个连续的双引号表示多行字符,当我们按下回车时就相当于在字符串中嵌入了一个换行(’\n’)的符号。所以当我们使用print()函数打印出我们刚才写的苏轼的诗时它会自动换行打印输出

在字符串中使用单双引号

 有时候我们创建的字符串需要使用的单引号或者双引号,即我们的字符串本身就含有单引号或者双引号,那么这个时候该怎么办呢?
 其实很简单,那就是当我们需要在字符串中使用单引号的时候,我们就用双引号创建字符串。如果字符串中含有双引号,我们就用单引号创建字符串;或者是使用转义字符"\"表示,如果我们在特殊字符的前面加一个转义字符,那么这个符号将代表他本来的意思,就不会在发挥它的特殊作用。比如:

>>> # 不使用转义字符
>>> speak1 = 'I told to Bob,"Python is my favorite language"'
>>> print(speak1)
I told to Bob,"Python is my favorite language"
>>> speak2 = "She is my mother's friend"
>>> print(speak2)
She is my mother's friend
>>> speak3 = "The language 'python' is named after Monty Python,not the snake."
>>> print(speak3)
The language 'python' is named after Monty Python,not the snake.
>>> # 使用转义字符 "\"
>>> tell = "I told to Bob,\"Python is my favorite language\""
>>> print(tell)
I told to Bob,"Python is my favorite language"
>>> tell2 = 'She is my mother\'s friend'
>>> print(tell2)
She is my mother's friend

特殊字符用转义字符""表示

 我们可以在Python使用转义字符来表示一些特殊的字符,比如上面提到的作为字符串分割的单双引号,如果我们不想让单双引号作为字符串的分割符号,我们就想让他们表示单双引号,那么这个时候就需要在前面加上一个转义字符来将其当做自己的本身。Python中还有很多转义字符:
Python中的转义字符
 上图就是Python中常见的转移字符,那么如果我们就像打印出\n而不让它作为换行使用怎么办呢?这里有两种方法:

  • 在特殊字符前面再加一个转义字符“\n”
  • 整个字符串前面加一个字母 r或者R (代表raw) 表示特殊字符不做处理
>>> print("\n")


>>> print("\\n")
\n
>>> print(r"\n")
\n
>>> print(R"\n")
\n

 经过上面的例子,我们可以知道如果我们直接输出"\n",那么这个"\n"会被当做换行符来使用。当我们想输出\n的时候我们只需要在前面再加一个转义字符 "\" 或者是 r 或者 R 即可。


访问字符串中的值

字符的编号

 上面我们提到字符串成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员。在Python序列类型中有两种排序方法:

  • 正序遍历:从第一个字符的编号为0,第二个编号为1……然后依次向后增加。
  • 逆序遍历:倒数第一个字符的编号为 -1 ,倒数第二个为 -2 ……依次向前减少。

访问字符串中的字符

 我们可以使用这种整数编号从字符串中抽取任何一个字符。

>>> string = 'python'
>>> string[3]
'h'
>>> string[-1]
'n'

访问字符串中的子串

 我们可以使用序列操作符切片([]和[:]来访问字符串中的字串,关于切片,在以后的博客中也会详细的整理说明。比如:

>>> s = 'Hello Python'
>>> s[6:]
'Python'
>>> s[::2]
'HloPto'

参考资料:

  • 中国大学生慕课——Python语言基础与应用
  • 《Python核心编程第二版》

特别声明:因比赛原因Python基础系列文章的更新先推一下,等以后有时间了再进行更新。如果大家在学习的过程中有疑问可以扫描旁边的二维码关注我们的公众号【程序猿干货铺】加群咨询,公众号也有各种干货资料等着你哦,感谢大家的支持。
无敌快乐

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页