python第四章--字符串和字符串格式化--小白笔记

本文介绍了Python中的字符串基础知识,包括字符串的定义(使用单引号、双引号或三引号),转义字符如 、 等的使用,以及如何在字符串中包含引号。接着详细讲解了字符串的格式化,包括使用%操作符、`format()`方法和f-string的格式化方式,并通过实例演示了各种格式化技巧。最后,文章提供了两个实战案例,一个是实现进制转换,另一个是创建简单的文本进度条效果。
摘要由CSDN通过智能技术生成

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,'='))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y6y6y666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值