python中.format()方法使用详解

目录
  • 前言
  • 一、简单使用方法
    • 1.无参数
    • 2. key value
    • 3. 列表
    • 4. 字典
    • 5. 类
    • 6. 魔法参数
  • 二、参数使用方法

前言

format语法格式:

  • str.format()
  • str是指字符串实例对象,常用格式为‘ ’.format()
    def format(self, *args, **kwargs): # known special case of str.format
        """
        S.format(*args, **kwargs) -> str

        Return a formatted version of S, using substitutions from args and kwargs.
        The substitutions are identified by braces ('{' and '}').
        """
        pass

format参数格式:

'{[index][ : [fill] align][sign][#][width][.precision][type]} {……}{……} '.format()
注意,格式中的[ ]内的参数都是可选参数,可以使用也可以不使用

  • index:指定冒号**:**后面出现的参数在‘format()’中的索引值,如果没有,则以format()中的默认顺序自动分配
  • fill:指定空白处的填充符。align:指定数字的对齐方式:align含义<right-aligned 左对齐(对于大部分对象时为默认)>right-aligned 右对齐 (对于数字时为默认)=数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效^数据居中,此选项需和 width 参数一起使用
  • sign:指定有无符号数,此参数的值以及对应的含义如表所示sign 参数含义+正数前面添加 ‘ + ’ ,负数前面加 ‘ - ’-正数前面不添加 ‘ + ’ ,负数前面加 ‘ - ’space正数前面添加 ‘ 空格 ’ ,负数前面加 ‘ - ’#对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀width:指定输出数据时所占的宽度. precision:如果后面存在type参数,则指的是保留小数的位数,如果type参数不存在,则是指有效数字的位数type:指定输出数据的具体类型

一、简单使用方法

1.无参数

foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……也可以不输入数字,则会按照顺序自动分配,而且一个参数可以多次插入

示例代码:

name = '张三'
age = 25
sex = '男'

print('{}、{}、{}'.format(name, age, sex))  #  占位符不指定顺序
print('{0}、{1}、{2}'.format(name, age, sex)) #  占位符制定顺序
print('{0}、{2}、{1}'.format(name, age, sex)) #  换一下顺序试试
print('{0}、{2}、{1}、{0}、{2}、{1}'.format(name, age, sex))

运行结果:

2. key value

示例代码:

name1 = '张三'
age1 = 25
sex1 = '男'

print('name:{name}、age={age}、sex:{sex}'.format(name=name1, age=age1, sex=sex1))
print('name:{name}、sex:{sex}、age={age}'.format(name=name1, age=age1, sex=sex1))

运行结果:

3. 列表

示例代码:

lst1 = ['张三', '男', 25]
lst2 = ['李四', '男', 28]

print('name:{Lst[0]},sex:{Lst[1]},age:{Lst[2]}'.format(Lst=lst1))
print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst1))
print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst2))
print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst1, lst2))
print('name:{1[0]},sex:{1[1]},age:{1[2]}'.format(lst1, lst2))
print('name:{0[0]},sex:{0[1]},age:{0[2]},name:{1[0]},sex:{1[1]},age:{1[2]}'.format(lst1, lst2))

运行结果:

4. 字典

示例代码:

dic1 = {'name': '张三', 'sex': '男', 'age': 25}
dic2 = {'name': '李四', 'sex': '男', 'age': 28}

print('name:{Dic[name]},sex:{Dic[sex]},age:{Dic[age]}'.format(Dic=dic1))
print('name:{name},sex:{sex},age:{age}'.format(**dic2))

运行结果:

5. 类

示例代码:

class Info(object):
    name = '张三'
    sex = '男'
    age = 25
print('name:{info.name},sex:{info.sex},age:{info.age}'.format(info=Info))

运行结果:

6. 魔法参数

*args表示任何多个无名参数,它是一个tuple or list;**kwargs表示关键字参数,它是一个 dict。

 示例代码:

lst = [',', '.']
dic = {'name': '张三', 'sex': '男', 'age': 25}
print('name:{name}{0}sex:{sex}{0}age:{age}{1}'.format(*lst, **dic))

运行结果:

二、参数使用方法

示例代码1:

#  python :^:代表居中显示,数字567,位数width=10,fill=*(填充符为*)
print('{:*^10}'.format(567))

运行结果:

 示例代码2:

# python :0是填充符,2是width,表示位数为2
print('{:02}:{:02}:{:02}'.format(13, 4, 57))
print('{:05}:{:05}:{:05}'.format(13, 4, 57))

运行结果:

