Python精通-Python字符串格式化操作

导语
  在之前的分享中提到了关于Python基本的数据类型,并且提到了一个基本数据类型字符串,花费了三篇博客的时间对于字符串的基本操作做了分享。这篇博客主要分享关于字符串格式化的问题,在开发中经常会用到字符串格式化的操作。所以对于字符串的格式化操作无论是对于使用者还是开发人员都是有很多的好处。

字符串格式化

  字符串的格式化主要有两种方式,一种是以百分号的形式,一种是使用Format函数,下面就来看看常用的简单字符串拼接。对于字符串的拼接来说它的主要的作用就是定制化的显示数据。

msg = "I am %s my hobby is coding" %"nihui";
print(msg)

常用字符串格式化

百分号方式

%[(name)][flags][width].[precision]typecode

  • (name) 可选,用于选择指定的key
  • flags 可选,可以提供的值有如下
    • + 表示右对齐
    • - 表示左对齐
    • 空格 表示右对齐
    • 0 表示右对齐
  • width 可选表示所占宽度
  • precision 可选,表示小数点后保留的位数
  • typecode 必选
    • s 获取传入对象的__str__方法返回的值。
    • r 获取传入对象__repr__方法返回值
    • c 将整数转换成字符串
    • o 将整数转换成八进制
    • x 将整数转换成十六进制
    • d 数字处理
    • % 在打印百分号的时候使用
    • e 科学计数法
    • f 浮点数操作
常用字符串的拼接

  使用 %s 可以代表任意的的数据。而%d只能表示整数

msg = "I am %s my hobby is coding" %"nihui";
msg1 = "I am %s my hobby is %s" % ("nihui","Python")
msg2 = "I am %s my hobby is %s" % ("nihui",1)
msg3 = "I am %s my hobby is %s" % ("nihui",[1,2])

msg4 = "I am %s my hobby is %d" % ("nihui",12)

print(msg)
print(msg1)
print(msg2)
print(msg3)
print(msg4)
拼接浮点数和百分比

在下面使用的时候需要注意对于浮点书的截取,一个是四舍五入的,一个是直接进行字符截取,但是不推荐使用字符截取。

## 对于浮点数进行操作
tpl = "percent %.2f %%" % 98.314241
print(tpl)

## 只是表示字符串的截取
tpl = "percent %.4s" % 99.76444444444
print(tpl)
键值拼接字符串

在一般的操作中为了方便,还可以进行如下的操作。对于字符串进行键值拼接,后面传入的是一个固定的字典

tpl = "I am %(name)s age %(age)d" % {"name":"nihui","age":18}

tpl1 = "I am %(pp).2f" % {"pp":123.123534}

print(tpl)
print(tpl1)

Format方式

