场景:
你登录网站的用户名,你的昵称,你在网上发的帖子,这些东西其实也是定义在一个变量中的,他就是字符串!
定义:
双引号或者单引号中的数据,就是字符串。(三引号中也是,但是很少用;前面提过三引号常用作多行注释)
注意:单引号可以嵌套双引号,双引号可以嵌套单引号,三引号里面可以使用单双引号,同时三引号可以包含换行符、制表符以及其他特殊字符。
# ‐*‐ coding: utf‐8 ‐*‐
s1 = 'hello cang lao shi'
s2 = "hello cang lao shi"
s3 = """hello cang lao shi"""
s4 = '''hello cang
lao shi'''
print(s1)
print(s2)
print(s3)
print(s4)
hello cang lao shi
hello cang lao shi
hello cang lao shi
hello cang
lao shi
一:字符串下标:
下标通俗理解就是位置!字符串虽然看上去是个整体,但是含多个字符,在内存中自然也为每个字符分配位置。
从左到右看,下标是从0开始到(总元素数-1)结束,下标可以用正数,也可以是负数(最后1个字符串下标为-1或者length-1),想取出部分字符,那么可以通过下标的方法。
# ‐*‐ coding: utf‐8 ‐*‐
s1 = 'hello cang lao shi'
print(s1[0])
print(s1[1])
print(s1[2])
print(s1[3])
print(s1[4])
print(s1[5]) # 此处是空格,空格也是字符串
print(s1[-1])
print(s1[17])
h
e
l
l
o
i
i
二:字符串切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片完整语法:[start:end:step]。step代表步长,即每step个距离获取一个字符,step可以为正值也可以为负值,正值代表从左到右,负值代表从右到左。
注意:选取的区间属于左闭右开型,即从"start"位开始,到"end"位的前一位结束(不包含结束位本身)。
1)start如果不指定,默认值为0,即从字符串的开头截取;
2)end如果不指定,默认为截取到最后1个(含最后1位);
3)step如果不指定,默认值为1。
我们以字符串为例讲解。如果取出一部分,则可以使用中括号[]
# ‐*‐ coding: utf‐8 ‐*‐
s1 = 'abcdef'
print(s1[:3]) # 取下标0~2 的字符
print(s1[3:5]) # 取下标是3、4 的字符
print(s1[2:]) # 取下标为2开始到最后的字符
print(s1[1::2]) # 取下标为1开始到最后一个,间隔2个步长
print(s1[1:-1]) # 取下标为1开始到倒数第二个字符
print(s1[-5:-1:1]) # 等价于取下标为1开始到倒数第二个字符
print(s1[-1:-5:-1]) # 等价于取下标为1开始到倒数第二个字符
print(s1[::-1]) #(特殊记忆)字符串翻转
abc
de
cdef
bdf
bcde
bcde
fedc
fedcba
三:字符串长度(借助len函数)
# ‐*‐ coding: utf‐8 ‐*‐
s1 = 'abcdef'
print(len(s1))
6