IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python3,f-string隐藏技巧,然而99%的撸码人却不知道..... -> 正文阅读

[Python知识库]Python3,f-string隐藏技巧,然而99%的撸码人却不知道.....

1、引言

f-string,想必很多python的码农都很熟悉…
小屌丝:鱼哥,如果我没记错,这是python3.6版本以后引入的
小鱼:对的,没错,你的头发虽然不多,但是你的记忆力却没减~ ~
小屌丝:你是夺笋!!! 专攻人家软肋…
小鱼:我这都是嘴下留情了…不然你那点事,我都给抖出来!!

在这里插入图片描述
小屌丝:… 为了不让我们友谊的小船倾斜,能不能share点硬货??
小鱼:多硬? 螺丝钉硬还是砖头硬??
小屌丝:鱼哥,我发现你是真狗啊…如果不是为了小妹,我就不回答你的问题了…
小鱼:难怪难怪… 好吧,为了能让你的小迷妹对你更加认可,我今天就分享一点99%的撸码人不知道的f-string隐藏技巧
小屌丝:唉我去~~ 鱼哥,我发现你对我是真爱!!!
小鱼:有多远走多远, 别扯没用的,我们开始今天的分享。
在这里插入图片描述

2、f-string

2.1 基础用法介绍

基础用法很简单,一句话:

  • 前缀f的字符串中向{}内直接填入要嵌入的值、变量或计算表达式。

举例

实例一

f'1 + 1 = {2}'

结果

'1 + 1 = 2'

实例二

a = 1 + 1
f'1 + 1 = {a}'

结果

'1 + 1 = 2'

实例三

f'1 + 1 = {1 + 1}'

结果

'1 + 1 = 2'

2.2 控制浮点数精度

我们可以按照以下方式灵活的控制浮点数的小数位数:
举例

# -*- coding:utf-8 -*-
# @Time   : 2021-08-01
# @Author : carl_DJ

import math
#获取π
pi = math.pi

#输出π
print(f'输出π:{pi}')

#截取π的小数点后2位并输出
print(f'输出π小数点后2位:{pi:.2f}')

#截取π的小数点后9位并输出
print(f'输出π小数点后9位:{pi:.9f}')
输出π:3.141592653589793
输出π小数点后2位:3.142
输出π小数点后9位:3.141592654

2.3 设置科学计算法格式

也是很简单,直接上例子,我们来瞅瞅:

# -*- coding:utf-8 -*-
# @Time   : 2021-08-01
# @Author : carl_DJ

import math
#获取π
pi = math.pi

#pix100后以科学计算法输出
print(f'输出πx100后科学计算法显示:{pi*100:.10e}')

结果

输出πx100后科学计算法显示:3.1415926536e+02

2.4 自记录表达式

从python3.8开始,f-string就引入了自记录表达式
好处:快速的输出计算表达式。
举例

# -*- coding:utf-8 -*-
# @Time   : 2021-08-01
# @Author : carl_DJ

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

结果

math.log(a) = 2.0794415416798357

2.5 多行 f-string

f-string不仅仅只能编写单行代码,多行的也一样可行。

举例

# -*- coding:utf-8 -*-
# @Time   : 2021-08-01
# @Author : carl_DJ

a = 1
b = 2
c = 3
#f-string 编写多行,需要使用()
result = (f'a = {a } \n'
          f'b = {b} \n'
          f'c = {c} \n'
          )

print(f'result输出结果是:\n{result}')

结果

result输出结果是:
a = 1 
b = 2 
c = 3 

2.6 在f-string格式化日期

针对日期类型的变量,同样可以在f-string中快速的进行格式化。

举例

# -*- coding:utf-8 -*-
# @Time   : 2021-08-02
# @Author : carl_DJ

import datetime

#设定当前日期时间
now = datetime.datetime.now()

#输出日期时间
print(f'当前输出日期时间是:{now:%Y-%m-%d %H:%M:%S}'))

结果:

当前输出日期时间是:2021-08-02 12:24:36

2.7 控制有效数字位数

在实际项目中,我们只想显示有效的数字位数,那怎么做呢,我们来看下:
实例一

  • 我们想显示从左往右第一个不为0的12位数字:
a = 123.4567890123456
print(f'从左往右剔除第一个为0的12个数字 :{a:.12g}')

结果

从左往右刨除第一个为0的10个数字 :123.456789012

实例二

  • 同样显示10个数字,当位数小于整数部分时,自动变成科学计数法
a = 12345678.90123456
print(f'从左往右刨除第一个为0的5个数字 :{a:.5g}')

结果

从左往右刨除第一个为0的5个数字 :1.2346e+07

2.8 修改为左对齐

f-string默认右对齐,但是有的大佬就不走寻常路(有可能喜欢喝勇闯天涯),必须要左对齐,那也是可以实现的。

使用来"<"修改显示模式为左对齐。

# -*- coding:utf-8 -*-
# @Time   : 2021-08-02
# @Author : carl_DJ

#写一个循环
for j in range(1,11):
	#修改显示模式为左对齐
    print(f'{j:<2}|{j**3:<4}|{j**6:<7}')
    #默认显示为右对齐
    print(f'{j:2}|{j**3:4}|{j**6:7}')

结果
①左对齐

1 |1   |1      
2 |8   |64     
3 |27  |729    
4 |64  |4096   
5 |125 |15625  
6 |216 |46656  
7 |343 |117649 
8 |512 |262144 
9 |729 |531441 
10|1000|1000000

②右对齐

 1|   1|     1
 2|   8|    32
 3|  27|   243
 4|  64|  1024
 5| 125|  3125
 6| 216|  7776
 7| 343| 16807
 8| 512| 32768
 9| 729| 59049
10|1000|100000

2.9 标准化显示宽度

上面的实例,满足了左对齐,右对齐,显示数字截取,那么
我们能不能对输出的结果中显示的宽度做调整呢?
当然也是可以的。
同样用上面的左对齐的例子,

# -*- coding:utf-8 -*-
# @Time   : 2021-08-02
# @Author : carl_DJ

#写一个循环
for j in range(1,11):
    #第一列都占两个字符
    print(f'{j:02}|{j**3:4}|{j**5:6}')
    #第二列都占用4个字符,第三列都占用6个字符
    print(f'{j:02}|{j**3:0004}|{j**5:00006}')

结果
第一列占用2个字符

01|   1|     1
02|   8|    32
03|  27|   243
04|  64|  1024
05| 125|  3125
06| 216|  7776
07| 343| 16807
08| 512| 32768
09| 729| 59049
10|1000|100000


第一列占用2个,第二列4个,第三列6个

01|0001|000001
02|0008|000032
03|0027|000243
04|0064|001024
05|0125|003125
06|0216|007776
07|0343|016807
08|0512|032768
09|0729|059049
10|1000|100000

3、总结

看到这里,今天的分享内容,似乎又到一段落了。
总的来说,这些隐藏的技巧,只是大家平时没有太多的关注,
其实只要稍稍的多花费一点点时间,可能小鱼也不能说99%的人不知道呢。

小屌丝:看到这里,我又可以跟我的小学妹嘚瑟一番了。
小鱼:哎~~ 你嘚瑟你的,我吃我的饭去了。
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:08:04  更:2021-08-03 11:08:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 21:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码