让0基础纯小白也能上手写Python(三)
一、序列-字符串
1.序列:用来表示有序的元素集合。
2.字符串:使用单引号或双引号、三引号包裹起来的字符的序列。 1a = "单引号字符串" 2b = "双引号字符串" 3c = """单三引号字符串""" 4d = """双三引号字符串""" 5e = """床前明月光,疑是地上霜。举头望明月,低头思故乡。""" 6print(type(a),a) 7print(type(b),b) 8print(type(c),c) 9print(type(d),d) 10print(type(e),e) 11# 输出结果 12 单引号字符串 13 双引号字符串 14 单三引号字符串 15 双三引号字符串 16 床前明月光, 17疑是地上霜。 18举头望明月, 19低头思故乡。
3.单引号中要使用双引号1a = "他说:"他很努力"" 2print(a) 3# 输出结果 4他说:"他很努力"
5.双引号中要使用单引号1a = "他说:"他很努力"" 2print(a) 3# 输出结果 4他说:"他很努力"
6.空字符串1a = "" 2print(a) 3# 输出结果 4不显示输出内容 二、字符串的索引切片
1.索引:元素在序列中的位置,也叫下标。1str_a = "Hello,TesterRoad!" 2print(str_a[6]) 3# 输出结果 4T
2.索引不能取超过字符串的长度1str1 = "Hello,TesterRoad!" 2print(str1[60]) 3# 输出结果 4IndexError: string index out of range
3.查看字符串的长度len1str1 = "Hello,TesterRoad!" 2print(len(str1)) 3# 输出结果 417
4.取字符串中的最后一位方法一:倒序1str1 = "Hello,TesterRoad!" 2print(str1[-1]) 3# 输出结果 4! 方法二:正序取最后一位1str1 = "Hello,TesterRoad!" 2index = len(str1)-1 3print(str1[index]) 4# 输出结果 5! 三、切片的规则
1.格式:字符串[ 起始索引: 结束索引: 步长]
2.默认起始索引为0 ,默认步长为1
3.左闭右开:含起始,不含结束
4.常用形式:[ 起: 末][ 起: 末: 步长]
5.步长为正,表示正序切,步长为负,表示倒序切
6.字符串反转[::-1] 1str1 = "Hello,TesterRoad!" 2print(str1[0:-1:1]) 3# 输出结果 4Hello,TesterRoad
7.包头不包尾1a = "0123456789" 2print(a[0:-1]) 3# 输出结果 4012345678
8.从头开始切可以省略start 1a = "0123456789" 2print(a[:5]) 3# 输出结果 401234
9.从头切到尾1a = "0123456789" 2print(a[:]) 3# 输出结果 40123456789
10.反向切片1a = "0123456789" 2print(a[::-1]) 3# 输出结果 49876543210
11.取字符串中的一段方法一:步长为正:起始值+ 正步长,起始值<结束值1str1 = "Hello,TesterRoad!" 2print(str1[6:12]) 3# 输出结果 4Tester 方法二:步长为负,起始值+ 负步长,起始值>结束值1str1 = "Hello,TesterRoad!" 2print(str1[-11:-7]) 3# 输出结果 4Test
12.取整个字符串方法一1str1 = "Hello,TesterRoad!" 2print(str1[:]) 3# 输出结果 4Hello,TesterRoad! 方法二1str1 = "Hello,TesterRoad!" 2print(str1[::]) 3# 输出结果 4Hello,TesterRoad! 四、字符串拼接
1.字符串拼接1a = "hello" 2b = "TesterRoad" 3c = "!" 4print(a+b+c) 5# 输出结果 6helloTesterRoad!
2.打印100个* 1print(100*("*")) 2# 输出结果 3**************************************************************************************************** 五、字符串和数值的相互转化
1.整数和数字字符串的相互转化1int_str = "1" 2res = int(int_str) 3print(type(res),res) 4# 输出结果 5 1
2.浮点数和浮点数字符串的相互转化1float_str = "1.2" 2res = float(float_str) 3print(type(res),res) 4# 输出结果 5 1.2
3.整数字符串转化浮点数1int_str = "1" 2res = float(int_str) 3print(type(res),res) 4# 输出结果 5 1.0
不是整数字符串的都不能转化成整数 不是整数字符串或者浮点数字符串不能转化成浮点数。 六、字符串常用方法
1.count() :count(子字符串),统计子字符串出现的次数。
2.lower() :字符串全部转成小写1a = "HELLO,TESTERROAD!" 2print(a.lower()) 3# 输出结果 4hello,testerroad!
3.upper() :字符串全部转成大写1a = "Hello,TesterRoad!" 2print(a.upper()) 3# 输出结果 4HELLO,TESTERROAD!
4.replace() ,字符串替换replace(old,new,[count]) ,用new 字符串替换old 字符串,替换次数为count ,默认为-1 即全部替换1a = "welcome,python!" 2b = a.replace("python","Java") 3print(b) 4# 输出结果 5welcome,Java! 替换replace 1a = "888-888-888" 2print(a.replace("-"," ")) 3# 输出结果 4888 888 888
5.index() :获取指定字符串的索引 1a = "Hello,TesterRoad!" 2print(a.index("T")) 3# 输出结果 46 5 6# 从第5个开始找 7a = "Hello,TesterRoad!" 8print(a.index("T",5)) 9# 输出结果 106
6.capitalize() :首字母大写1a = "hello,TesterRoad!" 2print(a.capitalize()) 3# 输出结果 4Hello,testerroad!
7.isalnum() :是否是数字型字符串1a = "hello,world!" 2print(a.isalnum()) 3a = "123" 4print(a.isalnum()) 5# 输出结果 6False 7True
8.find() :查找,找到返回1 ,找不到返回-1 1a = "888-888-888" 2print(a.find("6")) 3# 输出结果 4-1 七、转义字符
1.反斜杠符号
2.单引号" 1# 转义单引号`` 2print(""") 3# 输出结果 4"
3.双引号" 1# 转义双引号`"` 2print(""") 3# 输出结果 4" 5
4.转义 1print("\") 2# 输出结果 3
5.响铃a
6.换行 1s = "床前明月光, 疑是地上霜." 2print(s) 3# 输出结果 4床前明月光, 5疑是地上霜.
7.横向制表符
8.回车r
9.换页f
10.取消转义r 1s = r"床前明月光, 疑是地上霜." 2print(s) 3# 输出结果 4床前明月光, 疑是地上霜. 八、字符串格式化:%
1.%s :格式化字符串1b = "11:15分计算机的内存利用率达到了75%" 2a = "%s分计算机的内存利用率达到了%s" 3time_str = "11:15" 4percent = 0.75 5res = a% (time_str,percent) 6print(res) 7# 输出结果 811:15分计算机的内存利用率达到了0.75
2.%d :格式化整数1month = 1 2month_format_str = "%02d" 3res = month_format_str % month 4print(res) 5# 输出结果 601
3.%f :格式化浮点数字,可指定小数点后的精度1a = "%s分计算机的内存利用率达到了%.3f%%" 2time_str = "11:15" 3percent = 0.75 4res = a% (time_str,percent) 5print(res) 6# 输出结果 711:15分计算机的内存利用率达到了0.750%
4.%e :科学计算法
5.%o :转化为八进制1a = "%s,%d,%e,%o" % (10,10,10,10) 2print(a) 3# 输出结果 410,10,1.000000e+01,12
6.不按照对应坑位输入1a = "%(num)s,%(num)d,%(num1).2e,%(num)o" % {"num":10,"num1":20} 2print(a) 3# 输出结果 410,10,2.00e+01,12 九、format格式化1# 语法 2"{}".format(参数)
1.{} 默认一一对应参数1time_str = 11.15 2percent = 0.75 3a = "{}计算机的内存利用率为{}%".format(time_str,percent) 4print(a) 5# 输出结果 611.15计算机的内存利用率为0.75%
2.{} 输入参数位置1time_str = 11.15 2percent = 0.75 3a = "{1}计算机的内存利用率为{0}%".format(time_str,percent) 4print(a) 5# 输出结果 60.75计算机的内存利用率为11.15%
3.在字符串当中,指定替换的索引方法一1name = "哈哈" 2str_a = "hello,我是{2},她是{0},他是{1}".format(name,"路人","老师") 3print(str_a) 4# 输出结果 5hello,我是老师,她是哈哈,他是路人 方法二1name = "哈哈" 2str_a = "hello,我是{1},她是{1},他是{1}".format(name,"路人","老师") 3print(str_a) 4# 输出结果 5hello,我是路人,她是路人,他是路人
4.关键字参数名和关键字参数一一对应1a = "{time}计算机的内存利用率为{percent}%".format(percent=76,time="11:15") 2print(a) 3# 输出结果 411:15计算机的内存利用率为76%
5.宽度2 表示输出为2 位1# 输出两位数参数 2a = "{:0>2}".format(1) 3print(a) 4# 输出结果 501
6.宽度4 表示输出为4 位1a = "{:0>4}".format(1) 2print(a) 3# 输出结果 40001 5 6a = "{:0<4}".format(1) 7print(a) 8# 输出结果 91000
7.居中^ 1a = "{:*^4}".format(10) 2print(a) 3# 输出结果 4*10*
8.保留小数1a = "{}计算机的内存利用率为{:.2f}%".format("11:15",0.7588) 2print(a) 3# 输出结果 411:15计算机的内存利用率为0.76% 十、f 表达式
1.用法一1name = "测试工程师成长之路" 2str_a = f"hello,我是{name}" 3print(str_a) 4# 输出结果 5hello,我是测试工程师成长之路
2.用法二1name1 = "mrjade" 2name2 = "TesterRoad" 3name3 = "糖糖" 4str_a = f"hello,我是{name1},她是{name2},他是{name3}" 5print(str_a) 6# 输出结果 7hello,我是mrjade,她是TesterRoad,他是糖糖
3.加表达式1str_a = f"hello,我是{1+1},她是{10>5},他是{12.3456}" 2print(str_a) 3# 输出结果 4hello,我是2,她是True,他是12.3456