字符串
1.字符串的本质是字符序列
2.字符串是不可变的
'''
3.创建字符串
单行数据
a.单引号创建 'String'
b.双引号创建 " String"
使用两种方式创建的原因, 可以创建本身就包含引号的字符串而不使用转义符
多行数据
a.三个单引号\'''
b.三个双引号"""String"""
'''
#test1 测试打印多行字符串
abc='''There was a Young Lady of Norway,
who casually sat in a doorway;
when the door squeezed her flat,
She exclaimed,"What of that?"
This courageous Young Lady of Norway'''
print(abc)
'''
4.python 允许空串的存在
'''
#test2 测试python允许空串的存在
a1=''
print(a1)
'''
5.类型转换 str()函数
str(Object) 将任意类型的数据转换为字符串类型
'''
print(str(123))
print(str(33.22))
print(str(True))
'''
6.转义\
\n 换行
\t 制表符
'''
print("abc\nbcd")
print("abc\tbcd")
print("abc\\cd")
'''
7.字符串拼接
1.使用+ "abc"+"bcd"
2.直接拼接 "abc""bcd"
3.使用print()方法进行拼接 print(a,b,c) 结果为a b c 会为每个拼接字符间自动添加空格
'''
#test3 测试字符串拼接
m="abc"
n="bcd"
print(m+n)
print("abc""bcd")
print(m,n)
'''
8.复制字符串 *
字符串*数量 可以复制多个字符串
'''
#test4 测试复制字符串
print("测试"*4)
'''
9.提取字符串 []
1.在字符串名后面添加[] []内添加偏移量可以提取该位置的单个字符
偏移量最左的是0 ,最右的是-1
2.偏移量超过字符串的长度 异常提醒 越界异常 IndexError:string index out of range
'''
#test5 测试字符串提取
teststr="abcdefghijklmnopqrstuvwxyz"
print(teststr[0])
print(teststr[-1])
print(teststr[1])
'''
10.改变字符串内容 replace()
replace(old, new[, count])
old -将被替换的字符
new -替换成的字符
count -替换最多不超过多少次
'''
#test6 测试替换字符串
testold="abcabcabcabc"
testnew=testold.replace("a","b",2)
'''
11.使用[start:end:step]切片
start --起始偏移量
end --终止偏移量
step --步长
a.[:] 提取从头到尾的整个字符串
b.[start:] 从start提取到结尾
c.[:end] 从开头截取到end-1
python的提取操作不包含最后一个偏移量,所以分片的end偏移量需要比实际提取的最后一个字符的偏移量多1
d.[start:end] 从start截取到end-1
e.[start:end:step] 从start截取到end-1 每step个字符截取一个
ps:无效偏移量 若小于其实位置的偏移量会当作0,大于终止位置的偏移量会被当作-1
'''
#test7 测试切片[:]
testqp="abcabcabcabc"
print(testqp[:])
print(testqp[1:])
print(testqp[:-1])
print(testqp[1:-1])
print(testqp[0:-1:3])
'''
12.获得字符串的长度 len()
len(字符串)
'''
#test8 测试获取字符串长度
a=len(testqp)
print(a)
'''
13.使用split() 分割字符串
split(sep=None, maxsplit=-1)
sep 指定sep字符为分割符,若未指定,默认使用空白字符(空格,换行,制表符)
maxsplit 最多分割多少次
返回值:列表
'''
#test9 测试分割函数
b="1,2,3,4,"
c="1 2 3 4"
print(b.split(","))
print(b.split(",",2))
print(b.split())
print(c.split())
'''
13.合并字符串 join()
str.join(sequence)
str -粘合字符串间的分隔符
sequence --需要粘合的序列(列表)
'''
#测试合并字符串方法
d=["hello","word","haha"]
dnew=".".join(d)
print(dnew)
'''
14.常用字符串函数
'''
#定义所需要的字符串
poem='''All that doth flow we cannot liquid name
Or else would fire and water be the same;
But that is liquid which is moist and wet
Fire that property can never get.
Then 'tis not cold that doth the fire put out
But 'tis the wet that makes it die,no doubt.'''
#test1 提取开头的13个字符
print(poem[:13])
#test2 计算这首诗有多少个字符
print(len(poem))
#test3 判断这首诗是不是以All开头
print(poem.startswith("All"))
#test4 这首诗是否以That’s all,folks!结尾
print(poem.endswith("That's all,folks!"))
#test5 查找诗中第一次出现单词the的位置(偏移量)
print(poem.find("the"))
#test6 查找诗中最后一次出现单词the的位置(偏移量)
print(poem.rfind("the"))
#test7 the在诗中一共出现多少次
print(poem.count("the"))
#test8 诗中所有字符都是字母或者数字么?
print(poem.isalnum())
'''
15.大小写以及对齐方式处理
'''
e="aBc www abc"
#test1 去除字符串头尾指定字符
print(e.strip("acb"))
#test2 将字符串的首字母大写
print(e.capitalize())
#test3 将字符串每个单词的首字母大写
print(e.title())
#test4 将字符串所有字符转换为大写
print(e.upper())
#test5 将字符串所有字符转换为小写
print(e.lower())
#test6 将字符串所有字符大小写转换
print(e.swapcase())
#test7 在30个字符位居中
print(e.center(30))
#test8 左对齐
print(e.ljust(30))
print(e.rjust(30))
'''
16.字符串替换 replace()
replace(a,b,c)
a --需要被替换的字符串
b --替换后的字符串
c --最多替换多少次
'''
#test9 测试替换函数
print(e.replace("w","d",2))
print(e)
'''
练习:
1.计算一个小时有多少秒赋值给seconds_per_hour
2.计算一天有多少秒赋值给seconds_per_day
3.用second_per_day除以second_per_hour 浮点数除法
4.用second_per_day除以second_per_hour 整数除法
'''
seconds_per_hour=60*60
seconds_per_day=24*seconds_per_hour
float_day_hour=seconds_per_day/seconds_per_hour
int_day_hour=seconds_per_day//seconds_per_hour
print(seconds_per_hour)
print(seconds_per_day)
print(float_day_hour)
print(int_day_hour)