一.字符串格式化之str.format

1.位置参数:用{0},{1},{2}表示位置

v1 = '{1},{0},{1}'.format('a','b')    #输出b,a,b

2.关键词参数:用{name},{age}等自定义词代表参数

v2 = '{name},{age}'.format(age=18,name='KFC')  #KFC,18

3.关键词参数----列表形式:用列表先表示出,需要传递的字符串

p = ['KFC',18]
v3 = '{0[0]},{0[1]}'.format(p) #KFC,18

二.格式限定符

4.填充,对齐,宽度

v4 = '{:>20}'.format('空格填充,左对齐,整体宽度20')   #     空格填充,右对齐,整体宽度20
v4_1 = '{:*<20}'.format('*填充,右对齐,整体宽度20')   #*填充,左对齐,整体宽度20******
v4_2 = '{:a^20}'.format('任意填充,居中,整体宽度20')  #aaa任意填充,居中,整体宽度20aaa

5.精度,类型

v5 = '{:.2f}'.format(321.20345)      #321.20  小数点.后面保留2位有效数字的f浮点数
v5_1 = '{:.2e}'.format(321.20345)    #3.21e+02 科学计算法,保留2位小数
v5_2 = '{:.2E}'.format(321.20345) #3.21E+02 科学计算法,保留2位小数
 

6.数字类型【 二进制:b  十进制:d  八进制:o   十六进制:x】

v6 = '{:b}'.format(17)      #10001    十进制→二进制
v6_1 = '{:d}'.format(10001) #10001 十进制→十进制(数据默认十进制)
v6_2 = '{:o}'.format(17) #21 十进制→八进制
v6_3 = '{:x}'.format(17) #11 十进制→十六进制

7.金额的千分位分隔符

v7 = '{:,}'.format(1234567890) #1,234,567,890  

三.格式操作符

8.占位操作符%   模板中有占位操作符,为真实值预留位置(字符串表达式);注意  使用括号()进行传值,-左对齐,+右对齐   .2f浮点数小数后面保留几位     , 12 是传递值得整体宽度,020 值宽度20  其余用0填充

v7 = "I'm %s.I'm %d years old"%('vehicleman',) #I'm vehicleman.I'm  years old
v7_1 = "I'm %(name)-12s.I'm %(age)- 10d years old.I'm %(tall)010.2f meters tall"%{'name':'vehicleman','age':18,'tall':1.75235435}  #I'm vehicleman  .I'm  18        years old.I'm 0000001.75 meters tall

9.转义字符\的使用

v9_1 = "I'm %(name)-12s.\nI'm %(age)- 10d years old.\nI'm %(tall)010.2f meters tall\\"%{'name':'vehicleman','age':18,'tall':1.75235435}  
print(v9_1)
# I'm vehicleman .
# I'm 18 years old.
# I'm 0000001.75 meters tall\

10.字符串拼接

  10.1  join()函数

print('_'.join('将字符串中的每一个元素用指定字符进行分割'))    #将_字_符_串_中_的_每_一_个_元_素_用_指_定_字_符_进_行_分_割

  10.2 +

print('字符串+拼接')  #字符串+拼接
print('字符串'+'拼接') #字符串拼接

补充:其他字符串操作

一.显示

1.大小写

print('首字母大写:'+'capitalize+title'.capitalize()) ##首字母大写:Capitalize+title
print('首字母大写:'+'capitalize+title'.title()) ##首字母大写:Capitalize+Title
print('所有变大写:'+'upper'.upper()) ##所有变大写:UPPER
print('所有变小写:'+'Lower+CaseFold'.lower()) ##所有变小写:lower+casefold
print('所有变小写:'+'Lower+CaseFold'.casefold()) ##所有变小写:lower+casefold
print('反转大小写:'+'SwaPcase'.swapcase()) ##反转大小写:sWApCASE

2.对齐和宽度

#对齐和宽度
print('居中,左对齐,右对齐,(宽度):'+'宽度20居中'.center(20)) #居中,左对齐,右对齐,(宽度): 宽度20居中
print('居中,左对齐,右对齐,(宽度):'+'宽度20左对齐'.ljust(20)) #居中,左对齐,右对齐,(宽度):宽度20左对齐
print('居中,左对齐,右对齐,(宽度):'+'宽度20右对齐'.rjust(20)) #居中,左对齐,右对齐,(宽度): 宽度20右对齐

  

字符串格式化str.format的更多相关文章

  1. (转)Python 字符串格式化 str.format 简介

    原文:https://www.cnblogs.com/wilber2013/p/4641616.html http://blog.konghy.cn/2016/11/25/python-str-for ...

  2. JAVA字符串格式化String.format()的使用

    JAVA字符串格式化-String.format()的使用常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprin ...

  3. JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】

    转: JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的s ...

  4. **字符串格式化:%和.format

    字符串格式化:%和.format .format在许多方面看起来更便利.对于%最烦人的是它无法同时传递一个变量和元组.你可能会想下面的代码不会有什么问题: "hi there %s" ...

  5. JAVA字符串格式化-String.format()的使用(转)

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  6. python字符串格式化方法 format函数的使用

      python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...

  7. Java字符串格式化String.format常用用法

    常规的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形 ...

  8. Java系列: JAVA字符串格式化-String.format()的使用(zz)

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  9. JAVA字符串格式化-String.format()的使用 (转载)

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

随机推荐

  1. 2015.5.11 string与byte[]相互转换

    string类型转成byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); 反过来,byte[]转成stri ...

  2. mysql的默认隔离级别

    原文:https://www.cnblogs.com/rjzheng/p/10510174.html 知识点总结 ------------------------------------------- ...

  3. spring @Resource与@Autowired注解详解

    具有依赖关系的Bean对象,利用下面任意一种注解都可以实现关系注入: 1)@Resource (默认首先按名称匹配注入,然后类型匹配注入) 2)@Autowired/@Qualifier (默认按类型 ...

  4. leetcode653

    class Solution { public: bool findTarget(TreeNode* root, int k) { queue<TreeNode> Q; vector< ...

  5. springmvc 注解式开发 处理器方法的返回值

    1.返回void -Ajax请求 后台: 前台: 返回object中的数值型: 返回object中的字符串型: 返回object中的自定义类型对象: 返回object中的list: 返回object中 ...

  6. maven安装第三方jar包到本地仓库

    添加项目依赖的时候,有些jar下载不下来,只有手动下载或安装到本地仓库了 首先下载所需要的jar,放到指定的文件夹 然后执行如下命令: mvn install:install-file -Dfile= ...

  7. (转)Linux网络协议栈(三)——网络设备(1)

    网络设备(network device)是内核对网络适配器(硬件)的抽象与封装,并为各个协议实例提供统一的接口,它是硬件与内核的接口,它有两个特征:(1)    作为基于硬件的网络适配器与基于软件的协 ...

  8. windows VS2013 编译安装QWT6.1和QWTPolar1.1.1

    QWT的编译和配置 1. 下载QWT从官网 For getting a snapshot with all bugfixes for the latest 5.2 release: svn expor ...

  9. ZBar开发详解

    博客转载自:https://blog.csdn.net/skillcollege/article/details/38855023 什么是ZBar? ZBar是一个开源库,用于扫描.读取二维码和条形码 ...

  10. Boost中实现线程安全

    博客转载自: http://www.cnblogs.com/lvdongjie/p/4447142.html 1 boost原子变量和线程 #include <boost/thread.hpp& ...