字符串格式化有两种方式,%和format

先介绍下%号的方法

#%s的语法结构,叫做占位符,就是先占一个位置,然后我们用真实的要显示的数据替换占位符即可
#最简单的用法就是下面的方式,其实%s还有其他的功能
# s = '我的名字是%s,我的年龄是%d' %('alex',2)
# print(s) # 我的名字是alex,我的年龄是2 #%[(name)][flags][width].[precision]typecode
#第一个参数[(name)],默认情况下%是按照顺序进行格式化的,用了name,我们可以用name来进行字符串格式化,比如下面的例子,
#可以根据名字来做格式化
# s = '我的名字是%(name)s,我的年龄是%(age)d' %{'name':'alex','age':12}
# print(s) # 我的名字是alex,我的年龄是12 #flags,可以是 + - 空格 0,这个一般和width配合起来使用,%没有居中的功能
#+号,右对齐,正数前加+号,负数前加-号
# s = 'my age is %(age1)+10dDDDD,my brother age is%(age2)+10d' %{'age1':12,'age2':-12}
# print(s)
# my age is +12DDDD,my brother age is -12
#-号,左对齐,正数前无符号,负数前加-号
# s = 'my age is %(age1)-10dDDDD,my brother age is%(age2)-10d' %{'age1':12,'age2':-12}
# print(s)
# my age is 12 DDDD,my brother age is-12
#0 ,右对齐,正数前无符号,负数前加-号,用0填补空白处
#空格,右对齐,正数前加空格,负数前加-号 #width,占的位置的长度 #precision 小数点后显示多少位,这里会做四舍五入
# s = 'my age is %(age1)-10fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}
# print(s) # my age is 12.123444 DDDD,my brother age is-12 # s = 'my age is %(age1)-10.4fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}
# print(s) # my age is 12.1234 DDDD,my brother age is-12 # typecode
#s:是字符串
#o:将传入的值转换为八进制,然后把转换后的值做字符串格式化
#x:将传入的值转换为16进制,然后在把转换后的值做字符串格式化
#d,正数
#f,浮点数
# s = 'aaaaaadd %d------------%o----------%x' %(15,15,15)
# print(s)
# aaaaaadd 15------------17----------f #e|E科学计数法,一个是显示小写的e,一个是大写的E
# s = '%e--------------%E' %(100000000000000000000,100000000000000000)
# print(s)
# 1.000000e+20--------------1.000000E+17 #%
# s = 'football %'
# print(s)
# s = 'football %%'
# print(s) # football %
# football %% # s = 'name is %s,%' %('dddd')
# print(s) #这样会报错的
# s = 'name is %s,%%' %('dddd')
# print(s) # name is dddd,% 下面介绍下format的方法
# [(fill)align][sign][#][0][width][,][.precision][type]

#fill:【可选】空白处填充的字符,这里只能写一个字符

#align,对齐方式,需要配合width使用
#<:内容右对齐
#>:内容左对齐
#=:
#^:内容居中 #sign 【可选】有无符合数字、
# + 正号加正,负数加负
#- 正号不变,负数加负
#空格,正号加空格,负数加负 # #号,【可选】对于二进制,八进制,16进制,如果加上#号,会显示0b 0o 0x,如果不加,则不显示前面的符号 #,号,如果比较大数字,可以每三位加一个逗号100,000,,000 #width,格式化位所占的宽度 #.precision,小数点的保留位 #type,格式化的类型 #b,将传入的数字转换成二进制 #format的常用的用法,这个是按照顺序来格式化的
# s = 'aaaaaaaadd{0},dddd{0}----{1}' .format('AAA','BBBB')
# print(s) # aaaaaaaaddAAA,ddddAAA----BBBB #按照名字做字符串格式化
# s = '-------{name:s},-------{age:d}------{name:s}' .format(name = 'AAA',age = 23)
# print(s)
# -------AAA,-------23------AAA #[(fill)align][sign][#][0][width][,][.precision][type],这些全部都要放在冒号后面,冒号前面只能有一个字段,就是name # s = '-------------{:@^10s}-----------' .format('AAA')
# print(s) # -------------@@@AAA@@@@----------- # s = '-------------{name:@^10s}-----------' .format(name = 'AAA')
# print(s) # -------------@@@AAA@@@@----------- # s = '--------{:%}' .format(1.345566677)
# print(s) # --------134.556668% #format必须要掌握的几种方式
# s = 'i am {},age {},{}' .format('foot',12,'boy')
# print(s) # i am foot,age 12,boy # s = 'i am {},age {},{}' .format(*['foot',12,'boy'])
# print(s) # i am foot,age 12,boy # s = 'i am {0},age {1},{1}' .format('foot',12)
# print(s) # i am foot,age 12,12 # s = 'i am {0},age {1},{1}' .format(*['foot',12])
# print(s) # i am foot,age 12,12 # s = 'i am {name},age is {age}' .format(name = 'foot',age = 12)
# print(s) # i am foot,age is 12 # s = 'i am {name},age is {age}' .format(**{'name':'football','age':12})
# print(s) # i am football,age is 12 # s = 'i am {name:s},age is {age:d}' .format(name = 'foot',age = 12)
# print(s) # i am foot,age is 12 # s = '--{:b}--{:d}--{:x}--{:X}--{:%}' .format(15,15,15,15,15)
# print(s) # --1111--15--f--F--1500.000000% # s = '--{0:b}--{0:d}--{0:x}--{0:X}--{0:%}' .format(15)
# print(s) # --1111--15--f--F--1500.000000% s = '--{num:b}--{num:d}--{num:x}--{num:X}--{num:%}' .format(num = 15)
print(s) # --1111--15--f--F--1500.000000%

