字符串类型

字符串类型是编程语言里非常重要的数据类型,因为几乎所有的程序主要做的事情就是处理字符串,这个随着大家的学习会有深入的体会。

字符串的定义

python中字符串(str)是使用单引号,双引号,三引号包裹起来的字符的序列,用来表示文本信息。

>>> a = 'a'		# 单引号
>>> b = "bc"	# 双引号
>>> print(type(a), type(b))
<class 'str'> <class 'str'>

使用单引号和双引号进行字符串定义没有任何区别。

当单引号是字符串的一部分时用双引号定义字符串,反之亦然。

但个人建议一般情况下使用单引号定义字符串,因为不需要按shift键,方便。当然用双引号也没有什么不好,但尽量保持一致。

>>> print('我最近看了"平凡的世界"')
我最近看了"平凡的世界"
>>> print("我最近看了'平凡的世界'")
我最近看了'平凡的世界'

一对单引号或双引号只能定义单行字符串,三引号可以用来创建多行表示的字符串。

>>> content = '''窗前明月光,疑是地上霜;
举头望明月,低头思故乡。'''
>>> print(content)
窗前明月光,疑是地上霜;
举头望明月,低头思故乡。

三单引号和三双引号也没有本质区别。三双引号一般用来做多行注释,函数,类定义时的说明文档。

"""
我是多行注释
函数,类定义的说明文档
后面我们再说
"""

字符串还有一个很重要的概念空字符串,表示字符串中没有任何字符,定义如下:

>>> a = ''
>>> print(a)

直接写两个引号,中间没有空格,打印时没有任何显示。空字符串的概念非常重要,用来表示文本输出为空。

字符串的索引

序列类型中的元素都用索引来表示它在序列中的位置。

单个字符在字符串中的位置叫索引,也叫下标

1659343896765

索引是从0开始的整数序列,0表示字符串的第一个位置,以此类推。

通过索引可以获取字符串中的单个字符,语法如下:

str[index]
>>> s = 'Hello,world!'
>>> print(s[0])
H

索引还可以使用负数表示,-1表示倒数第一个字符,-2表示倒数第二个字符,以此类推。

>>> s = 'Hello,world!'
>>> print(s[-1])
!
>>> print(s[-2])
d

字符串的切片

获取序列中的子序列叫切片。

字符串的切片就是获取字符串的子串。字符串切片的语法如下:

str[start:end:step]
  • start表示切片的开始索引,在切片的结果中包含开始索引的字符
  • end表示结束索引,在切片的结果中不包含结束索引的字符
  • step是步长,表示每隔几个字符切片,当步长为1是可以省略。

看下面的案例:

>>> s = '012345678'
>>> print(s[1:5])   # 包头不包尾
1234

从头开始切片可以省略start

>>> print(s[:5])
01234

切到末尾包含末尾可以省略end

>>> print(s[1:])
12345678

当步长不为1时

>>> print(s[1::2])
13579

特别的,当步长为负数时,表示反向切片,切片会从后往前进行,例如:

>>> print(s[1::-1])
10
>>> print(s[9::-1])
876543210

字符串拼接

python中序列可以进行加法运算实现拼接。所以字符串可以通过+进行拼接:

>>> a = 'hello'
>>> b = ' '
>>> c = 'world!'
>>> print(a+b+c)
hello world!

既然可以加法运算,那么一般也可以和整数进行乘法运算,实现重复拼接的效果:

>>> print('*' * 10)
**********

字符串和数值的相互转化

1'1'不同,1.2'1.2'也不相同,但是它们可以相互转化。

整数和字符串之间的转化

>>> int('1')	# 整数字符串转化为整数
1
>>> str(1)		# 整数转化为字符串
'1'

浮点数和字符串之间的转化

>>> float('1.2')
1.2
>>> str(1.2)
'1.2'

将数值字符串转化为对应的数值类型时,格式一定要正确,否则会抛出异常

>>> int('1.2')   # '1.2'不是整数字符串运行会抛出异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.2'

注意:如果你用print函数打印整数和整数字符串输出形式是一样的。

>>> print(1)
1
>>> print('1')
1

转义符

除了可见字符外,还有很多不可见的特殊字符,例如回车,换行,制表符等。这些字符是通过反斜杠和其他字符组合来表示,称为转义,所以也称为转义符。常见的转义字符如下表:

