使python技能飙升的5个实用F-String技巧

news2024/9/20 12:29:22

前言

python中存在着一些奇奇怪怪的语法,了解这些语法可以使我们在编写程序时事半功倍,不了解的则会使我们产生疑惑。今天,我们来了解一下python中关于f-string的5个实用的小技巧。

技巧一:数字分隔

num = 1000000000
print('-'*20)

print(f'{num:_}')
print(f'{num:,}')

print('-'*20)

对于较大的数字,阅读起来十分不方便,我们可用使用f'{num:_}'进行分隔,便于阅读(PS:在f-string中只支持使用,_进行分隔)。上述代码运行效果如下所示:
在这里插入图片描述

技巧二:文本对齐

var = 'text'
print('-'*20)

print(f'{var:>20}:')  # 右对齐
print(f'{var:<20}:')  # 左对齐
print(f'{var:^20}:')  # 居中对齐

print('-'*20)

在输出内容时,不免会遇到排版问题,f-string同样提供了很好用的对齐功能。上述代码运行结果如下:
在这里插入图片描述

有趣的是,f-string还支持使用自定义的填充符号

var = 'text'
print('-'*20)

print(f'{var:_>20}:')  # 右对齐
print(f'{var:*<20}:')  # 左对齐
print(f'{var:#^20}:')  # 居中对齐

print('-'*20)

运行结果如下:
在这里插入图片描述

技巧三:控制小数精度

num = 1234.56789
print('-'*20)

print(num)
print(f'{num:.2f}') # 保留两位小数
print(f'{num:_.3f}') # 保留三位小数且整数部分使用_分隔
print(f'{num:,.3f}') # 保留三位小数且整数部分使用,分隔

print('-'*20)

f-string中,对于小数可以控制其小数点后的位数,不仅如此,对于整数也支持每三位进行分隔。上述代码运行效果如下:
在这里插入图片描述

技巧四:简化输出

a = 10
b = 5
var = 'This is a string'
print('-'*20)

print(f'a + b = {a + b}')
print(f'{a + b = }')  # 简便写法
print(f'{var = }')

print('-'*20)

这是一个非常nice的输出方式。上述代码执行效果如下:
在这里插入图片描述

技巧五:格式化时间

from datetime import datetime

print('-'*20)

now = datetime.now()  # 获取当前时间
print(now)

print(f'{now:%d日%m月%y年}')
print(f'{now:%d日%m月%y年(%H:%S:%M)}')

print('-'*20)

f-string支持自定义时间格式。上述代码执行效果如下:
在这里插入图片描述

无情的广告时间

哈哈哈哈,又到了大家喜欢的广告时间了,喜欢的话给个关注呗,公众号:编码魔坊,点击下方小卡片,扫码即可关注,谢谢您的关注!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1794842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传统的老程序员转向人工智能需要准备好这三件事情,你知道吗?

前言 人类文明的进步有时候快的吓人&#xff0c;在我们父辈上街买菜还是以一毛为计量买菜的时代&#xff0c;其实过去了也没有多长时间。现在买菜接近10块为准了&#xff0c;正常在集市上喊着怎么卖&#xff1f;摊主喊着三斤&#xff0c;包含的意思是10块钱三斤。相隔这么多年…

翘首以盼的抗锯齿

Antialiasing 实际的图形学中是怎么实现反走样的呢&#xff1f; 我们不希望实际产出的图形有锯齿效果&#xff0c;那怎么办呢&#xff1f; 从采样的理论开始谈起吧 Simpling theory 照片也是一种采样&#xff0c;把景象打散成像素放到屏幕上的过程&#xff1a; 还可以在不…

统信UOS SSH服务升级(ubuntu20)内网

服务器配置 系统信息 SSH版本 目标版本 openssh-server_8.2p1-4_arm64.deb 因为不通互联网&#xff0c;所以所有deb包需要手动下载&#xff08;可以连接互联网的可以自动忽略手动下载deb步骤&#xff0c;直接apt-get install xxx 即可&#xff09; 升级步骤 !!!deb下载方式…

开源低代码平台技术为数字化转型赋能!

实现数字化转型升级是很多企业未来的发展趋势&#xff0c;也是企业获得更多发展商机的途径。如何进行数字化转型&#xff1f;如何实现流程化办公&#xff1f;这些都是摆在客户面前的实际问题&#xff0c;借助于开源低代码平台技术的优势特点&#xff0c;可以轻松助力企业降低开…

SpringFramework总结

一.SpringFramework介绍 (一)Spring 广义上的 Spring 泛指以 Spring Framework 为基础的 Spring 技术栈。 Spring 已经不再是一个单纯的应用框架&#xff0c;而是逐渐发展成为一个由多个不同子项目&#xff08;模块&#xff09;组成的成熟技术&#xff0c;例如 Spring Frame…

LeetCode790多米诺和托米诺平铺

题目描述 有两种形状的瓷砖&#xff1a;一种是 2 x 1 的多米诺形&#xff0c;另一种是形如 “L” 的托米诺形。两种形状都可以旋转。给定整数 n &#xff0c;返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺…

iPhone的5G设置怎么更改吗?设置好这些能够优化电池的使用寿命

