# 格式化输出
name = "sz"
age = 18
# 我的名字是xxx,年龄是xxx
print("我的名字是%s,年龄是%d"%(name,age))

这是我们上节课学的格式化输出,打印一句话,这句话有2个参数是变量,相当于我们先设计一个语句模板,然后在里面填写参数,%号的位置相当于变量,说白了就是挖了两个坑,这时候需要我们把对应的数值填写进去就ok了,而今天主要学习下这个%占位格式符的用途和写法。

# %[(name)][flags][width][.precision]typecode
# []里面的内容可以省略,只需要写%和typecode就可以,typecode是类型码,比如例子中的s和d,类型码有很多种。

这个%号有很多参数,[ ]里面的内容是可以省略不写的,但是要知道其中的含义

先了解下(name)

name的意思是:表示根据指定的名称(key),查找对应的值,格式化字符串当中。根据上面的例子延伸。

name = "sz"
age = 18
# 我的名字是xxx,年龄是xxx
print("我的名字是%(mz)s,年龄是%(nl)d"%({"mz":name,"nl":age}))

name就相当于模板里面的值,注意模板后面也要写出来,然后去上面找对应的值,mz和nl就是上面注解中的key。大括号里面是“字典”的意思

width表示的是占用的宽度

name = "sz"
age = 18
# (name)
# 表示,根据
# width,表示占用的宽度
print("%10d" % age)

结果是:

18

结果靠右对齐,左面是8个空格,一共占了10位。默认是用空格代替没有值得字符位,如果在上面的代码10前面加一个数字0,就相当于用数字0来代替没有值得字符位,此时就不是空格了。(一般用于时钟表示“07:27”,前面需要显示一个0,不是空格,就需要这样的表示,但是不可以加其他数字,加入其他数字就相当于width要占用多少位,比如%10d,在10前面加的不是0,加了一个1,width的参数就相当于110位了)

flags表示对齐的方式(默认是右对齐,如果在10前面加了一个“-”就会靠左对齐,右面是8个空格,同样一共占了10个字符位。)

print("%-10d" % age)

结果是:

18

print("% d" % age)

结果是:

18

如果中间加一个空格,那么结果前面就有一位空格,这个例子是为了和负数对其用的(负数前面有个-负号,这里空着一位),但如果中间加两个空格结果依然是前面空一位。

.precision 表示的是浮点数,也就是带小数点的数,这样数的一个写法

name = "sz"
age = 18.5
print("%.2f" % age)

结果是:

18.50

这里把之前的d换成了f,因为f是表示浮点数的字符,.2表示的是小数点保留后两位(不要把小数点.忘记了)。


typecode是%函数的必填项,它是类型符,因为它里面没有空格。它就相当于我们之前写的d或f,石必写的,以下是各种符号表示的含义

python的占位格式符 %的更多相关文章

  1. Python学习之格式符

    %s    字符串 (采用str()的显示) %r    字符串 (采用repr()的显示) %c    单个字符 %b    二进制整数 %d    十进制整数 %i    十进制整数 %o    ...

  2. 第3.8节 Python百分号占位符的字符串格式化方法

    一.    概念         格式化字符串就是将一些变量转换为字符串并按一定格式输出字符串,包括指定字符的位置.对齐方式.空位补充方式等.Python提供了多种字符串格式设置方法.本节先介绍一种简 ...

  3. 跟我一起学python(1):占位符

    模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符 ...

  4. Python中的切片符

    最近在学python,感觉切片符有点难以理解.在网上查了点资料,然后做个总结 理解切片符,首先得知道数组是从0开始的, 而且切片符最后一个是-1. 我们先定义个数组   a=[1,2,3,4,5] 切 ...

  5. python进行mp3格式判断

    python进行mp3格式判断 项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾.要对资源进行mp3格式判断,那么如何判断呢,用 ...

  6. python编程语言缩进格式

    python的缩进格式是python语法中最特别的一点,很多已经习惯了其他语言的朋友再去学python的话,开始会觉的不太 习惯. 怎么看怎么都觉的别扭,也有一些朋友因为这个特别的格式与python失 ...

  7. python打印表格式数据,留出正确的空格和段落星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  8. C#格式符

    在输出字符串时,使用格式说明  使字符串显示适当的格式,比如:货币格式,或者科学计数法.百分比等. 以下是格式化的数字字符串  格式. {index, alignment: format} 例如: ; ...

  9. C语言的格式符

    转至:http://blog.csdn.net/zhanzheng520/article/details/10434791   一.格式符含义 1.d格式符:按十进制格式输出. %d          ...

随机推荐

  1. <数据结构基础学习>(二)简单的时间复杂度分析

    一.简单的复杂度分析 O(1) O(n) O(logn) O(logn) O(n^2) 大O描述的是算法的运行事件和输入数据之间的关系 Eg: 数组求和 public static int sum(i ...

  2. Redis系列八:redis主从复制和哨兵

    一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 1. 主从复制的相关操作 a,配置主从复制方式一.新增redis6380.conf, ...

  3. pytest 12 函数传参和fixture传参数request

    前沿: 有的case,需要依赖于某些特定的case才可以执行,比如,登陆获取到的cookie,每次都需要带着他,为了确保是同一个用户,必须带着和登陆获取到的同一个cookies. 大部分的用例都会先登 ...

  4. SP687 REPEATS - Repeats

    给定字符串,求重复次数最多的连续重复子串. 题目很简单,被细节坑惨了... 前置的一个推论:请看这里. #include <bits/stdc++.h> using namespace s ...

  5. openstack项目【day23】:keystone组件基础

    本节内容 一 什么是keystone 二 为何要有keystone 三 keystone的功能 四 keystone概念详解 五 keystone内包含的组件 六 keystone与openstack ...

  6. CMDB服务器管理系统【s5day91】:如何实现允许临时修改主机名

    一.sn号唯一 & 如何实现允许临时修改主机名 1.物理机 1.sn,物理机唯一 2.后台管理: 买服务器,清单:SN号,硬盘,内存... 作业:python 读取excel,xldt 3.资 ...

  7. 第七节:利用CancellationTokenSource实现任务取消和利用CancellationToken类检测取消异常。

    一. 传统的线程取消 所谓的线程取消,就是线程正在执行的过程中取消线程任务. 传统的线程取消,是通过一个变量来控制,但是这种方式,在release模式下,被优化从cpu高速缓存中读取,而不是从内存中读 ...

  8. Codeforces 1088F(贪心+倍增)

    题目链接 题意 构造一颗树使得满足计算方法的结果最小. 思路 考虑两棵树,一棵为题目中的询问构成的树$T1$,一棵为要构造的满足最终答案的树$T2$.从$T1$点权最小的点向外构造$T2$,在$T1$ ...

  9. 微信app支付的坑

    app支付商户申请,需注册并认证开放平台账号后电脑端登录开放平台官网:open.weixin.qq.com,[管理中心]->[移动应用],选择需要申请支付的应用,点击[查看]->[微信支付 ...

  10. P5290 [十二省联考2019]春节十二响

    题目地址:P5290 [十二省联考2019]春节十二响 骗分方法 如果你实在一点思路也没有,暴力都不会打,那么请考虑一下骗分. 方法一 输出所有 \(M\) 的和. 期望得分:0分. 实际还有5分 方 ...