鱼C论坛

 找回密码
 立即注册
查看: 2190|回复: 3

[已解决]python format

[复制链接]
发表于 2023-4-14 17:33:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
'{:010}'.format('love')
'love000000'
'{:010}'.format('fishc')
'fishc00000'
小甲鱼的视频里面说这里只能是数字,字符串不行,会报错,我打出来的为啥可以啊,而且怎么是右边填充?
最佳答案
2023-4-14 17:42:28
在python中,字符串是可以被格式化的。在这个例子中,'{:010}'表示将值格式化为10个字符宽度,并使用零填充左边(右对齐)。但是由于提供给该格式操作符的实际参数是字符串类型,而不是数字类型,因此python会自动将'dog'转换为字符串。所以,如果您输入一个非数字字符串,python仍然能够正常工作,但是如果您尝试输入其他类型的数据,比如布尔值或列表,那么就会抛出一个typeerror。

最后,关于左对齐和右对齐的问题,当你需要右对齐时可以使用`>`标志,当你需要左对齐时可以使用`<`标志。例如,`'{:<10}'.format('fishc')` 表示将值格式化为10个字符宽度,并使用空格填充右边(左对齐)。
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-14 17:35:16 | 显示全部楼层
您好,您打出来的代码是有问题的,虽然不会报错,但是没有按照预期的结果进行填充。'{:010}'.format('love') 实际上是把字符串 'love' 转化为了一个数字,并且在左边填充了 9 个 0,结果为 '000000000love',同样,'{:010}'.format('fishc') 也是错误的,结果为 '00000000fishc'。正确的代码应该是:
'{:010s}'.format('love')
'love000000'
'{:010s}'.format('fishc')
'fishc0000'
其中,s 表示填充字符串类型,并且在右边填充了 5 个 0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 17:42:28 | 显示全部楼层    本楼为最佳答案   
在python中,字符串是可以被格式化的。在这个例子中,'{:010}'表示将值格式化为10个字符宽度,并使用零填充左边(右对齐)。但是由于提供给该格式操作符的实际参数是字符串类型,而不是数字类型,因此python会自动将'dog'转换为字符串。所以,如果您输入一个非数字字符串,python仍然能够正常工作,但是如果您尝试输入其他类型的数据,比如布尔值或列表,那么就会抛出一个typeerror。

最后,关于左对齐和右对齐的问题,当你需要右对齐时可以使用`>`标志,当你需要左对齐时可以使用`<`标志。例如,`'{:<10}'.format('fishc')` 表示将值格式化为10个字符宽度,并使用空格填充右边(左对齐)。
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-14 17:43:48 | 显示全部楼层
本帖最后由 isdkz 于 2023-4-14 17:44 编辑

您好!根据您提供的代码示例,您的代码不会报错,因为这种格式化字符串的方法实际上对字符串输入是允许的。

小甲鱼可能是在视频中说的是 {:010d},我们在使用这种格式化时,主要是为了处理数字类型。



关于右边填充的问题,这是因为您在格式化字符串中使用了 0 作为填充字符,并指定了一个宽度为10的字段。

当填充字符串时,默认是在左侧填充指定的字符。这就导致了在字符串右侧出现填充字符的情况。例如:
'{:010}'.format('love')  # 结果为 'love000000'
'{:010}'.format('fishc')  # 结果为 'fishc00000'

如果您希望在字符串左侧填充字符,可以使用以下格式化字符串:
'{:>010}'.format('love')  # 结果为 '000000love'
'{:>010}'.format('fishc')  # 结果为 '00000fishc'

在这个例子中,> 符号表示右对齐,即在左侧填充字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 09:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表