python 之format字符串格式化
print函数之format字符串格式化方法的使用与学习笔记。
一、映射关系
(1)“映射”示例,以下通过位置举例说明:
[+]Example_1:
>>> print("{0}:{1}".format('name','age'))
name:age
[+]Example_2:
>>> print("{}:{}".format("name","age"))
name:age
[+]Example_3:
>>> print("{0}:{1}:{0}".format("name","age"))
name:age:name
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
(2)通过关键字参数格式化
>>> print("{name}:{age}".format(age=18,name="Michael"))
Michael:18
(3)通过对象属性
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)
In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'
(4)通过format实现列表的字符串化
>>> name = ['Jack','Michael']
>>> print("{0[1]},{0[0]}".format(name))
Michael,Jack
有了以上这些便捷的“映射”方式,我们就有了的格式化利器。
基本的Python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。
二、格式限定符
format格式化,它有着丰富的的“格式限定符”(语法是{}中带:号),
比如“:”、“填充与对齐”、“填充常跟对齐一起使用”;
^、<、>分别是居中、左对齐、右对齐,后面为“限定宽度”;
注意:“:”冒号后面紧跟填充的字符,只能是一个字符;不指定的话,默认是用空格填充
比如
(1)居左、居中,居右显示
>>> print("####{:<}####".format("ABCD")) #居左显示,右边空出4个字符(填充字符默认为空格)
####ABCD ####
>>> print("####{:^8}####".format("ABCD"))
#### ABCD #### #居中显示,左右两边各空出2个字符(填充字符默认为空格)
>>> print("####{:>8}####".format("ABCD"))
#### ABCD#### #右居显示,左边空出4个字符(填充字符默认为空格)
>>>
(2) 使用填充字符“+”举例“居左、居中,居右”显示
>>> print("####{:+>8}####".format("ABCD"))
####++++ABCD####
>>> print("####{:+^8}####".format("ABCD"))
####++ABCD++####
>>> print("####{:+<}####".format("ABCD"))
####ABCD++++####
(3)精度与类型f结合使用:
>>> print("{:.3f}".format(3.1415126))
3.142
注:其中.3表示长度为3的精度,f表示float类型。
(4)其他类型
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
>>> print("{:b}".format(123456))
11110001001000000
>>> print("{:d}".format(123456))
123456
>>> print("{:o}".format(123456))
361100
>>> print("{:x}".format(123456))
1e240
(5)用“,”号作为金额的千位分隔符的格式化。
>>> print("{:,}".format(123e10))
1,230,000,000,000.0
摘了之:http://blog.csdn.net/handsomekang/article/details/9183303
python 之format字符串格式化的更多相关文章
- Python之format字符串格式化
1.字符串连接 >>> a = 'My name is ' + 'Suen' >>> a 'My name is Suen' >>> a = 'M ...
- Python中用format函数格式化字符串的用法
这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下 自python2. ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- 第3.11节 Python强大的字符串格式化新功能:format字符串格式化的格式控制
第3.11节 format字符串格式化的格式控制 一. 引言 上节介绍了四种format进行字符串格式化的 ...
- 第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化
一. 引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码.老猿推荐大家新编码时使用format方 ...
- Python中format_map与format字符串格式化的区别
在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映 ...
- python 中的字符串格式化
python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...
- string.Format字符串格式化说明(转)
string.Format字符串格式化说明 www.111cn.net 编辑:Crese 来源:转载 先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统 ...
- Python中用format函数格式化字符串
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...
随机推荐
- 在浏览器端用JS创建和下载文件
前端很多项目中,都有文件下载的需求,特别是JS生成文件内容,然后让浏览器执行下载操作(例如在线图片编辑.在线代码编辑.iPresst等). 但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打 ...
- [bzoj2154]Crash的数字表格(mobius反演)
题意:$\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^m {lcm(i,j)} } $ 解题关键: $\sum\limits_{i = 1}^n {\sum\l ...
- C/C++ Sleep(0)
Sleep(0) 的意义是放弃当前线程执行的时间片,把自身放到等待队列之中.这时其它的线程就会得到时间片进行程序的程序.Sleep(0)能够降低当前线程的执行速 度,比如:现在系统中有100个线程(先 ...
- python unittest模块
import unittest import random class Operation(object): def __init__(self, num1=0, num2=0): if not (0 ...
- maven - 初识
一.Maven是什么? Maven官网的描述:Apache Maven is a software project management and comprehension tool. Based o ...
- 常用CMD指令
快捷方式: dcomcnfg.exe 打开windows的组件服务. regedit 打开windows的注册表的界面,进行管理. services.msc 打开service面板 calc ...
- spingmvc实现在程序启动时调用数据库数据
直接上代码: package com.java.zxf.servlet; import java.text.ParseException; import java.text.SimpleDateFor ...
- JQuery入门一
1.为什么要用jquery? 写起来简单,省事,开发效率高,兼容性好 2.什么是jQuery? jQuery是一个兼容多浏览器的JavaScript库 3.如何使用jQuery? 1.导入 <s ...
- Educational Codeforces Round 66 (Rated for Div. 2) B. Catch Overflow!
链接:https://codeforces.com/contest/1175/problem/B 题意: You are given a function ff written in some bas ...
- 部署到CentOS Net Core
Net Core部署到CentOS 本文基于初次或再次尝试部署.Net Core应用到Linux服务器上,我尝试后自我总结的经验一个简单的Demo,尝试部署在Linux服务器上和跨服务器访问数据库. ...