Python之路【第三篇】:Python基础之杂货铺

字符串格式化

Python的字符串格式化有两种方式:百分号方式、format方式

百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。

1、百分号方式

%[(name)][flags][width].[precision]typecode
● (name)      可选,用于选择指定的key
●  flags          可选,可供选择的值有:
       ●  +       右对齐;正数前加正好,负数前加负号;
       ●   -        左对齐;正数前无符号,负数前加负号;
       ●  空格    右对齐;正数前加空格,负数前加负号;
       ●  0        右对齐;正数前无符号,负数前加负号;用0填充空白处
●  width         可选,占有宽度
●  .precision   可选,小数点后保留的位数
●  typecode    必选
        ● s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置
        ● r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
        ● c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
        ● o,将整数转换成 八  进制表示,并将其格式化到指定位置
        ● x,将整数转换成十六进制表示,并将其格式化到指定位置
        ● d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
        ● e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
        ● E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
        ● f ,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
        ● F   同上
        ● g,自动调整将整数、浮点数转换成  浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
        ● G,自动调整为整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
        ● % ,当字符串中存在格式化标志时,需要用%%表示一个百分号
注:Python中百分号格式化是不存在将整数转换成二进制表示的方式
      

常用格式化:

msg = "i am %s my hobbby is %s" %(‘william‘, ‘basketball‘)
print(msg)
输出结果:
i am william my hobbby is basketball

msg = ‘i am %s ,age %s‘ %(‘william‘,18)
print(msg)
输出结果:
i am william ,age 18

msg = ‘i am %(name)s age %(age)d‘ % {‘name‘: ‘william‘, ‘age‘: 19}
print(msg)
输出结果:
i am william age 19

#打印浮点数
tpl = "percent %.2f" % 99.97623445463344
print(tpl)
输出结果:
percent 99.98

#打印百分比
tpl = "percent %.2f %%" % 99.97623445463344
print(tpl)
输出结果:
percent 99.98 %

msg = ‘i am %(name)+60s my hobby is basketball.‘ % {‘name‘: ‘william‘}
print(msg)
输出结果:
i am                                                      william my hobby is basketball.

