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


    tp7="i am 33[44;1m %(name)-25.6s33[0m"%{"name":"sxj2343333"}
    print(tp7)
    #-为左对齐,33[44;1m    33[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)

  • 相关阅读:
    Python安装(小白教程)中文版Pycharm
    二叉树遍历1
    node* p 和 node *p 和 node * p 的区别
    WinForm中的ListBox组件编程
    C# winform listBox中的项上下移动(转)
    C# ListBox 左移、右移、上移、下移
    C#上移,下移TreeView中的树节点顺序
    C#遍历DataSet与DataSet元素实现代码
    C# 手动编写 DataSet,DataTable 及遍历DataSet中的数据
    【.NET】C#中遍历各类数据集合的方法
  • 原文地址:https://www.cnblogs.com/python1988/p/10081542.html
Copyright © 2020-2023  润新知