# 格式化输出
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. java基础1之引用数据类型

    5种引用类型(对象类型) 类 接口 数组 枚举 标注 类 类在JVM的内存空间的存储 (1). Heap 堆空间:分配对象 new Student() 存放引用数据类型的实例 (2). Stack 栈 ...

  2. Magento2 可配置产品解决SKU流程

    选择可配置产品: 填写必填信息与库存 创建配置 执行四步后完成创建:4.1:选择需要的规格属性: 4.2:选择组合需要的属性值:4.3:根据您的选择,将创建3个新产品.使用此步骤自定义新产品的图像和价 ...

  3. 【Spring】Spring bean的实例化

    Spring实现HelloWord 前提: 1.已经在工程中定义了Spring配置文件beans.xml 2.写好了一个测试类HelloWorld,里面有方法getMessage()用于输出" ...

  4. [Ynoi2018]五彩斑斓的世界

    题目描述 二阶堂真红给了你一个长为n的序列a,有m次操作 1.把区间[l,r]中大于x的数减去x 2.查询区间[l,r]中x的出现次数 题解 做YNOI真**爽... 我们发现这道题的操作非常诡异,把 ...

  5. Mysql注入小tips --持续更新中

    学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...

  6. java String转int int转化为String

    String转int String str = "123"; int a = Integer.parseInt(str); System.out.println(a); Integ ...

  7. (二)Qt窗口应用程序Widget

    QMainWindow,QWidget,QDialog,这三基类都可以作为顶层窗口 QWidget:是所有窗口类的父类,功能最简单 QMainWindow:如果窗口需要菜单栏,工具栏,状态栏,就需要Q ...

  8. 自动化运维工具Ansible介绍

    一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方案,但他们各有优劣,而 ansible 的特点就在于它的简洁. 让 ansible 在主流的配置管理系统 ...

  9. django系列7:修改404页面展示,优化模板,降低urlconf和模板之间的耦合,命名app将模板和app绑定

    为了增加程序的友好和健壮性,修改view代码,处理以下如果出现404,页面的UI展示. 修改view代码 from django.http import Http404 from django.sho ...

  10. python 线程/线程锁/信号量

    单线程 #常规写法 import threading import time def sayhi(num): # 定义每个线程要运行的函数 print("running on number: ...