zoukankan      html  css  js  c++  java
  • f-strings 详解

    f-strings 详解

    f-strings字符串格式化 的那一部分已经有所讨论。其实当时已经讨论得差不多了,今天只是稍微地有一点点补充。主要还是复习。

    f-strings 的基本结构是这样的:

    name = '宝元'
    age = 18
    sex = '男'
    msg1 = F'姓名:{name},性别:{age},年龄:{sex}'  # 大写字母也可以
    msg = f'姓名:{name},性别:{age},年龄:{sex}'   # 建议小写
    print(msg)
    

    输出的结果为:

    姓名:宝元,性别:18,年龄:男
    

    f-strings 就是在字符串的引号前面加上一个字母 f。字母大小写都可以,但是推荐使用小写。{} 中除了可以使用变量外,还可以放入函数:

    def func(a,b):
        return a + b
    msg = f"运行结果:{func(1,2)}"
    print(msg)
    

    输出的结果为:

    运行结果:3
    

    甚至可以在 {} 中放入 input 函数,让用户输入:

    print(f"姓名:{input('请输入姓名:')} 年龄:{input('请输入年龄:')} 性别:{input('请输入性别:')}")
    

    输出的结果是:

    请输入姓名:alex
    请输入年龄:18
    请输入性别:男
    姓名:alex 年龄:18 性别:男
    

    除了字符串,{} 中也可以放入列表和字典:

    lst = [1, 2, 32, 34, 45, 5]
    msg = f"运行结果:{lst[0:3]}"
    print(msg)
    
    dic = {"key": 1, "key1": 22}
    msg = f"运行结果:{dic['key1']}"
    print(msg)
    

    输出的结果为:

    运行结果:[1, 2, 32]
    运行结果:22
    

    f-string 可以写成多行的形式,但依然打印成一行:

    msg = f"窗前明月{'光'}," 
          f"玻璃好上{'霜'}。" 
          f"要不及时{'擦'}," 
          f"一会就得{'脏'}。"
    print(msg)
    

    输出的结果为:

    窗前明月光,玻璃好上霜。要不及时擦,一会就得脏。
    

    要想打印多行字符串,还是要使用三对引号:

    msg = f"""
    窗前明月{'光'},
    玻璃好上{'霜'}.
    要不及时{'擦'},
    一会就得{'脏'}.
    """
    print(msg)
    

    通过使用三元运算,配合 f-strings,我们可以进一步节省代码:

    a = 10
    b = 20
    msg = f"{a if a < b else b}"
    print(msg)
    

    同时使用两个括号表示一个可以打印的大括号:

    msg = f"{{'alex': 'wusir'}}"
    print(msg)
    

    输出的结果为:

    {'alex': 'wusir'}
    
  • 相关阅读:
    Vue.js依赖收集
    Vue.js响应式原理
    详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器
    利用docker容器运行.net core webapi
    wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!
    算法之A星算法(寻路)
    Python 学习日记 第一天
    Python 学习日记 第三天
    Python 学习日记 第二天
    再做一题,2013616更新
  • 原文地址:https://www.cnblogs.com/shuoliuchina/p/12426574.html
Copyright © 2011-2022 走看看