今天我们说说字符串类型,之前写了两篇共1.5万字的基础一遍过,涉及很多基础知识,不过字符串还是需要在多讲讲的。
前两篇都在本文同个专栏,欢迎关注。下面开始讲解。
回顾一下:字符串与长字符串
Python非常简单,并没有专门分出一个char(Character)类型(搞过C/Java的同学都熟悉)
在Python中,由单引号/双引号/三引号扩起来的通通都是字符串!
我们再看看字符串长啥样
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷学委 # @XueWeiTag: CodingDemo # @File : string_demo.py # @Project : hello text1 = "持续学习持续开发,我是雷学委" text2 = '持续学习持续开发,我是雷学委' assert text1 == text2 # 他们在python里面是一样的! # 字串的子串 print("1char substring : %s and type %s "%(text1[0], type(text1[0]))) #我们看到尽管是一个字符,python也是把它当做一个字符串,因为python中没有字符串类型! print(text1[0:4]) print(text1[4:]) print(text1[:4]) longtext = """ 持续学习持续开发,我是【雷学委】! 编程很有趣,关键是把技术搞透彻讲明白。 欢迎关注微信,点赞支持收藏! """ print(longtext)
读者可以直接复制运行代码,学委补充了运行效果图:
转义字符,比如如何在字符串中输出引号/换行?
什么是转义字符?
比如有些论坛包含了关键字/敏感字扫描
我们就会用拼音或者某些谐音,表达同样的意思
学委觉得这就是转义字符的精髓了。
也就是换个形式表达同样的意思,避开平台的限制!
就像之前提到的每个编程语言都有保留关键字(比如‘break’,‘continue’,‘for’等等)。
字符串中某些字符是不会被直接打印出来,在字符串处理系统中,它们有特殊性,就比如单引号文本内出现单引号。比如字符串如何保存换行。
所以很多语言中出现了转义字符的概念。通常如下
\后跟上一个字符 比如:\n, \\, \'
下面学委准备了一些代码展示转义字符,从高频到低频:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷学委 # @XueWeiTag: CodingDemo # @File : string_demo2.py # @Project : hello # 常用的转义字符 print("*" * 16) print("下面是雷学委认为的从高频到低频使用的转义符") print("\'=[']") # 转义输出单引号,这里展示一下在双引号扩起来的字符串中其实大可不必!在三引号长字符串中不必转义 print("\"=["]") # 转义输出双引号,这里展示一下在单引号扩起来的字符串中其实大可不必!在三引号长字符串中不必转义 print("\n=[\n]") # 换行输出 print("\r=[\r]") # 移动光标到行开头,所以这行输出仅为']' print("\=[\]") # 转义输出''符号 print("\t=[\t]") # 横向制表符,输出Tab键同等效果,一般4个空格(可以在PyCharm空白行中输入Tab看看跳了几个空格) print("\b=[\b]") # 光标前移一位 # print("\v=[\v]") # 纵向制表符, 学委选择忽略,这个制表符在Java中也没有支持,属于比较少见的类型 print("*" * 16)
运行效果如下:
当然还有其他转义符,本人不常用也不想提到,哈哈哈
下一篇会介绍一写字符串操作。