Python教程

python_format格式化函数_2021-6-5

本文主要是介绍python_format格式化函数_2021-6-5,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。

>>> {} {}.format('1','2')
SyntaxError: invalid syntax
		注意上面那两个括号需要带引号
>>> '{} {}'.format('1','2')
'1 2'
>>> '{}{}'.format(1,2)
'12'
>>> '{}    {}'.format('hello','world')
'hello    world'

可以看到一个大括号代表一个字符串,而
大括号之间的距离代表着两个字符串之间的距离   

会强制性转变为字符串类型变量

>>> print(type('{}{}'.format(1,2)))
<class 'str'>

大括号里面是可以带数字的,他表示的是取format( )括号中的第几个元素,索引从0开始

>>> '{1} {0}'.format('world','hello')
'hello world'
可以对比一下
>>> '{}    {}'.format('hello','world')
'hello    world'

同样的里面除了放数字,字符串以外,是可以放函数的,但函数必须有返回值,因为有了返回值以后函数就不再是函数类型而是return的类型

>>> def fun():
	return 5
>>> '{} {}'.format(1,fun())
'1 5'

除了这些fotmat()的()括号中还可以放入对象,列表,字典
1.列表

好像需要重新赋一下值
>>> _list=['hello','world','xx']
>>> print('{_list[1]} {_list[0]} {_list[1]}'.format(_list))
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    print('{_list[1]} {_list[0]} {_list[1]}'.format(_list))
KeyError: '_list'
>>> print('{a[1]} {a[0]} {a[1]}'.format(a=_list))
world hello world

也可以这个样子
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

2.字典

site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))

format函数在大括号中还有一下可以放的东西:
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

  • 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格

b、d、o、x 分别是二进制、十进制、八进制、十六进制。

此外我们可以使用大括号 {} 来转义大括号,如下实例:

需要注意的是需要使用 :
>>> "{<5} {}".format(1,2)
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    "{<5} {}".format(1,2)
KeyError: '<5'
>>> "{:<5} {}".format(1,2)
'1     2'
>>> "{:>5} {}".format(1,2)
'    1 2'

默认填充的是空格,但也可以是其他的
'{:*^10}'.format(1)
'****1*****'

在这里插入图片描述

这篇关于python_format格式化函数_2021-6-5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!