[[fill]align][sign][#][0][width][,][.precision][type]

  • fill 可选 空白处填充的字符
  • align 可选对其方式需要配合width使用
    • < 内容左对齐
    • > 内容右对齐,默认
    • = 内容右对齐,将符号放在左侧,只对数字有效
    • ^ 内容居中显示
  • sign 可选参数,有无符号数字
    • + 正号加正,负号加负
    • -
    • 空格 默认
  • # 对于进制的表示
  • , 给数字添加分割符
  • width 格式化所占位数
  • precision 小数保留位置
  • type 格式化类型 主要有以下一些参数
    • 传入字符串
      • s
      • 空白
    • 传入数字参数
      • b 将十进制转换为二进制表示
      • c 将十进制准换为对应的Unicode
      • d 十进制
      • o 将十进制转换为八进制
      • x 将十进制转换为十六进制
      • f 表示浮点数
      • e 表示科学计数法
      • g 表示自动切换e和f

常用格式化

test = "I am {},age {},{}".format("nihui",23,"test")
print(test)

test = "I am {},age {},{}".format(*["nihui",23,"test"])
print(test)

## 按照参数位置进行匹配
test = "I am {0},age {2},{1}".format("nihui",23,"test")
print(test)

test = "I am {0},age {2},{1}".format(*["nihui",23,"test"])
print(test)

#按照制定参数匹配
test = "I am {name},age {age},{test}".format(name="nihui",age=23,test="test")
print(test)

## 按照字典的方式进行传递
test = "I am {name},age {age},{test}".format(**{"name":"nihui","age":23,"test":"test"})
print(test)
## 按照列表,最终会拼接成一个元组
test = "I am {1[0]} ,age {0[1]},i like {0[2]}".format([1,2,3],[11,22,33])
print(test)

## 按照制定参数类型进行传值
test = "I am {:s} age {:d}, I Like {:f}".format("nihui",23,234.234)
print(test)

test = "I am {:s} age {:d}, I Like {:f}".format(*["nihui",23,234.234])
print(test)

## 按照键值对的方式进行传递
test = "I am {name:s} age {age:d}, I Like {like:f}".format(name="nihui",age=23,like=234.234)
print(test)

## 按照字典的方式进行传递
test = "I am {name:s} age {age:d}, I Like {like:f}".format(**{"name":"nihui","age":23,"like":234.234})
print(test)

## 按照制定类型格式化数字

number = "number {:b},{:o},{:d},{:x},{:X},{:%}".format(12,23,41,12,123,123,12312,2)
print(number)

总结

  对于字符串的其他操作格式化的操作可以在使用的时候查询API,或者其实在工作中只要掌握上面这些就足够了。除非你想去搞点其他的事情,这样的场景下就需要掌握的更加深入,这样可以自动的实现某些功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 格式化输出字符串是指将变量或常量按照一定的格式输出到屏幕或文件中。在Python中,可以使用字符串格式化操作符“%”或字符串format()方法来实现。 例如,假设有一个变量x=3.1415926,我们想要将它输出为保留两位小数的浮点数,可以使用以下代码: print("x的值为:%.2f" % x) 或者使用format()方法: print("x的值为:{:.2f}".format(x)) 输出结果为: x的值为:3.14 其中,“%.2f”表示输出浮点数,保留两位小数,“{:.2f}”表示输出浮点数,保留两位小数。 除了浮点数,还可以格式化输出整数、字符串、布尔值等类型的变量或常量。具体的格式化方式可以参考Python官方文档。 ### 回答2: Python作为一种高级编程语言,非常适合处理各种数据类型和格式,其输入输出功能也非常强大。在Python输入输出中,格式化输出字符串是一项非常关键的操作格式化输出字符串是指Python将数据按照特定的格式输出到终端上或者写入文件中。Python提供了多种格式化输出字符串的方式,其中最常用的方式是使用字符串格式化操作符“%”。 使用“%”操作符时,需要在字符串中使用特殊字符“%”来表示被替换的位置,然后在字符串后面使用一个元组或字典来传递需要输出的值。例如: ``` name = 'Tom' age = 25 print('My name is %s, and I am %d years old.' % (name, age)) ``` 上述代码中,“%s”和“%d”分别表示需要输出的字符串和数字类型。相应的值用元组(name, age)表示,分别对应字符串变量name和整数变量age。当然,可以使用多个“%”操作符来实现多个变量的输出,例如: ``` hour = 9 minute = 30 second = 45 print("%02d:%02d:%02d" %(hour, minute, second)) ``` 在Python中,还有其他可以实现字符串格式化输出的方法,比如使用format方法,使用f字符串Python 3.6及以上版本)。这些方法各有特点,但是字符串格式化操作符“%”是最常用的一种方式,可以在很多场景下发挥重要作用。 总之,在Python的输入输出中,格式化输出字符串是非常重要的一项操作,可以帮助我们更好地输出各种类型的数据,提高程序的可读性和可维护性。对于Python开发者来说,熟练掌握字符串格式化输出的各种方法是非常必要的。 ### 回答3: Python中的格式化输出字符串是指将不同类型的数据按照特定的格式输出成字符串。在实际的编程过程中,格式化输出字符串的作用非常重要,可以很好的提高程序的可读性和易用性。 在Python中,格式化输出字符串有两种方式:一种是使用字符串格式化运算符(%),另一种是使用字符串format方法。 使用字符串格式化运算符(%)的方式,基本语法如下: ``` %s: 字符串类型 %d: 整数类型 %f: 浮点数类型 %x: 十六进制整数类型 %%: 输出% ``` 例如,我们要将字符串和整数类型的数据格式化字符串输出: ``` name = 'Alice' age = 18 print('My name is %s, I am %d years old.' % (name, age)) ``` 使用字符串format方法,基本语法如下: ``` {数字格式或关键字格式} ``` 例如,我们要将字符串和整数类型的数据格式化字符串输出: ``` name = 'Alice' age = 18 print('My name is {}, I am {} years old.'.format(name, age)) ``` 除了以上两种方式,Python中还提供了一种更加强大的格式化字符串方式——f-string,也称为格式化字符串字面量(Formatted string literals)。它的语法比较简单,可以直接在字符串前加上f,然后在字符串中使用{表达式}来嵌入变量值。 例如: ``` name = 'Alice' age = 18 print(f'My name is {name}, I am {age} years old.') ``` 总之,格式化输出字符串的方式有多种,开发者可以根据实际需求自由选择使用。在实际开发中,应该根据数据类型和输出的场景选择适合的方式,以保证输出的字符串具有良好的可读性和易用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nihui123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值