python之格式化输出的更多相关文章

  1. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  2. python的格式化输出

    Python的格式化输出有两种: 一.类似于C语言的printf的方法 二.类似于C#的方法

  3. python print格式化输出。

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  4. Python 基础 格式化输出

    Python 基础 格式化输出 现在需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ---------- Name : Alex Li Age : ...

  5. python字符串格式化输出

    python格式化输出 python格式化输出有两种方式:百分号和format format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白.字符串居中显示.转换二进制.整数自动 ...

  6. Python print格式化输出

    python中的print格式化输出,基本格式:"[字符串]%格式1[字符串]%格式2[字符串]....."%(string1,string2.....) 格式符号 ------- ...

  7. Python之格式化输出讲解

    1.格式化输出整数python print也支持参数格式化,与C言的printf似, strHello = "the length of (%s) is %d" %(Hello W ...

  8. Python基本格式化输出

    什么叫格式化输出? 数据按照某种特殊的要求输出 假如输入一个整数,希望整数按照十六进制,八进制输出,如果输入一个小数,希望小数保留后面2位数然后输出,或者以科学计数法的方式来输出小数.字符串的输出希望 ...

  9. Python之格式化输出,初始编码以及运算符

    一.题型 1.使用while循环输入 1 2 3 4 5 6  8 9 10 count = 0 while count < 10: count += 1   #count = count + ...

  10. python 浅析格式化输出和深浅copy

    一,格式化输出 今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下: 格式是 :百分号+占位符 主要有三种使用形式:%s  (其中s表示string)表示字符串 %d  (其中d表 ...

随机推荐

  1. 构建模式--Adapter模式(JAVA)

    适配器模式: 适配器就相当于我们的转接头,比如手机充电器插头(小米和华为的手机充电器不能共用,这时候就可以给华为的充电器按一个转接头,就可以给小米手机充电). 同理,当一个类(充电器 HuaweiCh ...

  2. Others-阿里专家强琦:流式计算的系统设计和实现

    阿里专家强琦:流式计算的系统设计和实现 更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 阿里云数据事业部强琦为大家带来题为“流式计算的系统设计与实现”的演讲,本 ...

  3. Tornado的安装使用

    https://blog.csdn.net/a312024054/article/details/52207367 tornado原理: tornado的使用 import tornado.ioloo ...

  4. redis 哨兵模式 Connection refused

    spring整合redis哨兵,修改了bind ,protected 任然连接拒绝,是因为哨兵的mastername 和spring里面的名称不一致..导致拒绝了...... 哨兵模式配置文件 属性  ...

  5. 【Noip模拟 20161005】友好城市

    问题描述 小ww生活在美丽的ZZ国.ZZ国是一个有nn个城市的大国,城市之间有mm条单向公路(连 接城市ii.jj的公路只能从ii连到jj).城市ii.jj是友好城市当且仅当从城市ii能到达城市jj并 ...

  6. ubuntu卸载福昕阅读器

    在安装目录找到maintenancetool.sh运行之 ~/opt/foxitsoftware/foxitreader

  7. html lesson one

    Review Congratulations on completing the first lesson of HTML & CSS! You are well on your way to ...

  8. Tcp连接的七次握手浅析

    LINUX 查看tcp连接数及状态 # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 8 ...

  9. 【385】itertools 的 product 和 chain 和 accumulate

    参考:itertools模块 product 相当于返回两个集合中数据的所有组合可能 Examples from Eric Martin from itertools import product p ...

  10. Android Studio 打包时 Signature Version 选择V1还是V2 ?

    只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...