• 百分之九十的人不知道?在Python中f-string的几个技巧


    f-string想必很多Python用户都基础性的使用过,作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容,但f-string真正蕴含的功能远比大多数用户知道的要丰富,今天我们就来一起get它们~

    最基础用法

    f-string最基础的用法很简单,如下例所示,在前缀f的字符串中向{}内直接填入要嵌入的值、变量或计算表达式:

    print(f'1+1 = {2}')
    #输出:1+1 = 2
    
    a=1 + 1
    print(f'1+1 = {a}')
    #输出:1+1 = 2
    
    print(f'1+1 = {1+1}')
    #输出:1+1 = 2
    

    自记录表达式

    从Python3.8版本开始,为f-string引入了自记录表达式,使得我们可以按照下面的写法快速输出一些计算表达式:

    import math
    a = 8
    print(f'{math. log(8) = }')
    
    #输出:math. log(8) = 2.0794415416798357
    

    多行f-string

    通过最外层包裹小括号,我们可以像下面这样非常灵活地撰写多行f-string:

    a = 1
    b = 2
    c = 3
    s = (
        f'{a = }
    '
        f'{b = }
    '
        f'{c = }
    '
    )
    print(s)
    
    #输出:
    a = 1
    b = 2
    c = 3
    

    在f-string中格式化日期

    针对日期类型的变量,我们可以参考下面的方式,直接在f-string中快速地进行格式化:

    '''
    学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    import datetime
    now = datetime.datetime.now()
    print(f'{now:%Y年%m月%d号%H点%M分%S秒}')
    
    #输出:
    2021年10月18号16点45分58秒
    

    控制浮点数精度

    在f-string中我们可以按照下列方式灵活地控制浮点数的小数位数:

    import math
    pi = math.pi
    print(f'{pi: .3f}')
    print(f'{pi:.8f}')
    
    #输出
    3.142
    3.14159265
    

    标准化显示宽度

    当我们需要对f-string打印内容的显示最小宽度进行限制时,譬如打印出类似表格的结构,可以参考下面的例子:

    for x in range(1,11):
        print(f'{x:02}|{x**2:3}/{x**5:6}')
    
    #输出
    01|  1/     1
    02|  4/    32
    03|  9/   243
    04| 16/  1024
    05| 25/  3125
    06| 36/  7776
    07| 49/ 16807
    08| 64/ 32768
    09| 81/ 59049
    10|100/100000
    

    修改为左对齐

    f-string默认为右对齐,就像上面的例子,但我们可以像下面这样使用<修改显示模式为左对齐:

    '''
    学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    for x in range(1,11):
        print(f'{x:<2}|{x**2:<3}|{x**5:<6}')
    
    #输出
    1 |1  |1     
    2 |4  |32    
    3 |9  |243   
    4 |16 |1024  
    5 |25 |3125  
    6 |36 |7776  
    7 |49 |16807 
    8 |64 |32768 
    9 |81 |59049 
    10|100|100000
    

    设置科学计数法格式

    我们可以参考下面的方式实现指定位数的科学计数法显示方式:

    import math
    pi = math.pi
    print(f'{pi*100:.10e}')
    
    #输出
    3.1415926536e+02
    

    控制有效数字位数

    通过下面的方式,我们还可以控制所显示数字的有效数字位数,即从左开始第一个不为0的数字往右一共显示的个数,当位数低于整数部分时会自动变成科学计数法格式:

    a=1312.3123123123123
    print(f'{a:.10g}')
    #输出:1312.312312
    
    a=1312.3123123123123
    print(f'{a:.3g}')
    #输出:1.31e+03
    

    会了吗?

  • 相关阅读:
    hive数据仓库入门到实战及面试
    clickhouse入门到实战及面试
    透过源码看懂Flink核心框架的执行流程
    hive经典练习题
    flink批处理从0到1学习
    flink基础篇
    flink进阶篇
    flink源码阅读
    spark优化总结
    uni-app跨平台移动应用开发
  • 原文地址:https://www.cnblogs.com/djdjdj123/p/15426653.html
Copyright © 2020-2023  润新知