随着5G技术的普及&#xff0c;iPhone用户现在可以享受到更快的网络速度&#xff0c;但这同时也带来了一个问题&#xff1a;如何在使用5G和保持电池寿命之间找到平衡&#xff1f;苹果公司通过引入“5G Auto”设置&#xff0c;为用户提供了一个智能的解决方案&#xff0c;但用户也…

动态库加载【Linux】

从此往后&#xff0c;建立映射&#xff0c;我们执行的任何代码&#xff0c;都是在我们的进程地址空间中进行执行 例如&#xff1a;将动态库映射到共享区&#xff0c;进程在CPU调度时&#xff0c;是在进程的进程地址空间处运行 程序在编译好之后&#xff0c;在加载到内存之前&a…

设计循环队列---力扣622

1、题目 1.1基础设置与讲解 循环队列&#xff0c;即固定长度的队列&#xff0c;可以想象成一个环形队列 就类似于这种队列&#xff0c;队尾指针后会有一个空位&#xff0c;用于控制判断队列为空还是为满&#xff1b; typedef int MyDataType;typedef struct {MyDataType fron…

美团发布2024年一季度财报:营收733亿元,同比增长25%

6月6日&#xff0c;美团(股票代码:3690.HK)发布2024年第一季度业绩报告。受益于经济持续回暖和消费复苏&#xff0c;公司各项业务继续取得稳健增长&#xff0c;营收733亿元(人民币&#xff0c;下同)&#xff0c;同比增长25%。 财报显示&#xff0c;一季度&#xff0c;美团继续…

vue-cl-service不同环境运行/build配置

概述 在项目开发过程中&#xff0c;同一个项目在开发、测试、灰度、生产可能需要不同的配置信息&#xff0c;所以如果能根据环境的不同来设置参数很重要。 vue项目的vue-cl-service插件也支持不同环境的不同参数配置和打包。 实现 新建不同环境配置文件 vue项目中的配置文件以…

Spring 的自动装配方式你都答的出来吗?

引言&#xff1a;Sprin g框架作为 Java 企业级应用开发的主流选择&#xff0c;其自动装配功能大大简化了开发人员的工作。自动装配能够帮助开发者减少手动配置的繁琐过程&#xff0c;提高了代码的可维护性和灵活性。在本文中&#xff0c;我们将深入探讨 Spring 的自动装配方式&…

六、Docker Swarm、Docker Stack和Portainer的使用

六、Docker swarm和Docker stack的使用 系列文章目录1.Docker swarm1.简介2.docker swarm常用命令3.docker node常用命令4.docker service常用命令5.实战案例6.参考文章 2.Docker stack1.简介3.Docker stack常用命令4.实战案例5.常见问题及调错方式1.查看报错信息并尝试解决&am…

Shell脚本文本处理三剑客(grep、awk、sed)和正则表达式

一、正则表达式 1.正则表达式基础 正则表达式&#xff08;regular expression&#xff09;描述了一种字符串匹配的模式&#xff08;pattern&#xff09;&#xff0c;可以用来检查一个串是否含有某种子串&#xff0c;将匹配的子串替换或者从某个串中取出符号某个条件的子串等&…

【Mybatis】INSERT INTO 遇到NULL怎么处理?

目录标题 背景-使用Mybatis手写批量插入Insert方法测试核心代码&#xff0c;author字段为null&#xff0c;插入条件怎么写&#xff1f; MybatisPlus解决方案自动填充字段 Mybatis解决方案if标签处理 问题&#xff1a;如果不在工程里面设置默认值&#xff1f;如何直接使用数据库…

c语言速成系列指针上篇

那么这一篇文章带大家学习一下c语言的指针的概念、使用、以及一些注意事项。 指针的概念 指针也就是内存地址&#xff0c;指针变量是用来存放内存地址的变量。就像其他变量或常量一样&#xff0c;您必须在使用指针存储其他变量地址之前&#xff0c;对其进行声明。 大白话讲解…

【Python报错】已解决ValueError: cannot reindex from a duplicate axis

成功解决“ValueError: cannot reindex from a duplicate axis”错误的全面指南 在数据处理和分析的过程中&#xff0c;尤其是在使用Pandas这样的强大工具时&#xff0c;我们有时会遇到一些错误信息。其中&#xff0c;“ValueError: cannot reindex from a duplicate axis”错误…

RabbitMQ启动报错:Error during startup: {error, {schema_integrity_check_failed,

报错信息如下&#xff1a; Error during startup: {error,{schema_integrity_check_failed,[{table_attributes_mismatch,rabbit_user,[username,password_hash,tags,hashing_algorithm,limits],[username,password_hash,tags,hashing_algorithm]},{table_attributes_mismatch…

【LeetCode】二叉树oj专题

如有不懂的地方&#xff0c;可查阅往期相关文章&#xff01; 个人主页&#xff1a;小八哥向前冲~ 所属专栏&#xff1a;数据结构【c语言】 目录 单值二叉树 对称二叉树 计算二叉树的深度 二叉树的前序遍历 相同二叉树 另一棵树的子树 二叉树的构建和遍历 翻转二叉树 判…

使用python优雅的将PDF转为Word

使用python优雅的将PDF转为Word 先装这个优雅的库 pip install pdf2docx然后运行下面优雅的代码&#xff0c;将pdf路径和docx路径修改 from pdf2docx import Converter # path pdf_file C:\\Users\\phl\\Desktop\\软件工程期末\\软件工程模拟试题5.pdf docx_file C:\\User…