到此这篇关于python中.format()方法使用详解的文章就介绍到这了,更多相关python .format()内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中str.format()方法的具体使用

    目录 1. 术语说明 2. 简单字段名 2.1 简单字段名的说明 2.2 省略字段名 2.3 数字形式的简单字段名 2.4 变量名形式的简单字段名 2.5 简单字段名的混合使用 2.6 使用元组和字典传参 3. 复合字段名 3.1 复合字段名的说明 3.2 . 点号的使用 3.3 [] 方括号的使用 4. 转换字段 5. 格式说明符 5.1 标准格式说明符的格式 5.2 填充与对齐方式 5.3 正负号 5.4 # 号 5.5 最小宽度 5.6 分组选项 5.7 精度 5.8 类型码 5.8.1

  • Python .format()函数使用方法详解

    目录 format函数的调用 format函数及其占位符的调用格式 占位符以及参数设定 position/key fill参数 align参数 sign参数 width参数 precision参数 precision-type参数 总结 format函数的调用 format函数可以被直接调用或在print函数中以占位符实现格式化调用. 在**2.6**版本前,占位符仍和其他语言一样使用%(比如C中).但在其后的版本,format函数的占位符更改为{}(花括号). 优化的目的目前总结出了4个: 1

  • python中使用%与.format格式化文本方法解析

    初学python,看来零零碎碎的格式化文本的方法,总结一下python中格式化文本的方法.使用不当的地欢迎指出谢谢. 1.首先看使用%格式化文本 常见的占位符: 常见的占位符有: %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数 使用方法: >>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you h

  • python中.format()方法使用详解

    目录 前言 一.简单使用方法 1.无参数 2. key value 3. 列表 4. 字典 5. 类 6. 魔法参数 二.参数使用方法 前言 format语法格式: str.format() str是指字符串实例对象,常用格式为‘ ’.format() def format(self, *args, **kwargs): # known special case of str.format """ S.format(*args, **kwargs) -> str Ret

  • python中__init__方法知识点详解

    目录 介绍__init__方法的作用 讲解__init__方法的语法 演示如何在类中使用__init__方法初始化类的属性 讲解如何使用__init__方法给对象动态添加属性 __init__方法的多态特性 __init__和super的用法 提醒注意事项 总结 介绍__init__方法的作用 __init__ 方法是 Python 中面向对象编程中类的特殊方法,也称为构造方法,当创建一个类的实例时,__init__ 方法会自动调用. 它的主要作用是初始化实例的属性,在实例被创建后,你可以通过这

  • Python中new方法的详解

    new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用. 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前,Python首先调用new()方法: def new(cls, *args, **kwargs): - 第一个参数cls是当前正在实例化的类. 如果要得到当前类的实例,应当在当前类中的new()方法语句中调用当前类的父类 的new()方法. 例如,如果当前类是直接继承自object,那当前类的ne

  • python中 logging的使用详解

    日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分. 根据事件的轻重可分为以下几个级别: DEBUG: 详细信息,通常仅在诊断问题时才受到关注.整数level=10 INFO: 确认程序按预期工作.整数level=20 WARNING:出现了异常,但是不影响正常工作.整数level=30 ERROR:由于某些原因,程序 不能执行某些功能.整数level=40 CRITICAL:严重的错误,导致程序不能运行.整数

  • Python中logger日志模块详解

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息: print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据:logging则可以由开发者决定将信息输出到什么地方,以及怎么输出: Logger从来不直接实例化,经常通过logging模块级方法(Modu

  • python绘制条形图方法代码详解

    1.首先要绘制一个简单的条形图 import numpy as np import matplotlib.pyplot as plt from matplotlib import mlab from matplotlib import rcParams fig1 = plt.figure(2) rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001) plt.titl

  • Python中的asyncio代码详解

    asyncio介绍 熟悉c#的同学可能知道,在c#中可以很方便的使用 async 和 await 来实现异步编程,那么在python中应该怎么做呢,其实python也支持异步编程,一般使用 asyncio 这个库,下面介绍下什么是 asyncio : asyncio 是用来编写 并发 代码的库,使用 async/await 语法. asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等. asyncio 往往是构建 IO 密集型和

  • 对Python中的@classmethod用法详解

    在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法. 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的. 不过还是好奇去查了一下. 大致可以理解为:使用了@classmethod修饰的方法是类专属的,而且是可以通过类名进行调用的.为了能够展示其与一般方法的差异,写一段简单的代码如下: class DemoClass: @classmethod def classPrint(self): print("class method"

  • python中yield的用法详解——最简单,最清晰的解释

    首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受. 接下来是正题: 首先,如果你还没有对yield有个初步分认识,那么你先把yield看做"return",这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了.看做return之后再把它

  • Python中itertools的用法详解

    iterator 循环器(iterator)是对象的容器,包含有多个对象.通过调用循环器的next()方法 (next()方法,在Python 3.x中),循环器将依次返回一个对象.直到所有的对象遍历穷尽,循环器将举出StopIteration错误. 在for i in iterator结构中,循环器每次返回的对象将赋予给i,直到循环结束.使用iter()内置函数,我们可以将诸如表.字典等容器变为循环器.比如 for i in iter([2, 4, 5, 6]): print i 标准库中的i

随机推荐