Python学习之路10—认识字符串

一、字符串的定义

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

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

输出的是:

hello world
<class 'str'>
二、 关于字符串的写法,有三种:单引号,双引号,三引号。

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

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))

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

hello my name is Cat
<class 'str'>
2、双引号:

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

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

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

hello my name is Cat
<class 'str'>
3、最后就是三引号了:

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

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

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

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

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

hello
 my name is Cat
<class 'str'>

再看下单三引号:

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

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

hello 
my name is Cat
<class 'str'>

三、 字符串的输入输出

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

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

当然咯,我这里输出肯定爆粗了。翻了下以前的笔记,才回想起,原来输入输出是这么写的。

1、字符串的输出:%s
name = 'Cat'
print('我的名字叫%s'%name)
#或者是下面这种:
print(f'我的名字叫{name}')
2、字符串的输入:input

把以前的例子拿出来看下

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

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

请输入登录账号:1
1

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

四、 字符串的“下标”

“下标”,在程序中又叫“索引”,也叫“索引值”。
简单理解“下标”就是取字符串中的某一位。
举个例子理解下:
A = 0123456789
name = 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]) # 输出是:123456 
print(A[1:7:2]) # 输出是:135 
print(A[1:7:]) # 输出是:123456,当步长不写,会默认取1
print(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位,正负数均可。

好啦,今天学习了字符串的输入、输出、下标、切片。

我是小贼猫,产品经理一枚。今年的Flag是拿下Python。平时自己学习的东西都会分享在公众号上,喜欢的人可关注公众号:爱偷懒的小贼猫(xiaodoubi_svip)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值