zoukankan      html  css  js  c++  java
  • Python_字符串格式化

    #字符串格式化
    # a=3
    # b=5
    # print(a,"+",b,"=",a+b)
    # print(a+"+"+b+"="+(a+b))#报错,TypeError: unsupported operand type(s) for +: 'int' and 'str'
    # print(str(a)+"+"+str(b)+"="+str(a+b))#可以实现3+5=8,但是麻烦
    #解决方案1 使用%号
    # print("%s+%s=%s"%(a,b,a+b))
    #%s表示字符串,%d表示整数,%f表示浮点类型的数字
    # print("我叫%s,你叫%s,他叫%s,今年是%s年"%("吴彦祖","彭于晏","周杰伦","2020"))
    #前后的参数的数量必须一致
    # print("我叫%s,你叫%s,他叫%s,今年是%s年"%("吴彦祖","彭于晏","周杰伦"))#TypeError: not enough arguments for format string
    # print("我叫%s,你叫%s,他叫%s"%("吴彦祖","彭于晏","周杰伦","2020"))#TypeError: not all arguments converted during string formatting
    # print("我叫%s,你叫%s,他叫%s,今年是%d年"%("吴彦祖","彭于晏","周杰伦","2020"))#TypeError: %d format: a number is required, not str
    #宽度,指定的是下限,默认右对齐,大于指定值取全部
    # print("我叫%5s,你叫%5s,他叫%5s,今年是%5s年"%("吴彦祖","彭于晏","周杰伦","2020"))#我叫 吴彦祖,你叫 彭于晏,他叫 周杰伦,今年是 2020年
    # print("我叫%s,你叫%s,他叫%5s,今年是%s年"%("吴彦祖","彭于晏","周杰伦北京一伦","2020"))
    #左对齐加负号
    # print("我叫%-5s,你叫%-5s,他叫%-5s,今年是%-5s年"%("吴彦祖","彭于晏","周杰伦","2020"))#我叫吴彦祖 ,你叫彭于晏 ,他叫周杰伦 ,今年是2020 年
    #补齐,默认补空格,%d可以补0,%s不可以,都不可以补其他字符
    #可以在%的后面添加数字n,表示至少显示n位,不足时用空格补齐,超过n则正常显示所有字符
    #对于数字而言,可以在左侧补0,%0nd,n是任意自然数
    # print("我叫%s,你叫%s,他叫%5s,今年是%05d年"%("吴彦祖","彭于晏","周杰伦","2020"))#TypeError: %d format: a number is required, not str
    # print("我叫%s,你叫%s,他叫%5s,今年是%05d年"%("吴彦祖","彭于晏","周杰伦",2020))#我叫吴彦祖,你叫彭于晏,他叫 周杰伦,今年是02020年
    # print("我叫%s,你叫%s,他叫%5s,今年是%5d年"%("吴彦祖","彭于晏","周杰伦",2020))
    #%f,浮点型,%m.nf,m表示最少显示多少位,n表示小数位数
    # print("%6.2f"%(3.1415))# 3.14
    # print("%6.2f"%(300089769.1415))#300089769.14

    #解决方案2 format
    # print("我叫{},你叫{},他叫{}".format("吴彦祖","彭于晏","周杰伦"))#我叫吴彦祖,你叫彭于晏,他叫周杰伦
    #后面的参数可以比前面多,但是不能少
    # print("我叫{},你叫{},他叫{},今年是{}".format("吴彦祖","彭于晏","周杰伦"))#IndexError: tuple index out of range
    # print("我叫{},你叫{},他叫{},今年是{}".format("吴彦祖","彭于晏","周杰伦",2020,2009))#IndexError: tuple index out of range
    # print("我叫{},你叫{},他叫{},今年是{}".format("吴彦祖","彭于晏","周杰伦","2020"))#我叫吴彦祖,你叫彭于晏,他叫周杰伦,今年是2020
    #宽度,字符默认左对齐,数字默认右对齐,不足补空格
    # print("我叫{:5},你叫{:5},他叫{:5},今年是{:5}".format("吴彦祖","彭于晏","周杰伦",2020))#我叫吴彦祖 ,你叫彭于晏 ,他叫周杰伦 ,今年是 2020
    # print("我叫{:5},你叫{:5},他叫{:5},今年是{:5}".format(吴彦祖,"彭于晏","周杰伦",2020))#NameError: name '吴彦祖' is not defined
    #补齐方式,大于号右对齐,小于号左对齐,^括号居中对齐,在冒号和方向符之间可以补任意字符和数字
    # print("我叫{:>5},你叫{:<5},他叫{:^5},今年是{:<5}".format("吴彦祖","彭于晏","周杰伦",2020))#我叫 吴彦祖,你叫彭于晏 ,他叫 周杰伦 ,今年是2020
    # print("我叫{:1>5},你叫{:&<5},他叫{:*^5},今年是{:*<5}".format("吴彦祖","彭于晏","周杰伦",2020))#我叫11吴彦祖,你叫彭于晏&&,他叫*周杰伦*,今年是2020*
    #tuple,可以使用下标来实现
    # print("我叫{0:1>5},你叫{2:&<5},他叫{1:*^5},今年是{4:*<5}".format("吴彦祖","彭于晏","周杰伦",2020,2021))#我叫11吴彦祖,你叫周杰伦&&,他叫*彭于晏*,今年是2021*
    #本来就想显式{},怎么办?{{}}
    # print("我叫{},你叫{{:<5}},他叫{}".format("吴彦祖","彭于晏","周杰伦"))#我叫吴彦祖,你叫{:<5},他叫彭于晏
    # print("我叫{},你叫{{{:<5}}},他叫{}".format("吴彦祖","彭于晏","周杰伦"))#我叫吴彦祖,你叫{彭于晏 },他叫周杰伦
    #方案2的另外一种写法 f表示,python3.6以上的版本才支持,字符串默认左对齐,数字默认右对齐
    # name1="吴彦祖"
    # name2="彭于晏"
    # age=24
    # # print(f"我叫{name1},你叫{name2}")#我叫吴彦祖,你叫彭于晏
    # print(f"我叫{name1:^7},你叫{name2:7},年龄{age:7}")#我叫 吴彦祖 ,你叫彭于晏 ,年龄 24
    # print(f"我叫{name1:1^7},你叫{name2:&>7},年龄{age:a<7}")#我叫11吴彦祖11,你叫&&&&彭于晏,年龄24aaaaa

    #全局变量和局部变
    a=3#全局变量,程序任何代码都可以使用
    # def fun1():
    # b=6#局部变量,只能在函数内部使用
    # print(b)
    # # print(fun1())#返回None
    # print(b)#NameError: name 'b' is not defined

    # def fun1():
    # global b#声明为全局变量
    # b=6#局部变量,只能在函数内部使用
    # # print(b)
    # print(fun1())#返回None
    # print(b)#NameError: name 'b' is not defined,必须先调用一次给b赋值

    def fun1():
    global a#声明为全局变量
    a=10#局部变量,只能在函数内部使用
    # print(b)
    fun1()
    print(a)#a的值变为10
    print(a+5)
  • 相关阅读:
    Django REST framework (DRF)框架入门之权限【五】
    Django REST framework (DRF)框架入门之视图【四】
    Django REST framework (DRF)框架入门之视图【三】
    restFul接口设计规范
    Django REST framework (DRF)框架入门之序列化---反序列化【二】
    Django REST framework (DRF)框架入门之序列化【一】
    Vue自动化工具(Vue-cli)基础3
    Vue.js 基础2
    Vue.js 基础1
    Django 下载功能中文文件名问题
  • 原文地址:https://www.cnblogs.com/xiehuangzhijia/p/13778765.html
Copyright © 2011-2022 走看看