1 print基础
参考:https://www.runoob.com/python/att-string-format.html\
#!/usr/bin/env python3.6
from typing import Dict, Tuple, List, Optional,Union,Callable
# cookie
"""Optional: 可选类型,Optional[X] 等价于 X | None(或 Union[X, None]), 意思是参数可以为空或已经声明的类型"""
def test_func()-> Optional[str]:
aa:int = 12
bb:str = "bb"
cc:list = [1,2,3]
dd:dict = {"aa":1}
ee:set = {1,2,3}
ff:Dict[str,Union[int, str]] = {"aa":11, "bb":"cc"}
gg:Tuple[str, int, float] = ("xx", 12, 1.0)
hh:List[str] = ["11","22","33"]
if isinstance(int, Callable):
print("{}".format(aa,bb,cc,dd,ee,ff,gg,hh))
return
占位符 % 和类型码之间的格式语法:
% [格式语法] 类型码(d,s,f等)
格式语法:
- 左对齐
+ 显示正负号
0 补零
宽度
宽度.精度
ex:
“%10d” % 123 # ’ 123’
“%-10d” % 123 # ‘123 ’
“%10s” % “abc” # ’ abc’
“%-5s” % ‘abc’ # ‘abc ’
“%+10d” % 123 # ’ +123’
“%010d” % 123 # ‘0000000123’
“%.2f” % 3.1415926535897932 # ‘3.14’
“%7.2f” % 3.1415926535897932 # ’ 3.14’
str1.center(width[,fill])
1.1 示例代码
#!/usr/bin/env python3.6
name = "zhangsan"
age = 18
print('name is %s ,age is %s' % (name,age))
print("名字是:%(name)s, 我的年龄是:%(age)3d" %({"name": 'zhangsan', "age": 18}))
#f-Strings
print(f'name is {name} ,age is {age}')
#位置参数
print("name is {2}, age is {1}.".format( *("zhs",12,"xx")))
#元组和字典的
print("name is {}, age is {}.".format( *("zhs",12,"xx")))
print("name is {name}, age is {age}.".format(**{"name":"zhs","age":12}))
#关键字参数
print("name is {name}, age is {age}.".format(name="zhs",age=12))
print("name is {}, age is {}, he is {boy}".format("zhs", "12",boy="boy" ))
1.2 format进阶
1.2.1
format使用数字和变量名俩种形式,这就是复合字段
复合字段名支持两种操作符
- [] 方括号
- . 点号
#!/usr/bin/env python3.6
list1 = ["zhs", "云昙"]
print("name: {0[0]},addr: {0[1]}".format(list1))
class Stu:
def __init__(self, name, addr):
self.name = name
self.addr = addr
stu = Stu("zhs", "云昙")
# 点号用法, 传递位置参数。
print("我是 {0.name}, 住在{0.addr}".format(stu))
# 当只有一个字段的时候, 就可以省略数字
print("我是 {.name}".format(stu))
# 试一下传递文件对象的属性
with open("readme") as fp:
print("文件名为: {.name}".format(fp))
"""
"{:^10}\t{:^x1}\t{:^x2}".format(str1,str2,str3) #x1,x2为int
"{:4}\t{:8}\t{:16}".format(str1,str2,str3)
"""
1.2.2 format()
槽位表示符
{:^5} 剧中 后面带宽度
{:<5} 左对齐 后面带宽度
{:>5} 右对齐 后面带宽度
: | <填充> | <对齐> | <宽度> | , | <.精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于填充的单个字符 | < 左对齐 | ||||
> 右对齐 | ||||||
^ 居中对齐 | 槽的设定输出宽度 | 数字的千位分隔符适用于整数和浮点数 | 浮点数小数部分的精度 | |||
或字符串的最大输出长度 | 整数类型b,c,d,o,x,X | |||||
浮点数类型e,E,f,% |
特殊
格式 | 数字 | 输出 | 描述 |
---|---|---|---|
{:.2f} | 3.1415926 | 3.14 | 保留小数点后两位 |
{:+.2f} | 3.1415926 | +3.14 | 带符号保留小数点后两位 |
{:-.2f} | -1 | -1.00 | 带符号保留小数点后两位 |
{:.0f} | 2.71828 | 3 | 不带小数 |
{:0>2d} | 5 | 05 | 数字补零 (填充左边, 宽度为2) |
{:x<4d} | 5 | 5xxx | 数字补x (填充右边, 宽度为4) |
{:x<4d} | 10 | 10xx | 数字补x (填充右边, 宽度为4) |
{:,} | 1000000 | 1,000,000 | 以逗号分隔的数字格式 |
{:.2%} | 0.25 | 25.00% | 百分比格式 |
{:.2e} | 1000000000 | 1.00e+09 | 指数记法 |
pi = 3.1415926
print("value of pi is {:.2f}.".format(pi)) # 3.14
以上就是“python基础format格式化输出”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。