一、 字符串的定义 字符串是最常用的数据类型,一般使用引号来创建。 我们可以先来一个例子来看看,以前学习过通过使用type来检测代码的数据类型,可见“hello world”是“str”类型,即字符串类型。

a = 'hello world'print(a)print(type(a))
a = 'hello world'
print(a)
print(type(a))


输出的是:

hello world
hello world


二、关于字符串的写法,有三种:单引号,双引号,三引号。

如下所示,三种都是字符串的写法。

a = 'hello my name is Cat'b = "hello my name is Cat"c = """hello my name is Cat"""d = '''hello my name is Cat'''
a = 'hello my name is Cat'
b = "hello my name is Cat"
c = """hello my name is Cat"""
d = '''hello my name is Cat'''


1、先来讲讲

单引号

单引号正常书写是这样的:a = 'hello my name is Cat',那我要是换个行,看看效果:

a = 'hello ' \    'my name is Cat'print(a)print(type(a))
a = 'hello ' \
    'my name is Cat'
print(a)
print(type(a))


单引号换行,会有一个换行符展示,但是最终输出的内容与不换行是没有区别的:

hello my name is Cat
hello my name is Cat


2、

双引号

正常双引号书写格式是:b = "hello my name is Cat",对双引号换行试试:

b = "hello " \    "my name is Cat"print(b)print(type(b))
b = "hello " \
    "my name is Cat"
print(b)
print(type(b))


双引号换行,输入输出的内容与单引号换行一样,结果都是没变化的:

hello my name is Cat
hello my name is Cat


3、最后就是

三引号

三引号书写有两种,单三引跟双三引:

c = """hello my name is Cat"""d = '''hello my name is Cat'''
c = """hello my name is Cat"""
d = '''hello my name is Cat'''


那么来看看换行,是怎么样的。

c = """hello my name is Cat"""print(c)print(type(c))
c = """hello
 my name is Cat"""
print(c)
print(type(c))


双三引号换行,输出的内容也跟着换行了,但是会首行缩进一个字符:

hello my name is Cat
hello
 my name is Cat


再看下单三引号:

d = '''hello my name is Cat'''print(d)print(type(d))
d = '''hello 
my name is Cat'''
print(d)
print(type(d))


单三引号换行,输出的内容也跟着换行了,但是首行不会缩进字符:

hello my name is Cat
hello 
my name is Cat


三、 字符串的输入输出

在最初的学习中,就学习过字符串的输入输出,但是我一下子忘记了,就导致代码写成了这样:

name = 'Cat'print('我的名字叫'name'')
name = 'Cat'
print('我的名字叫'name'')


当然咯,我这里输出肯定报错了。翻了下以前的笔记,才回想起,原来输入输出是这么写的。 1、字符串的输出:%s  Python 学习之路3——格式化输出(点击蓝色字即可跳转)


name = 'Cat'print('我的名字叫%s'%name)#或者是下面这种:print(f'我的名字叫{name}')
name = 'Cat'
print('我的名字叫%s'%name)
#或者是下面这种:
print(f'我的名字叫{name}')


2、字符串的输入:input  Python学习之路4—格式符扩展+n(点击蓝色字即可跳转)

把以前的例子拿出来看下

a = input("请输入登录账号:")print(a)
a = input("请输入登录账号:")
print(a)


那么最后输出的结果如下,当然,这里输入的是啥,最后结果就是啥。比如我输入1就是1。

请输入登录账号:11
请输入登录账号:1
1


对于字符串的输入,这里input 的所有内容,最终都会是字符串类型的数据。这个点要记住。 四、 字符串的“

下标

“下标”,在程序中又叫“索引”,也叫“索引值”。 简单理解“下标”就是取字符串中的某一位。 举个例子理解下:

A = 0123456789name = Cat


现在“name = Cat”,当我们要输出Cat的时候,直接print即可。

name = 'Cat'print(name)


但是,我就想取“Cat”中的“a”,怎么拿?这就用到下标了。 数据,是存储在内存中。内存中的数据,都是按序排列的。比如“Cat”,排列出来的顺序就是012(数据中的数据都是从0开始排列的)。 那我想取“Cat”中的“a”,这个时候用下标就能取到啦。 1、下标的语法

下标:字符串[]

name = 'Cat'print(name[1])


这样就拿到“a”啦~ 那我想取“at”,我这样操作了下

name = 'Cat'print(name[12])


很遗憾,Error。 五、 字符串的“切片”

上面学习了下标,是取字符串中的某一位,那要取多位的,就是“切片”。 1、切片的语法是:

字符串[开始位置下标:结束位置下标:步长]注意,这里的[]是左闭右开。 举个例子:

A = '0123456789'print(A[1:7:1])


那么最终输出的是“123456”。 A[1:7:1],意思就是从1开始取,取到7,但是不包含7,步长是1位,意思就是下一位。

A = '0123456789'print(A[1:7:1]) # 输出是:123456print(A[1:7:2]) # 输出是:135print(A[1:7:]) # 输出是:123456,当步长不写,会默认取1print(A[:7:1]) # 输出是:0123456,不写开始,那就从第一位取print(A[1::1]) # 输出是:123456789,不写结束,那就取到最后一位 print(A[::1]) # 输出是:0123456789,不写开始和结束,那就取所有 关于负数:print(A[::-1]) # 输出是:9876543210,当步长为负数,则倒叙排列 print(A[-6:-1]) # 输出是:45678,就是从倒数第6位开始,不包含倒数第一位结束。print(A[-1:-3:1]) # 输出无结果,因为-1到-3数从右到左的顺序,但是步长1是从左到右的顺序,当开始结束与步长的顺序冲突,是没有结果的。print(A[-1:-3:-1]) # 输出:98,当开始结束与步长的顺序不冲突就是OK的。


所以,关于切片,要记住两点:

  • 切片的语法是:字符串[开始位置下标:结束位置下标:步长]注意,这里的[]是左闭右开。正负数均可。
  • 步长是选取间隔,默认是1位,正负数均可。


好啦,今天学习了字符串的 输入、输出、下标、切片, 下期再会~ 关于字符串,刚开始做前端需求的时候还跟开发闹过乌龙,可以看下以前发生的故事, 写需求,如何明确字符与字节