4.1字符串介绍
4.1.1简介
字符串:字母数字符号组成
单引号双引号三引号(三个单引号)
单引号双引号换行用\n三引号可直接换行
4.1.2字符串中有引号
如果字符串中有引号,则要用和他不同的引号括起来
或者可以在字符串中的引号前加"\"他的意思是,将引号转成普通符号,而不是特殊符号,
4.1.3转义字符:
\b 退格
\n 换行
\v 纵向制表
\t 横向制表
\r 回车
4.1.4字符串中有转义字符
如果字符串中有转义字符但是不想让他起作用可以在字符串前加r/R
print(r'转义字符中:\n代表换行;\r代表回车\b表示退格')
输出结果
4.2格式化字符串
python使用%和format()方法格式化还有f-string格式化
4.2.1使用%格式化字符串
格式:
format % values
format代表字符串,values代表字符串的内容
%代表格式化操作,将format中的格式符替换为values
和c/Java类似
%c:字符
%s:字符串
%d:整数
%u:无符号整数
%o:无符号8进
%x:无符号16进
%f:浮点,默认6位小数
%r万能统配符
value =666
format='学好python后就是%d'
print(format%value)
结果:
如果不能被转换则会报错
当有多个数据替换时,要用()括起来,就是元组类型
4.2.2使用format()方法格式化字符串
格式:
str.format(values)
str表示有多个占位符{}的字符串
values表示多个或单个数据,数据间逗号隔开
例:
name='张三'
age='66'
string='姓名:{}\n年龄:{}\n'
print(string.format(name,age))
也可以指定编号·注意第一个编号(索引)是0
name='张三'
age='66'
string='姓名:{1}\n年龄:{0}\n'
print(string.format(age,name))
还可以指定名称(要注意的是要在后边加=对应的变量)
name='张三'
age='66'
string='姓名:{name}\n年龄:{age}\n'
print(string.format(age=age,name=name))
如果变量名字加反了结果也会反
name='张三'
age='66'
string='姓名:{name}\n年龄:{age}\n'
print(string.format(age=name,name=age))
字符串中{}里边可以写浮点类型的精度
例如
4.2.3使用f-string格式化字符串
比较简洁
格式
f('{变量名}')
或
F('{变量名}')
例
age=66
name='张三'
print(f'年龄:{age}\n姓名:{name}\n')
结果:
4.3实训案例
4.3.1进制转换
虽然有很多需要完善的地方
a=int(input('请输入十进制数'))
b=int(input('请输入您要转换的进制2、8、16'))
if b==2:
print('%d对应的%d进制是%s'%(a,b,bin(a)))
elif b==8:
print('%d对应的%d进制是%o'%(a,b,a))
elif b==16:
print('%d对应的%d进制是%x'%(a,b,a))
else:
print('输入错误')
结果
4.3.2文本进度条
代码来自网络自己又改了下稍微
import time
scale = 100
start = time.perf_counter()
print("开始下载".center(scale+3,'='))
for i in range(scale+1):
a = '*'*i
b = '.'*(scale - i)
c = i/scale
print("\r{:.0%}[{}->{}]".format(c,a,b),end="")
time.sleep(0.1)
print("\n"+"下载完成".center(scale+3,'='))