2018年12月7日 字符串格式化2 format与函数1

tp7="i am \033[44;1m %(name)-25.6s\033[0m"%{"name":"sxj2343333"}
print(tp7)
#-为左对齐,\033[44;1m    \033[0m   为选取44色号的颜色

tp1="I am {},age{},{}"
tp2=tp1.format("sxj",18,"abc")
print (tp2)

tp3="I am {1},age{1},{1}"
tp4=tp3.format("sxj",18,"abc")
print(tp4)

2、Format方式

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

    • fill           【可选】空白处填充的字符
    • align        【可选】对齐方式(需配合width使用)
      • <,内容左对齐
      • >,内容右对齐(默认)
      • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
      • ^,内容居中
    • sign         【可选】有无符号数字
      • +,正号加正,负号加负;
      •  -,正号不变,负号加负;
      • 空格 ,正号空格,负号加负;
    • #            【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
    • ,            【可选】为数字添加分隔符,如:1,000,000
    • width       【可选】格式化位所占宽度
    • .precision 【可选】小数位保留精度
    • type         【可选】格式化类型
      • 传入” 字符串类型 “的参数

        • s,格式化字符串类型数据
        • 空白,未指定类型,则默认是None,同s
      • 传入“ 整数类型 ”的参数
        • b,将10进制整数自动转换成2进制表示然后格式化
        • c,将10进制整数自动转换为其对应的unicode字符
        • d,十进制整数
        • o,将10进制整数自动转换成8进制表示然后格式化;
        • x,将10进制整数自动转换成16进制表示然后格式化(小写x)
        • X,将10进制整数自动转换成16进制表示然后格式化(大写X)
      • 传入“ 浮点型或小数类型 ”的参数
        • e, 转换为科学计数法(小写e)表示,然后格式化;
        • E, 转换为科学计数法(大写E)表示,然后格式化;
        • f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
        • F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
        • g, 自动在e和f中切换
        • G, 自动在E和F中切换
        • %,显示百分比(默认显示小数点后6位)
      • tp1="I am {},age{},{}"
        tp2=tp1.format("sxj",18,"abc")
        print (tp2)
        
        tp3="I am {1},age{1},{1}"
        tp4=tp3.format("sxj",18,"abc")
        print(tp4)
        
        tp5="I am {name},age{age},{love}"
        tp6=tp5.format(** {"name":"sxj","age":18,"love":"mm"})
        print ("注意传递字典需要**加持",tp6)
        
        tp5="I am {name},age{age},{love}"
        tp7=tp5.format(name="sxj",age=111,love="mm")
        print(tp7)
        
        tp5="I am {:s},age{:d},{:.3f}"#用法同%一样
        tp8=tp5.format("sxj",18,44.5225222)
        print(tp8)
        
        tp5="I am {:s},age{:d},{:.3f}"
        tp9=tp5.format(*["sxj9",11111,22.33433])
        print("注意传递list用*加持",tp9)
        
        tp5="I am {name:s},age{age:d},{love:.3f}" #:s:d:f定义不同类型
        tp10=tp5.format(name="abc",age=232,love=89.9545)
        print(tp10)
        
        tpx="numbers:{:b},{:o},{:d},{:x},{:X},{:%}"
        tp11=tpx.format(12,16,3,40,40,0.33444)
        print(tp11) 

        print("函数定义")
        
        def test(x):
            " sxj "#函数定义描述 强烈建议
            x+=1
            return print(x) #返回打印值 或者直接返回x
        test(5)
        
        def test2():
            "abc"
            for i in range(5):
                i+=1
                print (i)
            return# 可以不写返回值
        test2()
        
        print("过程定义:没有return")
        print("return 也可以返回多个值")
        
        def test3():
            msg="test3"
            print(msg)
            return 1,2,3,4,[2,4,5,4],True# 以元祖的形式返回多个值
        t3=test3()
        print (test3())
        # 返回值=0 则返回 none
        # 返回值=1 返回object
        # 返回值 > 1 则返回tuple
def test(x,y,z):
    print(x)
    print(y)
    print(z)
test(y=2,x=1,z=4)
# 关键字参数位置无需固定,但不能少
#如果混用,位置参数必须在关键字参数左边
test(4,2,z=5)

def handle(x,type="sxj"):#设置type为默认参数
    print(x)
    print(type)
handle("hello")#默认参数可以不写
handle("abc","传递默认参数")
#  非固定参数组: ** 字典  *列表/元祖?
def test(x,*args):
    print (x)
    print (args)
test(1,2,3,4,5)
#输出2,3,4,5 组成的元祖 ,args为预留后续的可扩展
test(1,*[‘x‘,‘y‘,‘z‘]) #前面加*表示遍历整个列表
test(1,[‘x‘,‘y‘,‘z‘]) #如果没有*则表示列表作为一个整体

def test2(x,**kwargs):
    print(x)
    print(kwargs)
test2(1,y=2,z=3) #传递生成的是字典