组合 符号
\ 反斜杠符号
' 单引号
" 双引号
a 响铃
n 换行
t 横向制表符
r 回车
f 换页
>>> print('窗前明月光,n疑是地上霜。')  # 输出换行
窗前明月光,
疑是地上霜。
>>> print(''')      # 输出单引号本身
'

其他的转义字符大家可以自行练习。

可以通过前导符r,强制不转义将字符串原样输出:

>>> print(r'窗前明月光,n疑是地上霜。')  # 不转义
窗前明月光,n疑是地上霜。
再给大家分享一个学习小技巧,我以前分不清正斜杠和反斜杠。直到有一天,撇`/`就是正,捺``就是反。
是不是秒记。
嘿嘿,不用谢!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:字符串类型 - Python技术站

(0)
上一篇 2023年4月2日 下午5:11
下一篇 2023年4月2日

相关文章

  • 编译型与解释型编程语言的区别

    前面我们知道了高级编程语言计算机是不能直接识别的,需要通过翻译成机器码然后交由计算机执行。 根据不同的翻译机制,又分为编译型和解释型。 注意,翻译源代码是一个非常复杂的过程,大致包括词法分析,语法分析,语义分析,性能优化,目标代码生成等五个步骤。在初学阶段没有必要研究这个,如果感兴趣可以阅读《编译原理》一书。 接下来我会使用通用的语言和类比的方式讲解编译和解…

    2023年4月2日
    00
  • 字符串格式化

    在编写程序中经常需要动态输出字符串。例如,我们通过程序计算计算机的内存利用率,然后输出 10:15 计算机的内存利用率为30% 其中下划线部分的内容会动态调整,需要根据执行结果进行填充,最终形成上述格式的字符串输出。 这种功能就需要使用到字符串格式化操作,python中支持三种形式的字符串格式化: % 字符串格式化 format方法字符串格式化 f表达式 %…

    Python开发 2023年4月2日
    00
  • 类和对象

    类 前面我讲到基本数据类型用来表示最常见的信息,但信息有无穷多种,为了更好的表达信息,我们可以创建自定义的数据类型。 一种数据类型就是一个类。例如整数,浮点数,字符串等。 类的定义 python中通过关键字class可以定义一个自定义的数据类型,基本语法如下: class 类名: 属性 方法 注意:python中类名规则同变量名,但是一般使用大驼峰来表示。 …

    Python开发 2023年4月2日
    00
  • 基本数据类型概述

    思考,是上面的苹果堆好处理(运输,存储,加工)还是下面有包装的苹果好处理。 什么是数据类型 数据类型简单的理解,其实就是为了方便处理(传输,存储,运算)数据,对数据做的包装,不同的类型就是不同的包装。 编程语言通过一些复杂的计算机物理底层机制,创造了不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的传输,存储和计算。 每一种编程语言都会预先定义…

    2023年4月2日
    00
  • python是什么?

    Python是荷兰人 Guido van Rossum (国内昵称龟叔)于1989年圣诞节期间开发出来的。 据龟叔的自述记载,Python语言是他在圣诞节期间为打发时间开发出来的。 选择Python作为该编程语言的名字,是取自英国20世纪70年代首播的电视剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)。 ABC是龟叔…

    2023年4月2日
    00
  • 如何运行python程序

    python程序的运行方式有两种: 1. 交互式 在命令行窗口输入命令 python 进入python解释器交互式客户端,在窗口输入任意python代码,客户端窗口都会立即返回运行结果。 当关闭客户端窗口后,代码不会保存。这种交互式方式一般用来进行测试,不是正式的运行方式。 2. 脚本式 按照惯例学习每一门编程语言的第一个程序都是打印’hello world…

    2023年4月2日
    00
  • 环境变量如何设置?

    上一节我们讲到了环境变量PATH,那如何设置它的值呢? windows系统设置环境变量的步骤如下: 右键【我的电脑】-》【属性】-》【高级系统设置】-》【环境变量】 在用户环境变量中找到Path,如果没有就新建一个。然后双击,打开编辑页面。 左边是设置好的路径列表,右边是操作按钮,把你想要设置的路径添加进来即可。如果在安装python解释器时忘记了勾选最后一…

    2023年4月2日
    00
  • 列表类型

    python中列表(list)用来表示有序可变元素的集合,元素可以是任意数据类型。列表是一种复合数据类型,它是容器结构,可以包含其他类型的数据,在开发过程中会大量应用。 列表的定义 列表由一对中括号进行定义,元素与元素之间使用逗号隔开。 空列表的定义 >>> a = [] >>> print(a, type(a)) [] …

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部