msg = ‘i am \033[43;1m%(name)+60s\033[0m my hobby is basketball.‘ % {‘name‘: ‘william‘}
print(msg)
输出结果:
i am                                                      william my hobby is basketball.

print(‘root‘, ‘x‘, ‘0‘, ‘0‘,sep=‘:‘)
输出结果:
root:x:0:0

2、Format方式

表达格式:

[fill]align][sign][#][0][width][,][.precision][type]

常用格式化:

msg = ‘i am {},age {}, {}‘.format(‘zhurui‘, 24, ‘william‘)
print(msg)
输出结果:
i am zhurui,age 24, william

msg = ‘i am {},age {}, {}‘.format(*[‘zhurui‘, 24, ‘william‘])
print(msg)
输出结果:
i am zhurui,age 24, william

msg = ‘i am {0}, age {1},really {0}‘.format(‘zhurui‘,24)
print(msg)
输出结果:
i am zhurui, age 24,really zhurui

msg = ‘i am {0}, age {1},really {0}‘.format(*[‘zhurui‘,24])
print(msg)
输出结果:
i am zhurui, age 24,really zhurui

msg = ‘i am {name}, age {age},really {name}‘.format(name=‘william‘, age=24)
print(msg)
输出结果:
i am william, age 24,really william

msg = ‘i am {name}, age {age},really {name}‘.format(**{‘name‘: ‘william‘, ‘age‘: 24}) #format如果用字典的话,前面加**
print(msg)
输出结果:
i am william, age 24,really william

msg = ‘i am{0[0]}, age {0[1]}, really {0[2]}‘.format([1, 2, 3], [11, 22, 33])
print(msg)
输出结果:
i am1, age 2, really 3

msg = ‘i am {:s}, age {:d}, money {:f}‘.format(‘william‘,24,89.3432)
print(msg)
输出结果:
i am william, age 24, money 89.343200

msg = ‘i am {:s},age {:d}‘.format(*[‘william‘, 24])
print(msg)
输出结果:
i am william,age 24

msg = ‘i am {name:s},age {age:d}‘.format(**{‘name‘: ‘william‘,‘age‘: 24})
print(msg)
输出结果:
i am william,age 24

msg = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
print(msg)
输出结果:
numbers: 1111,17,15,f,F, 1587.623000%

msg = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
输出结果:
numbers: 1111,17,15,f,F, 1587.623000%

msg = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
print(msg)
输出结果:
numbers: 1111,17,15,f,F, 1500.000000%

msg = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
print(msg)
输出结果:
numbers: 1111,17,15,f,F, 1500.000000%

原文地址:https://www.cnblogs.com/hackerer/p/8310098.html

时间: 2024-08-30 07:06:33

Python之路【第三篇】:Python基础之杂货铺的相关文章

python之路第三篇

python文件目录操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r“c:\python”) 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir()

Python学习【第十一篇】基础之杂货铺

字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 百分号方式: %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空格 右对齐:正数前加空格,负数前加负号: 0 右

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进

Python之路【第九篇】:Python基础(26)——socket server

socketserver Python之路[第九篇]:Python基础(25)socket模块是单进程的,只能接受一个客户端的连接和请求,只有当该客户端断开的之后才能再接受来自其他客户端的连接和请求.当然我 们也可以通过python的多线程等模块自己写一个可以同时接收多个客户端连接和请求的socket.但是这完全没有必要,因为python标准库已经为 我们内置了一个多线程的socket模块socketserver,我们直接调用就可以了,完全没有必要重复造轮子. 我们只需简单改造一下之前的sock

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

七日Python之路--第三天

之前由于看基础看的觉着没意思,才去提前看一下Django的.现在突然不知到该干啥了. 不管什么语言,官方文档是必须的.so........... 莫名浮躁,实在看不下去........   待会研究 re 吧.虽然之前研究过,但许久不使用,忘的差不多了....Orz. --2014.7.23 18:37 正则表达式: 1.掌握正则表达式的规则 正则表达式是一种小型,高度专业化的编程语言,内嵌Python中,通过re模块实现. 正则表达式模式被编译成一系列字节码,由用C编写的匹配引擎执行. 字符匹

七日Python之路--第三天(之不安分 wxPython)

Python有好多个GUI框架,wxPython比较流行,so just do it.....   Win下各种不爽,又换Ubuntu 跟着教程做个记事本.视频地址:http://www.pythoner.cn/course/topic/wxPython-gui/ (一)wxpython的安装 Ubuntu下的安装,还是比较简单的. #使用:apt-cache search wxpython 测试一下,可以看到相关信息 [email protected]:~/Python$ apt-cache 

七日Python之路--第三天(之初试Django 2-2)

接上文.前面(1)(2)部分已经实现浏览器访问工程项目,并且能后台管理新创建的app. (二)第一个Django的app (3)教你开始写Django1.6的第1个app 前面已经完成了model(M)的设置.剩下的只有view(V)和urls(C)了.Django的视图部分,由views.py 和 templates完成. 在polls中,我们将创建4个视图: "index" 列表页 – 显示最新投票. "detail" 投票页 – 显示一个投票的问题, 以及用户

Python之路番外:PYTHON基本数据类型和小知识点

Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and (car == "moving"): car = "stop" else : pass 等同于 if (signal == "red") and (car == "moving"): car = "stop"

Python之路【第二篇】:Python基础

参考链接:老师 BLOG : http://www.cnblogs.com/wupeiqi/articles/4906230.html 入门拾遗 一.作用域 只要变量在内存中就能被调用!但是(函数的栈有点区别) 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 if 1==1: 2 name = 'tianshuai' 3 print name 所以下面的说法是不对的: 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result =