def test3(x,*args,**kwargs):#代表能接受任何形式的参数
    print(x)
    print(args)
    print(kwargs)
print()
test3(1,*[2,3,4],**{"a":2,"b":4,"c":4})
print()
test3(1,[4,5,6],a=4,b=4,c=1)

原文地址:https://www.cnblogs.com/python1988/p/10081542.html

时间: 2024-09-30 06:13:12

2018年12月7日 字符串格式化2 format与函数1的相关文章

2018年12月14日 函数 总结

map() 处理序列中每个元素,得到迭代器,该迭代器  元素个数和位置与原来一致 filter() 遍历序列中的每个元素,判断每个元素得到布尔值,如果是true则留下来 people=[ {'name':"abc","age":100}, {"name":"def","age":80}, {'name':'sxj',"age":30}, {"name":"h

阮一峰网络日志 第37期 2018年12月28日

http://www.ruanyifeng.com/blog/2018/12/weekly-issue-37.html 声明:链接及文章内容为原博主阮一峰原创. 原文地址:https://www.cnblogs.com/sanen/p/10242378.html

【2018年12月14日】A股最便宜的股票

新钢股份(SH600782) - 当前便宜指数:193.12 - 滚动扣非市盈率PE:2.91 - 动态市净率PB:0.96 - 动态年化股息收益率:1.75% - 新钢股份(SH600782)的历史市盈率走势图 光明地产(SH600708) - 当前便宜指数:190.93 - 滚动扣非市盈率PE:3.85 - 动态市净率PB:0.73 - 动态年化股息收益率:4.03% - 光明地产(SH600708)的历史市盈率走势图 太钢不锈(SZ000825) - 当前便宜指数:188.54 - 滚动扣

日结(2018年12月22日)

春日的雨水,夏日的热情,秋日的余晖,冬至的来临.今天是快乐的一天,也是劳累的一天 这是荒唐的一天,也是值得纪念的一天.从早上9点多开始的鲍师傅之旅,伴随着两个小时的无奈和濒临崩溃的绝望结束.虽然很辛苦,但是排到的那一刻就仿佛一段debug很久的程序跑出了自己希望的结果一样,这种感觉是真的有点开心(我可以说买完看着后面的人焦急等待的神情是真的爽吗) 从来没有逛过这么久的街,也从来没有花钱花到身无分文还想浪.这个月的一次"大作战"改变了原本的生活轨迹,计划好的生活费成了不足,这种超出预期的

2018年12月26日所学内容

1.算数运算符 +   加      -减   *乘    /  除    % 余数 ++  自增   数值前加   先运算再赋值      数值后加     先赋值在运算 - -  自减     数值前加   先运算再赋值      数值后加     先赋值在运算 trun在unmber里值为"1": false在number里值为"0": document.write('</br>')换行: "/"在undefined里不读: 2

2018年12月27日所学

1.循环体 for(exp1:exp2:exp3:){循环体} exp1:无条件的执行第一个表达式           exp2:是判断是否能执行循环体的条件           exp3:做增量或减量的操作 例:<script type="text/javascript">        for(var i=1;i<=10;i++){ document.write('开心'+i+'次<br/>');        } </script> 2.

2018年12月,华为HCNP大面积更新题目,军哥独家解题咯

2018年12月,华为HCNP大面积更新题目,乾颐堂军哥独家解题咯2018年是华为认证变动比较大的一年,华为认证走过这几年不得不说是有一定进步的,而且最近华为孟女侠确实让我也小小的骄傲了一把,所以当然希望华为认证能做的更好,更专业一点(我平时没少吐槽华为的认证).回顾2018年华为认证做出的改变,有这么几件大事:1.多个方向终于开始比较正式的升级大纲了.我来帮大家讲一讲历史,依稀记得2014年那其实是我第一次意识到华为开始做网络方面的职业认证(当然人家开始做认证要更早一丢丢),当时我已经有思科的

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课(12月29日)4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 [[email protected] ~]# [[email protected] ~]# mke2fs命令文件系统管理mke2fs命令被用于创建磁盘分区上的"etc2/etc3"文件系统. 语法:mke2fs(选项)(参数) 选项:-b<区块大小>:指定区块大小,单位为字节:-c:检查是否有损坏的区块:-f<不连续区段大小>:指定不连续区段的大小,单位为

23.密码学知识-加密介绍-1——2019年12月19日

2019年12月19日14:51:00 1. 第1天 - 对称加密 1.1 基础知识点 知识点大纲介绍 密码的基础概念 对称加密 非对称加密 单向散列函数 哈希函数 消息认证码 数字签名 证书 ssl/tls - https 为什么要加密, 以及解决方案 保证数据安全 加密三要素 明文/密文 秘钥 定长的字符串 需要根据加密算法确定其长度 算法 加密算法 解密算法 加密算法和解密算法有可能是互逆的, 也有可能相同 常用的两种加密方式 对称加密 秘钥: 加密解密使用的是同一个秘钥, 秘钥有一个 特