文章目录
学习目标:
1.会根据需要创建单行、多行字符串;
2.会根据要求截取字符串;
3.会使用转义字符表示换行、制表符。
学习内容:
一、 什么是字符串
python 中,字符串就是用单引号('
)、双引号("
)、三引号('''
)括起来的一串字母、文字、数字和符号(含回车符、制表符等特殊符号)。
str(x):将x转换为字符串。
注:python 不像c语言一样有单独的字符型,('a'
)是有一个元素的字符串。
str1 = '1 - 这是一个字符串'
str2 = ('''2 - 这是一个由三引号
定义的有回车的
多行字符串''')
str3 = '3 - 这是一个有转义符\n的字符串'
print(str1)
print(str2)
print(str3)
程序输出:
索引方式:python 字符串采用双向索引的方式,从左往右依次为(0,1,2,…),从右往左依次为(-1,-2,-3,…)
二、截取字符串(切片)
python 使用中括号 []
进行字符串的截取。
语法:变量名[开始[ : 结束 : 步长] ](开始:开始处索引号;结束:结束后一个索引号;步长:表示每几个取一个,如果为负数表示从右往左截取)
注:1.截取字符串,是将截取的重新存储在新的内存中,而不是改变原有的字符串(字符串属于不可变型);2.指定开始结束位置时,采用的是 [开始:结束) 包含开始位置,不包含结束位置;3.默认步长为1,开始,结束索引号必须是从左往右,如果步长为负数,开始、结束索引号必须从右往左,不然截取内容为空;4.不能修改字符串中某一个值(不能用 str[0] = 'h'
)
str = 'Hello Python' #定义一个字符串变量str
print('1- ' + str) #打印变量
print('2- ' + str[1]) #截取第2个字符
print('3- ' + str[0: 11]) #截取第1个至倒数第2个字符
print('4- ' + str[6: ]) #截取第6个至最后一个字符
print('5- ' + str[0: 6: 2]) #截取第1个至第5个字符,步长为2
print('6- ' + str[-1: -7: -1]) #从右往左截取倒数第1个至倒数第6个字符
print('7- ' + str) #再次打印原字符串,可见未变
输出
三、转义字符
python 用斜杠(\)作为转义字符,表示一些特殊的字符。
四、字符串运算符
示例:
str1 = 'Hello'
str2 = 'python'
print('1- 连接字符串:', str1 + str2, end= '\t'*2)
print('2- a在字符串1里吗:', 't' in str1, end= '\t'*2)
print('3- t在字符串1+2里吗', 't' in str1 + str2)
print('4- a不在字符串1里吗:', 'a' not in str1)
print('5- r的应用\n(前边没有r会回车)')
print(r'6- r的应用\n(前边有r直接输出)')
运行结果
五、字符串格式化
python 中使用与 C 中 sprintf 函数一样的字符串格式化语法。具体 如下:
示例:
from math import pi #导入标准库math中的常量pi
name = '小张'
print('我叫%s,我知道圆周率小数点后8位是%.8f,8个数字宽保留两位小数是%8.2f'
%(name, pi, pi))
输出:
六、字符串操作方法
python 提供了丰富的字符串操作,以生成新字符串。具体如下
应用举例:
str1 = 'hello python' #标题方式首字母大写
str_num = str(12345) #将数字转为字符串
print(str1.title()) #字符串标题化
print(str_num.isdigit()) #判断字符串是否只包含数字
输出结果:
要点回顾
python 字符串截取时采用的是前闭后开法;in 可以查看一个字符串有没有包含在另一个字符串里。
拓展练习
- 用两种方式存储变量,并打印《静夜诗》,格式如下:
静夜诗
唐 李白
床前明月光,疑似地上霜。
举头望明月,低头思故乡。
str1 = '\t静夜思\n\t唐 李白\n床前明月光,疑似地上霜。\n举头望明月,低头思故乡。\n'
print(str1)
str2 = '''\t静夜思
\t唐 李白
床前明月光,疑似地上霜。
举头望明月,低头思故乡。
'''
print(str2)