社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python3之字符串格式化format函数详解(上)

若数 • 6 年前 • 460 次点击  
阅读 24

Python3之字符串格式化format函数详解(上)

概述

在Python3中,字符串格式化操作通过format()方法或者f'string'实现。而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强。该函数将字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%

位置设定

默认位置

不指定格式化位置,按照默认顺序格式化

S = 'I {} {}, and I\'am learning'.format('like', 'Python')
print(S)
复制代码

示例结果:

I like Python, and I'am learning
复制代码

设置位置

设置数字顺序指定格式化的位置

S = 'I {0} {1}, and I\'am learning'.format('like', 'Python')
print(S)
# 打乱顺序
S = 'I {1} {0} {1}, and I\'am learning'.format('like', 'Python')
print(S)
复制代码

示例结果:

I like Python, and I'am learning
I Python like Python, and I'am learning
复制代码

设置关键字

设置关键字指定格式化的内容

S = 'I {l} {p}, and I\'am learning'.format(p='Python', l='like')
print(S)

S = 'I {p} {l}, and I\'am learning'.format(p='Python', l='like')
print(S)
复制代码

示例结果:

I like Python, and I'am learning
I Python like, and I'am learning
复制代码

参数传递

我们可以传入各种类型参数格式化字符串,即不限于字符串变量或数字等。

元组传参

利用元组传参,传参形式 *tuple

# 定义一个元组
T = 'like', 'Python'
# 不指定顺序
S = 'I {} {}, and I\'am learning'.format(*T)
print(S)
# 指定顺序
S = 'I {0} {1}, and I\'am learning'.format(*T)
print(S)
复制代码

示例结果:

I like Python, and I'am learning
I like Python, and I'am learning
复制代码

字典传参

# 定义一个字典
D = {'l':'like', 'p':'Python'}
# 指定键确定顺序
S = 'I {l} {p}, and I\'am learning'.format(**D)
print(S)
复制代码

示例结果:

I like Python, and I'am learning
复制代码

列表传参

# 定义一个列表
L0 = ['like', 'Python']
L1 = [' ', 'Lerning']
# `[]`前的0、1用于指定传入的列表顺序
S = 'I {0[0]} {1[1]}, and I\'am learning'.format(L0, L1)
print(S)
复制代码

示例结果:

I like Lerning, and I'am learning
复制代码
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33999
 
460 次点击