python基础学习之简化占位符和格式化的概念
简化版占位符有哪些?
%s 字符串占位符,代表该位置有一个字符串待替换(万能)
%d 数字占位符,代表该位置有一个数字待替换
%f 同上,这里是浮点数,float【默认保留6位小数】
%c 这里是ASCII码
%o 这里是8进制
%x 这里是16进制
%e 这里是科学计数法(什么玩意儿)
%.nf 这是浮点数(小数)保留小数点后n位【四舍五入】,如果长度不够,后面不断+0,从而达到要求
%nf 这里是试浮点数字符总长度为n,不足的话用空格填充,字符靠右,n为负数,则字符靠左;如果字符长度超过n,则无视改效果,视作‘%f’
使用方法:
'%s'%1.366666666
即在字符串中出现占位符后,引号后用%跟上需要格式化(填充?替代?)的内容。
举个栗子:
s = '我是个%s'%'帅哥'
print(s)
字符串的时候已经提到,.format()是字符串格式化的功能,是一个常用的功能,其功能比较强大。(所谓格式化,我个人认为就是填充或者替换占位符)
上述简化占位符功能可以理解如下:
'{:.2f}'.format(12.333) 保留小数点后两位
'{a:.2f}'.format(a=12.333)
'{:.2%}'.format(0.333) 百分比格式
'{:x}'.format(20) 转换成十六进制
'{:o}'.format(20) 转换成八进制
......
format的常态用法:
tpl='i am {},age{}'.format('疏楼龙宿',18)
按照顺序将字符串和数字挨个填充入{}内,可以视作将按照位置,一一对应填充。
tpl='i am {0},age{1}'.format('疏楼龙宿',18,22,55)
这里可以视作将('疏楼龙宿',18,22,55)处理成某个有序对象(元组或者列表,我也不知道到底是啥,就这么理解),{}内数字视作索引,然后按照索引对应填充。如果{}内的值超过()处理后有序对象的索引长度,则报错;与参数的顺序位置无关。
tpl='i am {a},age{b}'.format('a'='疏楼龙宿','b'=18)
这里是个Key和Value值对应填充的关系,顺序就无所谓了
tpl='i am {0[0]},age{0[1]}'.format(['疏楼龙宿',18])
这里是丢进去一个列表,然后{}内是个索引取值对应问题,就是将['疏楼龙宿',18]这个列表处理成某个有序对象,例如(['疏楼龙宿',18]),其中只有一个元素['疏楼龙宿',18],所以索引是0,根据0[0]和0[1]取值填充,同理,这里['疏楼龙宿',18]换成元组也一样。与顺序无关
tpl='i am {},age{}'.format(*['疏楼龙宿',18])
直接丢入一个列表的话,需要加上*号,系统会自动遍历该列表内可迭代元素然后按照位置对应关系填充;如果{}内有数字,系统会将数字视作索引标,按照索引标依次填入
tpl='i am {a},age{b}'.format(**{'a' = '疏楼龙宿','b' = 18})
直接丢入字典的话,需要加**来使系统识别,同样是迭代其中可迭代对象,即将key拿出来到字符串中寻找,然后按照key值对应方法填充。
特别情况,混合版
s1 = '{},{},{},{}'
a = 'qwe'
b = 'tryry'
c = 000001
s = '{},{y},{z}'.format(a,z=b,y=c)
输出后:qwe,111,tryry
总结:位置格式化要在key值格式化的左边,否则报错,即位置格式化优先,key值格式化往后排
左对齐,右对齐,居中版本
格式化某个占位符,需要制定字符串长度和内容偏左偏右居中
'{a:<10}'.format(a = 1),创造一个10个字符长度的字符串,将1靠左防止,填充占位符。10是指创造的字符串总长度,如果不够则空白填充,<代表空格在右侧,a的值放置于字符串的左侧
'{a:>10}'.format(a = 1),创造一个10个字符长度的字符串,将1靠右防止,填充占位符。10是指创造的字符串总长度,如果不够则空白填充,>代表空格在左侧,a的值放置于字符串的右侧
'{a:^10}'.format(a = 1),这个同上道理,就是居中了,【中间符号的尖在哪儿,字符就在哪儿】
如果要用东西填充空白呢?
这样:
'{a:x^10}'.format(a = 1):冒号后面,^、<、>三个符号前面加个要用于填充的玩意儿
如果上述a的长度本身超过10,则直接格式化字符,没有空格,所以x也被无视了。
python基础学习之简化占位符和格式化的概念的更多相关文章
- python基础之二:占位符、格式化输出、while else 、逻辑运算
1.占位符和格式化输出 示例代码 #格式化输出 # % s d # name = input('请输入姓名') # age = input('请输入年龄') # height = input('请输入 ...
- c#基础学习(0626)之占位符、转义符
占位符 使用方法:先挖个坑,再填个坑. 使用占位符需要注意的地方: 1.你挖了几个坑,就应该填几个坑,如果填多了,没效果,如果填少了,出现异常 异常是指:语法上没有任何错误,只不过再运行的期间,由于某 ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- python基础学习7
python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...
- Python-Day1 Python基础学习
一.Python3.5.X安装 1.Windows Windows上找度娘搜索“Python for windows下载”就OK了,安装的时候可以勾选设置环境变量,也可以安装完手动设置,这样在cmd中 ...
- Python基础学习一
Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
随机推荐
- history-back
;!function(pkg, undefined){ //此声明函数在xback.js文件里有,在app.js里必须再声明一次,不然监听返回事件失败 var STATE = 'x-back'; va ...
- js中当for循环中有事件要使用循环变量时,变量用var声明和let声明的区别
var 声明一个全局变量,声明的变量会变量提升: let 声明一个局部变量: 当页面加载完后,for循环也结束了,如果用var声明的变量此时也随着for循环的结束而自增到满足结束循环的条件, 此时调用 ...
- 2021-2-16:请问你知道分布式设计模式中的Quorum思想么?
有效个数(Quorum) 有效个数(Quorum)这个设计模式一般是指分布式系统的每一次修改都要在大多数实例上通过来确定修改通过. 问题背景 在一个分布式存储系统中,用户请求会发到一个实例上.通常在一 ...
- 高并发之ReentrantLock、CountDownLatch、CyclicBarrier
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.Stam ...
- Pycharm+任务栏悬浮+docked mode
先点下所想改变模式的模块, 然后: Window -> Activate tool window -> docked mode.
- /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link
记得要将384改为自己系统对应的a. sudo mv /usr/lib/nvidia-384/libEGL.so.1 /usr/lib/nvidia-384/libEGL.so.1.org sudo ...
- JQuery和js实现简单的霓虹灯
注意jquery文件的路径要正确. <!DOCTYPE html> <html> <head> <title></title> <me ...
- vue 如何重绘父组件,当子组件的宽度变化时候
vue 如何重绘父组件,当子组件的宽度变化时候 vue & dynamic el-popover position demo https://codepen.io/xgqfrms/pen/wv ...
- 设计模式六大原则 All In one
设计模式六大原则 All In one 开闭原则: 对扩展开放,对修改关闭; 设计模式的六大原则: 0.总原则-开闭原则 对扩展开放, 对修改封闭; 在程序需要进行拓展的时候, 不能去修改原有的代码, ...
- Git Best Practice All In One
Git Best Practice All In One git workflow 本地开发环境: 开发人员自测的,可以是自己本地部署的静态服务器,当然也可类似是运行 npm server类似的环境, ...