返回总目录

目录:

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)之字符串类型的更多相关文章

  1. 数据类型总结——String(字符串类型)

    相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  2. Python数据类型中的字符串类型

    1.换行字符:\n print ('I love python.\nAnd you?') 2.转义字符(\):\\ print ('\\\n\\') 3.制表字符(对齐表格的各列):\t print ...

  3. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  4. day08 数字,字符串类型内置方法

    目录 数字类型内置方法 为什么要有数据类型? 定义方式 方法 储存一个值or多个值? 有序or无序?(有序:有索引, 无序:无索引) 可变or不可变(可变:值变id不变,不可变:值变id也变) 字符串 ...

  5. 数据类型总结——Array(数组类型)

    相关文章 简书原文:https://www.jianshu.com/p/1e4425383a65 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  6. 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 ...

  7. MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性

    1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...

  8. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  9. JavaScript数据类型 String字符串类型

    前言 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串String是javascript基本数据类型,同时javascript也支持 ...

  10. day05数据类型,数字类型,字符串类型,字符串的操作方法,列表类型的操作方法,可变类型与不可变类型

    复习 ''' 流程控制 1.顺序结构.分支结构.循环结构 2.if分支结构 if 条件: 代码块 elif 条件: 代码块 else: 代码块 # 可以被if转换为False:0 | '' | Non ...

随机推荐

  1. python-拷贝

    1.普通的赋值操作 def print_id(array): ids = [] for ar in array: ids.append(id(ar)) print (array, ids) a = [ ...

  2. openshift上使用devicemapper

    环境:openshift v3.6.173.0.5 openshift上devicemapper与官方文档中的描述略有不同,在官方文档的描述中,容器使用的lvm文件系统挂载在/var/lib/devi ...

  3. C语言实现多态

    C语言实现多态 首先声明,大神就不要看了.小弟水平有限. C++多态是通过虚函数表实现的,类似于JAVA多态的实现方式.关于Java多态的实现方式可以看我之前写过的一篇不是很完善的文章.从JVM角度看 ...

  4. SpringMVC教程3

    SpringMVC教程2 一.文件上传 1.引入相关jar包 maven坐标 <!-- fileUpload 解析上传的文件用到的jar --> <dependency> &l ...

  5. 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

    一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和 ...

  6. cJSON填坑记

    1. 艰辛的过程 最近做了一个嵌入式的项目,需要与服务器进行连接.为了方便服务器处理数据,经商定后统一采用JSON形式进行数据的传输. 以前没有用过JSON格式进行数据处理,所以上网搜索了一下,很多人 ...

  7. .NET源码中的链表

    .NET中自带的链表是LinkedList类,并且已经直接实现成了双向循环链表. 其节点类LinkedListNode的数据结构如下,数据项包括指示到某个链表的引用,以及左,右节点和值. public ...

  8. 浅谈MemCahe

    MemCahe 首先介绍下memcahce的定义:是一个分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要频繁访问数据库的网站访问速度提升效果十分显著. 接下来介绍 ...

  9. 数据库内连接GROUP BY查询外键表数据行的总数

    最近看了看SQL,刚好遇到这个问题. INNER JOIN [外键表] ON [主键表] 内链接,用 GROUP BY 分组外键数据,COUNT(*)计算该外键数据总行数,最后用 ORDER BY 排 ...

  10. C# QuartZ使用实例写成服务

    官方学习文档:http://www.quartz-scheduler.net/documentation/index.html 官方的源代码下载:http://sourceforge.net/proj ...