捋一捋Python中的字符串常识

1,641 阅读3分钟

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动

本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

正式的Python专栏第21篇,同学站住,别错过这个从0开始的文章!

今天我们说说字符串类型,之前写了两篇共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)

读者可以直接复制运行代码,学委补充了运行效果图:

屏幕快照 2021-10-31 上午11.52.57.png

转义字符,如何在字符串中输出引号/换行?

什么是转义字符?
比如有些论坛包含了关键字/敏感字扫描
我们就会用拼音或者某些谐音,表达同样的意思 学委觉得这就是转义字符的精髓了。

也就是换个形式表达同样的意思,避开平台的限制!

就像之前提到的每个编程语言都有保留关键字(比如‘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)

运行效果如下:

屏幕快照 2021-10-31 上午11.58.39.png

当然还有其他转义符,本人不常用也不想提到,哈哈哈

下一篇会介绍一写字符串操作。

对了,喜欢Python的朋友,请关注学委的 Python基础专栏 or Python入门到精通大专栏

持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
欢迎关注微信,点赞支持收藏!