4.3Python数据类型(3)之字符串类型
目录:
1.字符串的概念
2.字符串的形式
3.字符串的转义符
4.字符串一般操作
5.字符串函数操作
(一)字符串的概念
由单个字符组成的一个集合
(二)字符串的形式
双引号与单引号的效果一样:
(1)使用单引号包含的
'abc'
(2)使用双引号包含的
"abc"
(3)使用3个单引号
''' abc '''
(4)使用3个双引号
""" abc """
# 字符串与注释
str1 = '单引号'
str2 = "双引号"
str3 = '''三个单引号'''
str4 = """三个双引号"""
print(str1)
print(str2)
print(str3)
print(str4)
'单引号也可以注释'
"双引号也可以注释"
'''三个单引号也可以注释'''
"""三个双引号也可以注释"""
-----------------输出-----------------
单引号
双引号
三个单引号
三个双引号
规律:其实不管是单引号还是双引号,还是三个单引号,还是三个双引号,他们都可以来处理字符串,而他们注释的原理的本质上就是没有把字符串赋值给变量,所以也没有什么用,就相当于注释了。
(三)字符串的转义符
(1)转义字符
通过转换某个指定的字符, 使它具备特殊的含义
\(在行尾时) 续行符
\' 单引号
\" 双引号
\n 换行
\t 横向制表符
# 转义字符
name = "s" \
"Z123"
print(name) # \续行符
print("12345645\\n") # \\-->\
print("单引号\'") # \'-->'
print("双引号\"") # \"-->"
-------------------输出--------------------------
sZ123
12345645\n
单引号'
双引号"
(2)取消转义字符
想要使转义字符不起作用时,可以在字符串前夹r
例如:使用单引号包含的
r'abc'
使用双引号包含的
r"abc"
使用3个单引号
r''' abc '''
使用3个双引号
r""" abc """
# 取消转义字符
print(r"12345645\\n") # \\-->没有效果
print(r"单引号\'") # \'-->没有效果
print(r"双引号\"") # \"-->没有效果
----------------输出--------------------
12345645\\n
单引号\'
双引号\"
(3)字符串的跨行书写:
(1)用\连接符
(2)用圆括号
(3)用三个单引号或者三个双引号
# 字符串的跨行书写:
str1 = "dfdf" \
"dfdf" # 用\连接符
str2 = ("fdjfjd"
"kfjdk") # 用圆括号
str3 = """dfdfdf
sfdfdfdg
""" # 用三个单引号或者三个双引号
print("用\连接符:", str1)
print("用圆括号:", str2)
print("用三个单引号或者三个双引号:", str3)
--------------输出--------------------
用\连接符: dfdfdfdf
用圆括号: fdjfjdkfjdk
用三个单引号或者三个双引号: dfdfdf
sfdfdfdg
(四)字符串一般操作
(1)字符串的拼接:
1.+ 号连接
2.无符号单行连接
3.格式化连接
4.倍数连接
# 字符的连接
print("+ 号连接", "xxxxx" + "yyyyyy")
print("无符号单行连接", "xxxxxx""yyyyyy")
print("格式化连接", "xxxx%s"%("yyyyyyyy"))
print("倍数连接", "xxxxx" * 3)
---------------------输出---------------
+ 号连接 xxxxxyyyyyy
无符号单行连接 xxxxxxyyyyyy
格式化连接 xxxxyyyyyyyy
倍数连接 xxxxxxxxxxxxxxx
(2)字符串的切片:
1.单个字符的切片:string[下标]
2.字符片段的切片:string[ 起始下标 : 结束下标 : 步长 ]
注:字符片段不包括结束字符,步长是用于跳着选择字符。
冒号左右两边没有数值时,默认分别对应是0,-1,1
# 字符的切片:
name = "社会我俊哥,人狠话不多"
# 字符串的索引是从0开始
print("name[0]", name[0]) # 第1个字符
print("name[1:4]", name[1:4]) # 第2字符到第4个字符,不包括第5个字符
print("name[::2]", name[::2]) # 步长为2的,跳字符。
print("name[-1]", name[-1]) # 倒数第1个字符
print("name[:5]", name[:5]) # 第1个字符到第6个
print("name[5:]", name[5:]) # 第6个字符到结束
print("name[:]", name[:]) # 全部字符
print("name[3:-3]", name[3:-3]) # 第4个字符到倒数第3个
print("name[::-1]", name[::-1]) # 字符倒序,反转字符串
---------------------输出----------------------------
name[0] 社
name[1:4] 会我俊
name[::2] 社我哥人话多
name[-1] 多
name[:5] 社会我俊哥
name[5:] ,人狠话不多
name[:] 社会我俊哥,人狠话不多
name[3:-3] 俊哥,人狠
name[::-1] 多不话狠人,哥俊我会社
本小节结束!
我是张一根,一个机械专业的大学生,一个在读本科的计算机爱好者,期盼和你一起交流计算机的知识,让我们在这个大时代里一起进步。
4.3Python数据类型(3)之字符串类型的更多相关文章
- 数据类型总结——String(字符串类型)
相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- Python数据类型中的字符串类型
1.换行字符:\n print ('I love python.\nAnd you?') 2.转义字符(\):\\ print ('\\\n\\') 3.制表字符(对齐表格的各列):\t print ...
- 第二百九十五节,python操作redis缓存-字符串类型
python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...
- day08 数字,字符串类型内置方法
目录 数字类型内置方法 为什么要有数据类型? 定义方式 方法 储存一个值or多个值? 有序or无序?(有序:有索引, 无序:无索引) 可变or不可变(可变:值变id不变,不可变:值变id也变) 字符串 ...
- 数据类型总结——Array(数组类型)
相关文章 简书原文:https://www.jianshu.com/p/1e4425383a65 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- 2016年11月3日JS脚本简介数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语
数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6 ...
- MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性
1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- JavaScript数据类型 String字符串类型
前言 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串String是javascript基本数据类型,同时javascript也支持 ...
- day05数据类型,数字类型,字符串类型,字符串的操作方法,列表类型的操作方法,可变类型与不可变类型
复习 ''' 流程控制 1.顺序结构.分支结构.循环结构 2.if分支结构 if 条件: 代码块 elif 条件: 代码块 else: 代码块 # 可以被if转换为False:0 | '' | Non ...
随机推荐
- Java工程师学习指南 中级篇
Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...
- TCP/IP 笔记 - Internet地址结构
连接到Internet中的每台设备至少都有一个IP地址,IP地址表示了流量的来源(好比别人要找你玩,需要知道你家的地址:网络中别人需要和你通信,也需要知道IP地址),且Internet中的IP地址必须 ...
- golang逃逸分析和竞争检测
最近在线上发现一块代码逻辑在执行N次耗时波动很大1ms~800ms,最开始以为是gc的问题,对代码进行逃逸分析,看哪些变量被分配到堆上了,后来发现是并发编程时对一个切片并发的写,导致存在竞争,类似下面 ...
- 华为云数据库中间件DDM性能卓越,遥遥领先于业界
就说一句话吧,后来者居上,不服不行.
- 关于QT中.pro文件中的相对路径
被.pro文件中的相对路径给整糊涂了,仔细研究后,原来.pro文件中有两种相对路径. 一种情况下./表示.pro文件所在的目录 另一种情况下./表示构建生成目录 INCLUDEPATH SOURCE ...
- 内核知识第六讲,内核编写规范,以及获取GDT表
内核知识第六讲,内核编写规范,以及获取GDT表 一丶内核驱动编写规范 我们都知道,在ring3下,如果我们的程序出错了.那么就崩溃了.但是在ring0下,只要我们的程序崩溃了.那么直接就蓝屏了. 那么 ...
- Linux系列教程(三)——Linux学习技巧
前面我们讲了Linux系统的详细安装教程,大家跟着教程一步一步的操作,应该能完美的完成安装.那么这篇博客跟大家聊聊如何来学习Linux. 1.工欲善其事必先利其器 ①.第一个问题:通过前面在虚拟软件中 ...
- 深入学习卷积神经网络(CNN)的原理知识
网上关于卷积神经网络的相关知识以及数不胜数,所以本文在学习了前人的博客和知乎,在别人博客的基础上整理的知识点,便于自己理解,以后复习也可以常看看,但是如果侵犯到哪位大神的权利,请联系小编,谢谢.好了下 ...
- CentOS 7 开启 SNMP 实现服务器性能监控
1.检测是否有 SNMP 服务 service snmpd status 2.若没有则安装 yum install -y net-snmp 3.编辑 SNMP 的配置文件,设置安全的验证方式 vi / ...
- [SHOI2006] 有色图
Description 给一张 \(n\) 个点的无向完全图,同时还有 \(m\) 种颜色.要求给每条边染色,问有多少种不同的染色方案.两种方案不同当且仅当顶点标号任意重排后不同.\(n\leq 53 ...