python的占位格式符 %
# 格式化输出
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的占位格式符 %的更多相关文章
- Python学习之格式符
%s 字符串 (采用str()的显示) %r 字符串 (采用repr()的显示) %c 单个字符 %b 二进制整数 %d 十进制整数 %i 十进制整数 %o ...
- 第3.8节 Python百分号占位符的字符串格式化方法
一. 概念 格式化字符串就是将一些变量转换为字符串并按一定格式输出字符串,包括指定字符的位置.对齐方式.空位补充方式等.Python提供了多种字符串格式设置方法.本节先介绍一种简 ...
- 跟我一起学python(1):占位符
模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符 ...
- Python中的切片符
最近在学python,感觉切片符有点难以理解.在网上查了点资料,然后做个总结 理解切片符,首先得知道数组是从0开始的, 而且切片符最后一个是-1. 我们先定义个数组 a=[1,2,3,4,5] 切 ...
- python进行mp3格式判断
python进行mp3格式判断 项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾.要对资源进行mp3格式判断,那么如何判断呢,用 ...
- python编程语言缩进格式
python的缩进格式是python语法中最特别的一点,很多已经习惯了其他语言的朋友再去学python的话,开始会觉的不太 习惯. 怎么看怎么都觉的别扭,也有一些朋友因为这个特别的格式与python失 ...
- python打印表格式数据,留出正确的空格和段落星号或注释
python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...
- C#格式符
在输出字符串时,使用格式说明 使字符串显示适当的格式,比如:货币格式,或者科学计数法.百分比等. 以下是格式化的数字字符串 格式. {index, alignment: format} 例如: ; ...
- C语言的格式符
转至:http://blog.csdn.net/zhanzheng520/article/details/10434791 一.格式符含义 1.d格式符:按十进制格式输出. %d ...
随机推荐
- Python 正则处理_re模块
正则表达式 动机 文本处理成为计算机常见工作之一 对文本内容搜索,定位,提取是逻辑比较复杂的工作 为了快速方便的解决上述问题,产生了正则表达式技术 定义 文本的高级匹配模式, 提供搜索, 替换, 本质 ...
- Eclipse 添加 lib (导入 .jar 包)
1.将要添加的 jar 包直接拖到 WEB-INF/lib 目录里. 2.在项目上右键,依次选择[Build Path]--[Configure Build Path...]-- [Libraries ...
- 消息框MessageBox+遍历控件
消息对话框:主要用来显示信息,也可以警告.用户确认取消等. MessageBox.Show("展示内容","标题",MessageBoxButtons.按钮种类 ...
- 微信小程序之 3d轮播(swiper来实现)
以前写过一篇3d轮播,就是这篇,使用的方法比较笨拙,而且代码不简洁.这次发现swiper也能实现同样的效果.故记录一下. 先看看效果: wxml: <swiper previous-margin ...
- bootstrap浅谈
学习地址:http://www.runoob.com/bootstrap/bootstrap-tutorial.html 自己练习了下 主要是使用了bootstrap中包含的class类样式,只要给相 ...
- 老男孩Python全栈学习 S9 日常作业 001
1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...
- MVCC 能解决幻读吗?
MySQL通过MVCC(解决读写并发问题)和间隙锁(解决写写并发问题)来解决幻读 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ). 未提交读(REA ...
- <锋利的jQuery>读书笔记
- oldboy s21day12.设计商城系统,主要提供两个功能:商品管理、会员管理。
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.写出三元运算的基本格式及作用?'''a if a>b else b''' # 2.什么是匿名函数? ...
- Spring Boot集成MyBatis的2种方式
目录 写在前面 准备工作 配置数据库驱动 配置数据源 原生集成MyBatis 依赖配置 注册MyBatis核心组件 定义并使用映射器 通过MyBatis-Spring-Boot-Starter集成 默 ...