💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
上节课我们学习了数字,数字和我们学习的数学是紧密结合的。而这节课我们学习的字符则是和语文(或者英语)强烈关联着。 ## 什么是字符串 我们平时用电脑、手机最经常做的操作是什么?对,就是打字了。这些打出的字就是字符串。**字符串是用来表示文本的,由一堆字符组成**,那什么是字符呢?**我们键盘里敲击的汉字、英文字母、标点符号都是字符**。 ![](https://upload-images.jianshu.io/upload_images/145902-eeb3ae2512d3b239.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700) 就像一句话有不同的含义,一个字符串也会有不同的含义。可以是一个**URL连接(网站地址)**、**一段文章**、**文件路径**等等。 ## 对字符串能做哪些操作 在介绍我们对字符串能做哪些操作前,我们先会议一下。我们对一段话能做哪些操作:**改错字**、**数文字字数**、**找成语**、**摘抄名句**。 接下来我们就学习一下在python里怎么使用字符串,对字符串做我们列出的这些操作。 ## python中怎么表达字符串 在python里,我们用英文的 ``' '``两个单引号或者 `` "" ""``两个双引号把字符包裹起来代表字符串。下面是一些例子: ``` # 定义字符串的几种方式 'hello world!' '你好,世界' "pyhon is beautiful language" "python是美丽的语言" 'www.google.com' # 赋值语句 定义变量a,它的值是 hello world a = 'hello world' # 赋值语句 把变量a的值改为 你好世界 a = "你好世界" ``` ## python里的字符串操作 学习完怎么定义字符串,我们看看对字符串怎么做 *改错字*、*数文字字数*、*找成语*、*摘抄名句*。 * **取字符串长度-数文字字数** ``` a = 'i love python' b = len(a) print(b) ``` 其中第二行 ``b = len(a)`` 中的 ``len(a)`` 就是取字符串a的长度。len是length的缩写,程序员是不是很爱偷懒,哈哈。 那整个第二行的意思就是:定义一个变量b,它的值是字符串a的长度。 * **取字符串里的子字符串-找成语** ``` a = '我们一定要好好学习,天天向上' b = a[0] c = a[2] d = a[5 : 9] print(b,c,d) ``` 其中第二行 ``b = a[0]`` 中的 ``a[0]`` 就是取字符串第0个位置字符。等等,为什么是第0个位置,怎么数数的?是的,计算机这点特别矫情,数数是从0开始数的,这点和人类有很大的不同,一定要记住。**计算机是从0开始数数的**。 第四行的 ``d = a[5 : 9]`` 中的 ``a[5,9]`` 是取字符串的第6到底9的“好好学习”四个字符。这里要注意,因为计算机是从0开始数数的,所以“5”是取字符串的第六个字符;注意中间的英文“:”号。 * **字符串拼接-摘抄名句** ``` a = '我们一定要好好学习,天天向上' b = ' 才有做到有一天金榜题名。' c = a + b print(c) ``` 其中第三行 ``bc = a + b`` 的意思是 将字符串 a 和 b 拼接,拼接结果给到变量c * **字符串替换-改错字** ``` a = '我们一定要好好学习,天天向尚' b = a.replace('尚', '上') print(a, b) ``` 其中第二行 ``b = a.replace('尚', '上')`` 的``a.replace('尚', '上')``的意思是将字符串变量a里的“尚”替换成“上”;将替换结果给到变量b。 这里注意执行代码的结果,我们发现变量b为改变后的字符串,而变量a则还是原来的值,没有发生变化。 ## 总结 这节课我们学习了什么是字符串,它是**用来表示文本的,和我们的语文对应**。我们对字符串可以做:**取长度**、**获取字符串里的子字符串**、**字符串拼接**、**字符串替换**四个主要的操作。 # 小灶时间 ## 什么是布尔 生活中还有一种类型的数据。我们经常要回答**是或否**的问题,比如:太阳是不是东升西落、8是不是正数、鸡是不是飞行动物。这些问题,都只有 **是 或 否** 两种答案。 ## python里的布尔 我们知道,是的英文是**True**, 否的英文是**False**。由 **True False** 俩数据组成的就是布尔,为啥只有两个还要定义一个新数据类型?因为这俩太特殊、太重要了。生活中那么多判断题,编程里更少不了。看代码: ~~~ a = True b = False ~~~ 是不是很简单。对,布尔就这些操作,简单而重要。