一、字符串
字符串数据类型:
1.字符串是用双引号""或者单引号""括起来的一个或多个字符。
例如:
str1 = "哈哈" str2 = "嘿嘿"
2.字符串可以保持在变量中,也可以单独存在
3.可以用type()函数测试一个字符串的类型
type(str1)
得到结果: <type ‘str‘>
4.Python语言转义符:\
1)既然字符串用双引号或单引号标识,那我们怎么输出带有单引号或双引号的字符串呢?
python语言设计了转义字符:\(反斜杠)
2)如果我们希望输出带有引号的字符串,可以使用转义符加引号。
print "\"大家好\""
得到结果: "大家好"
3)我们也可以使用\(转义符)加\(反斜杠)来输出带有反斜杠的字符串。
print "\\大家好\\"
得到结果: \大家好\
5.字符串是一个字符系列:
字符串最左端位置标记为0,依次增加。字符串中的编号叫做"索引"
当然也可以按着如下理解:
6.使用单个索引辅助访问字符串中的特定位置
格式如:<string>[<索引>]
var1 = "what‘s your name?" print(var1[3])
也可以通过表达式计算来获得索引的值,如:
x = 3 print(var1[x-2])
7.Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1.
8.Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1
str1 = "hello" print(str1[-2])
得到结果:l
9.此外,也可以通过两个索引值确定一个位置范围,返回这个范围的子串。
格式2:<string>[<start>:<end>]
其中,start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置,也就是左开右闭的。
str1 = "hello" print(str1[1:3])
得到结果:el
格式3: [start:end:step]
• [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
• [start:] 从start 提取到结尾
• [:end] 从开头提取到end - 1
• [start:end] 从start 提取到end - 1
• [start:end:step] 从start 提取到end - 1,每step 个字符提取一个
• 左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1
10.字符串之间可以通过+或者* 进行连接:
1)加法操作(+)将两个字符串连接称为一个新的字符串
var1 = "pine"+"apple" print(var1)
2)乘法操作(*)构建一个由其本身字符串重复连接而成的字符串
print(3*"pine")
11.len()函数能够返回一个字符串的长度
print(len("hello")) print(len("我爱你啊"))
得到结果:
5 12
12.大多数数据类型都可以通过str()函数转换为字符串
例如:整数、浮点数、科学计数法的浮点数
print(type(str(123))) print(type(str(123.5))) print(type(str(123e+10)))
得到结果:
<type ‘str‘> <type ‘str‘> <type ‘str‘>
13.字符串使用实例:
输入一个月份数字,返回对应月份名称缩写:
1.将所有的月份名称缩写存储在字符串中
months = "JanFebMarAprMayJunJulAugSepOctNowDec"
2.在字符串中截取适当的子串来查找特定月份
“找出在哪里切割子串”
每个月份的缩写都由3个字母组成,如果pos表示一个月份的第一个字母,则months[pos:pos+3]表示这个月份的缩写,即: monthAbbrev=months[pos:pos+3]
3.我们将每个月份的编号和首字母在字符串中的位置排列形成如下对应关系:
从对应的关系中我们发现,输入的月份数减1,然后*3就会正确的找到月份的起始位置!
4.因此代码实例为:
months = "JanFebMarAprMayJunJulAugSepOctNowDec" n = input("请输入月份数(1-12):") pos = (int(n)-1)*3 monthAbbrev = months[pos:pos+3] print("月份简写是"+monthAbbrev+".")
结果为:
请输入月份数(1-12):2 月份简写是Feb.
结合这个例子,请同学们修改一下,通过输入1-7,返回中文的星期一到星期日!
二.操作方法
Python语言的字符串包含很多种操作方法,下面我们通过一些例子来学习一些常用的操作方法!
字符串操作方法采用格式:<string>.func()
1.常用方法如下:
2.遍历字符串中的每个字符,格式如下:
for <var> in <string>:
3.转义符可以在字符串中表达一些不可直接打印的信息。
例如:用\n表示换行
1.字符串 "hello\nworld\nhello\nyou"
2.用print()函数打印后的输出效果如下:
hello world hello you