# python3小白课:字符串入门 字符串(string)这个东西我们在前面的课程中已经见过了,从本节课开始我们来系统的学习一下字符串所需掌握的一些必备知识。在日常的编程处理中,字符串的处理可以说是一个大头,所以掌握好字符串的各项知识十分重要,请大家认真学习,我已经把最精练最常见的知识内容提炼给大家,大家只需要一步步跟着学习即可。 首先,如何定义字符串(str类型),我们直接来看例子: ```python # coding:utf-8 a = "我是小白我很白" b = '我是小黑我不黑' print(a) print(type(b)) ``` 我们可以看到,使用单引号、双引号都可以定义字符串,他们并没有啥区别。 > [!question] > > 小白问,那么为啥我们要有两种符号支持呢? 来看看下面这个场景,当我们字符串内容中含有单引号或者双引号的时候: ```python # coding:utf-8 a = 'I'm little bai' print(a) ``` 这时候python解释器会无法判定这个字符串的结尾在哪,是在中间还是在结尾?此时就会报错。我们可以修改成这样: ```python # coding:utf-8 a = "I'm little bai" print(a) ``` 这时候单双引号均可的好处就凸显了。 > [!question] > > 小白又问了,那么要是字符串内容里,咱们既有单引号,又有双引号,这可咋办? 别怕,我们可以使用`\`符号写在字符串内的引号前面,表示**转义**。通过转义,python解释器在解释的时候,就会把它当做原来的单双引号输出了。来我们看一下例子: ```python # coding:utf-8 a = "I'm \"little bai\"" print(a) ``` --- ### 多个字符串拼接 如果我们有多个字符串需要拼接,通常的做法是使用`+`号。 ```python # coding:utf-8 a = "hello" b = "little bai" print(a + " " + b) ``` 你看,很简单的,我们还能把空格打出来。 这里需要注意的是,加在一起的内容中,都应该是字符串,如果含有数字加在一起,会报错,正确的方式是将数字通过str命令转化成字符串后再相加。(同理,转换成整型、浮点型你也可以用int、float内置命令实现从字符串转化成数值哦) ```python #coding: utf-8 a = "my age is" b = 19 print(a + " " + str(b)) ``` --- ### 多行字符串 > [!question] > > 如果我们有多行字符串内容,我们应该如何定义呢? 还记得我们学过的多行注释吗?没错,就是使用三个单引号或三个双引号来实现。在这样的定义方法中,我们不仅能保留多行之间的缩进能信息,还能省去使用转义符等内容。我们来看一下例子: ```python # coding:utf-8 a = """ 朝辞白帝彩云间, 千里江陵一日还。 两岸猿声啼不住, 轻舟已过万重山。 I'm "little bai" """ print(a) ``` 是不是很方便呢? --- ### 原始字符串 最后再来讲一个原始字符串,这个我个人的使用不是特别多,但了解下也可以的。我们前面知道,`\`为转义符号,所以当我们的字符串是一个windows的文件路径的时候,它就带有`\`,所以我们表示win路径的时候,通常需要这样写(一般我个人也是这么写的): ```python # coding:utf-8 a = "E:\\Programs\\python3小白课\\python3小白课笔记" print(a) ``` 如果不这样用,有时候在py脚本中就会给你报错。 如果你不喜欢用转义符来弄,可以用原始字符串(raw): ```python # coding:utf-8 a = r"E:\Programs\python3小白课\python3小白课笔记" print(a) ``` 即前面简单加上一个r修饰字符串即可。 --- ### input函数 入了门,我们来学习一个新的内置函数:input。这个函数可以获取用户的输入内容,这个内容在python3中都会统一返回字符串(所以即使输入数字也无需转换成str类型),你可以用变量接收它的返回值并做后续处理。可以用作用户交互或者跟你自己的交互。 ```python # coding:utf-8 a = input("你叫什么名字呀?") print("你的名字是:" + a) a = input("你多少岁呀?") print("你" + a + "岁了") ``` ### 单词释义 | 单词 | 释义 | | ------ | --------------------------------------------- | | string | 字符串,短一点的写法叫做str,也是一个内置命令 | | my | 我的 | | is | 是 | | raw | 原始的 | | input | 输入 |