百分之九十的人不知道?在Python中f-string的几个技巧
f-string想必很多Python用户都基础性的使用过,作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容,但f-string真正蕴含的功能远比大多数用户知道的要丰富,今天我们就来一起get它们~
最基础用法
f-string最基础的用法很简单,如下例所示,在前缀f的字符串中向{}内直接填入要嵌入的值、变量或计算表达式:
print(f'1+1 = {2}')
#输出:1+1 = 2a=1 + 1
print(f'1+1 = {a}')
#输出:1+1 = 2print(f'1+1 = {1+1}')
#输出:1+1 = 2
自记录表达式
从Python3.8版本开始,为f-string引入了自记录表达式,使得我们可以按照下面的写法快速输出一些计算表达式:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 = }\n'f'{b = }\n'f'{c = }\n'
)
print(s)#输出:
a = 1
b = 2
c = 3
在f-string中格式化日期
针对日期类型的变量,我们可以参考下面的方式,直接在f-string中快速地进行格式化:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群: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学习交流QQ群: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
设置科学计数法格式
我们可以参考下面的方式实现指定位数的科学计数法显示方式:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import math
pi = math.pi
print(f'{pi*100:.10e}')#输出
3.1415926536e+02
控制有效数字位数
通过下面的方式,我们还可以控制所显示数字的有效数字位数,即从左开始第一个不为0的数字往右一共显示的个数,当位数低于整数部分时会自动变成科学计数法格式:
a=1312.3123123123123
print(f'{a:.10g}')
#输出:1312.312312a=1312.3123123123123
print(f'{a:.3g}')
#输出:1.31e+03
会了吗?
百分之九十的人不知道?在Python中f-string的几个技巧相关推荐
- Python中字符串String去除出换行符(\n,\r)和空格的问题
Python中字符串String去除出换行符和空格的问题(\n,\r) 在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题. 方法: 一.去除空格 & ...
- python中string是什么意思_什么是Python中的String:您需要知道的一切
本文将告诉您什么是Python中的string,并向您简要介绍了解该概念的所有细节.本文将介绍以下指针,如何创建字符串?如何从字符串访问字符?格式化字符串,让我们开始,然后,什么 本文将告诉您什么是P ...
- python基础包括什么-python中f是什么
python中的f是format函数的缩写,用于格式化输出. format函数常见的用法是str.format(),其基本语法是通过{}和:来代替以前的%. 示例:>>>" ...
- python中的string模块
String模块 ascii_letters 获取所有ascii码中字母字符的字符串(包含大写和小写) ascii_uppercase 获取所有ascii码中的大写英文字母 ascii_lowerca ...
- python中%f是什么意思
1.格式符 例如: a = 'test'print 'it is a %s' %(a) 打印的结果就是 it is a test 2.单独看%,是一个运算符号,求余数. 例如: 求模运算,相当于mod ...
- python中f.read()与f.readline区别
众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了.以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道 ...
- [转载] Python中的string模块的学习
参考链接: Python当中string.whitespace 学习资料:http://docs.python.org/library/string.html#string.Formatter 感觉学 ...
- python中f点flush是什么函数_Python文件操作及内置函数flush原理解析
1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...
- 辨别 Python 中 load 和 loads 的小技巧
load 和 loads 都是实现"反序列化",load 通过 json.load(open('*.json')) 这样的格式,从文件句柄中打开文件,加载到Python的变量中,并 ...
最新文章
- 测试openstack neutron的网络连通性
- GSMA公布2016年亚洲移动大奖提名名单
- 最大权闭合 图 讲解
- cocos2d-x按钮CCControlButton的用法
- DL之R-FCN:R-FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- cdlinux miniwdep 配置无线网卡
- 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
- web性能测试基础 知识(引用)
- java dumpstack_Java获取执行进程的dump文件及获取Java stack
- 两个有序链表序列的合并_leetcode链表之合并两个排序的链表
- python图片隐写_基于python的LSB隐写与分析
- HTML5对表单的约束验证
- Spring项目启动后报连接MYSQL错误两则
- VS C++改变窗体背景色
- thinkphp 3.2.2 图片上传gif类型生成缩略图错误
- 苹果iOS11重磅改版App Store,开发者应该了解这些
- A4纸是多少像素大小?
- 作战效能评估系统模型
- 天融信上网行为管理如何做短信验证?
- Invalid namespace