• 轻松驾驭Python格式化:5个F-String实用技巧分享


    F-String(格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法。

    它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串,
    这种特性使得F-String在编写Python代码时能够更简洁、更直观地处理字符串。

    本文总结了5个实用的F-String技巧,相信一定能让你的代码输出更加的美观,清晰。

    1. 大数字

    Python的数据分析的项目中,经常接触到很大的数字,直接打印出大数字的话,很难看出它究竟有多少位。

    n = 100000000
    print(n)
    # 100000000
    

    F-String来格式化,可以将大数字用千分位的形式显示出来。

    # 千分位的分隔符用 _ 或者 , 都可以
    
    print(f"{n:_}")
    # 100_000_000
    
    print(f"{n:,}")
    # 100,000,000
    

    2. 浮点数

    对于浮点数,除了可以用千分位分隔之外,还可以指定显示几位小数。

    n = 1234.5678
    print(f"{n:.2f}")
    # 1234.57
    
    print(f"{n:.0f}")
    # 1235
    
    print(f"{n:,.3f}")
    # 1,234.568
    
    print(f"{n:_.3f}")
    # 1_234.568
    

    显示前会自动做四舍五入的计算。

    3. 对齐

    对齐不仅是让输出更加美观,更重要的是清晰,能够让我们更容易找到输出中的关键的信息。

    比如,下面对齐输出namevalue

    name = "var"
    value = 100
    
    # >20 表示右对齐,并且占用20个字符的空间
    print(f"{name:>20}: {value}")
    
    # <20 表示左对齐,并且占用20个字符的空间
    print(f"{name:<20}: {value}")
    
    # ^20 表示居中对齐,并且占用20个字符的空间
    print(f"{name:^20}: {value}")
    
    # 运行结果
                     var: 100
    var                 : 100
            var         : 10
    

    占用的20个字符的空间,包括var这个字符串,也就是说,占用的空间包含var17个空格。

    F-String格式化输出时,默认是用空格来占位的,我们也可以定义自己的占位符。

    # 下面的例子分别用 _ # | 来占位
    print(f"{name:_>20}: {value}")
    print(f"{name:#<20}: {value}")
    print(f"{name:|^20}: {value}")
    
    # 运行结果
    _________________var: 100
    var#################: 100
    ||||||||var|||||||||: 100
    

    4. 日期

    日期的格式化也是很常用的,python的日期格式化字符都可以在F-String中使用。

    from datetime import datetime
    
    now = datetime.now()
    print(f"{now:%Y-%m-%d (%H:%M:%S)}")
    # 2024-03-12 (00:17:05)
    
    print(f"{now:%c}")
    # Tue Mar 12 00:17:05 2024
    
    print(f"{now:%I%p}")
    # 12AM
    

    5. 变量描述

    最后这个功能很有用,但估计没多少人知道。

    所谓变量描述,也就是说在输出变量的时候,不仅输出变量的值,也输出变量的名字。
    比如,一般我们输出变量是这样:

    a = 10
    b = 20
    s = "hello"
    
    print(f"{a + b}")
    # 30
    
    print(f"{s}")
    # hello
    

    这样输出之后,我们不知道30hello是哪个变量的值。
    所以,我们一般会像下面这样输出:

    print(f"a + b = {a + b}")
    # a + b = 30
    
    print(f"s = {s}")
    # s = hello
    

    F-String有个技巧,可以避免自己手动去输入变量的名字(比如上面的a + b =s =)。

    print(f"{a + b = }")
    # a + b = 30
    
    print(f"{s = }")
    # s = hello
    

    这样不仅简化的写代码,而且变量名称发生变化的时候,也可以减少修改的地方。

  • 相关阅读:
    64位Ubuntu20.04.5 LTS系统安装32位运行库
    高等数学(第七版)同济大学 习题10-2(前10题) 个人解答
    echarts折线图设置背景颜色
    【Redis】<键值型数据库>Linux安装Redis(无错完整)
    RedisTemplate操作Redis
    如何将报告从 JasperReports 导入到 FastReport .NET?
    后端开发进阶之路:后端开发核心竞争力之一抽象建模能力
    HTML静态网页成品作业(HTML+CSS)——家乡芷江侗族自治县介绍网页(1个页面)
    vue钩子函数以及例子
    【数据结构】八大排序
  • 原文地址:https://www.cnblogs.com/wang_yb/p/18067555