范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Pythonfstrings比你想象的更强大

  格式化字符串文字——也称为 f 字符串 ——自 Python 3.6 以来就已经存在,所以我们都知道它们是什么以及如何使用它们。然而,你可能不知道 f-strings的一些比较实用跟方便的功能。因此让这篇文章一下带你了解一下f-strings的一些功能,希望你在日常编码中使用的这些很棒的 f-strings功能。 日期和时间格式
  使用 f 字符串应用数字格式非常常见,但你知道你还可以格式化日期和时间戳字符串吗? import datetime today = datetime.datetime.today() print(f"{today:%Y-%m-%d}") # 2023-02-03 print(f"{today:%Y}") # 2023
  f-strings 可以像使用 datetime.strftime  方法一样格式化日期和时间。当你意识到除了文档中提到的几种格式之外还有更多格式时,这非常好。Python  strftime  还支持底层 C 实现支持的所有格式,这可能因平台而异,这就是文档中未提及的原因。话虽如此,你仍然可以利用这些格式并使用例如 %F  ,它等效于 %Y-%m-%d  或 %T  等效于 %H:%M:%S  ,还值得一提的是 %x  和 %X  分别是语言环境首选的日期和时间格式。这些格式的使用显然不限于 f 字符串。有关时间格式的完整列表请参阅: https://manpages.debian.org/bullseye/manpages-dev/strftime.3.en.html变量名和调试
  f-string 功能(从 Python 3.8 开始)最近新增的功能之一是能够打印变量名称和值: x = 10 y = 25 print(f"x = {x}, y = {y}") # x = 10, y = 25 print(f"{x = }, {y = }")  # Better! (3.8+) # x = 10, y = 25  print(f"{x = :.3f}") # x = 10.000
  此功能称为 "调试" ,可以与其他 修饰符结合使用。它还保留空格,因此 f"{x = }"  和 f"{x=}"  将产生不同的字符串。 字符串表示
  打印类实例时, __str__  默认使用类的方法来表示字符串。但是,如果我们想强制使用 __repr__  ,我们可以使用 !r  转换标志: class User:     def __init__(self, first_name, last_name):         self.first_name = first_name         self.last_name = last_name      def __str__(self):         return f"{self.first_name} {self.last_name}"      def __repr__(self):         return f"User"s name is: {self.first_name} {self.last_name}"  user = User("John", "Doe") print(f"{user}") # John Doe print(f"{user!r}") # User"s name is: John Doe
  我们也可以只 repr(some_var)  在 f 字符串内部调用,但使用转换标志是一个很好的习惯和简洁的解决方案。 f-strings杰出的性能表现
  强大的功能和语法糖通常会带来性能损失,但对于 f 字符串而言情况并非如此: # python -m timeit -s "x, y = "Hello", "World"" "f"{x} {y}"" from string import Template  x, y = "Hello", "World"  print(f"{x} {y}")  # 39.6 nsec per loop - Fast! print(x + " " + y)  # 43.5 nsec per loop print(" ".join((x, y)))  # 58.1 nsec per loop print("%s %s" % (x, y))  # 103 nsec per loop print("{} {}".format(x, y))  # 141 nsec per loop print(Template("$x $y").substitute(x=x, y=y))  # 1.24 usec per loop - Slow!
  上面的示例使用 timeit  如下模块进行了测试: python -m timeit -s "x, y = "Hello", "World"" "f"{x} {y}""  正如你所看到的,f 字符串实际上是 Python 提供的所有格式化选项中最快的。因此,即使你更喜欢使用一些较旧的格式化选项,你也可以考虑切换到 f-strings 只是为了提高性能。 格式化规范的全部功能
  F-strings 支持 Python 的 Format Specification Mini-Language,所以你可以在它们的修饰符中嵌入很多格式化操作: text = "hello world"  # Center text: print(f"{text:^15}") # "  hello world  "  number = 1234567890 # Set separator print(f"{number:,}") # 1,234,567,890  number = 123 # Add leading zeros print(f"{number:08}") # 00000123
  Python 的 Format Specification Mini-Language不仅仅包括格式化数字和日期的选项。它允许我们对齐或居中文本、添加前导零/空格、设置千位分隔符等等。所有这些显然不仅适用于 f 字符串,而且适用于所有其他格式设置选项。 嵌套 f-strings
  如果基本的 f-strings 不足以满足你的格式化需求,你甚至可以将它们相互嵌套: number = 254.3463 print(f"{f"${number:.3f}":>10s}") # "  $254.346"
  你可以将 f-strings 嵌入 f-strings 中以解决棘手的格式化问题,例如将美元符号添加到右对齐的浮点数,如上所示。
  如果你需要在格式说明符部分使用变量,也可以使用嵌套的 f 字符串。这也可以使 f 字符串更具可读性: import decimal width = 8 precision = 3 value = decimal.Decimal("42.12345") print(f"output: {value:{width}.{precision}}") # "output:     42.1"条件格式
  在上面带有嵌套 f 字符串的示例之上,我们可以更进一步,在内部 f 字符串中使用三元条件运算符: import decimal value = decimal.Decimal("42.12345") print(f"Result: {value:{"4.3" if value < 100 else "8.3"}}") # Result: 42.1 value = decimal.Decimal("142.12345") print(f"Result: {value:{"4.2" if value < 100 else "8.3"}}") # Result:      142lambda表达式
  如果你想突破 f-strings 的限制,同时让阅读你代码的人觉得你很牛逼,那么你可以使用 lambdas print(f"{(lambda x: x**2)(3)}") # 9
  在这种情况下,lambda 表达式周围的括号是强制性的,因为 :  否则将由 f 字符串解释。 结束语
  正如我们在这里看到的,f-strings确实非常强大,并且具有比大多数人想象的更多的功能。然而,大多数这些"未知"特性在 Python 文档中都有提及,因此我建议你不仅阅读 f-strings,还阅读你可能使用的任何其他 Python 模块/特性的文档页面。 深入研究文档通常会帮助你发现一些非常有用的功能。

山河月明是今年难得可以看的剧个人觉得这剧值7080分。比那些垃圾古偶剧好看得多。服装造型都很写实,连桌子椅子都是明代样式,老戏骨们的表演很精彩,历史还原也不错,故事发展一点也不拖沓。对朱标和李景隆人物的设定也与那英由好友变仇人,退隐多年的田震,56岁动态活跃引回忆杀大风吹到梧桐树,自有旁人论长短。同样的事情,不同的人,从不同的角度出发,必然会有不同的观点。凡事总有人来评判,不必过于在乎他人的意见。如果你总是在乎别人的意见,也许也不是一件好事。入伏吃饺子,出伏更讲究?明日出伏,老传统吃3样,为秋冬打基础不知不觉,长达40天的三伏天就要结束了。8月25就要出伏了,意味着凉爽的秋天马上要来到了。自古以来,季节交替都是补充营养的最佳时期,在最合适的季节用最合适的食物来补充身体最需要的营入伏吃饺子,出伏吃什么?8。25号出伏,尊重老传统,别忘了吃3样不知不觉,40天的三伏天快要结束了,8月25号出伏,也就意味着,高温的三伏天要跟我们告别,下面就是真正的凉爽天气。自古以来,季节交替都是养生的最佳时机,也是给身体补营养的最佳时期,强烈推荐这几本小说,绝对值得一看各位书友们,大家好,我是熬夜追书的小姐姐呀今天来给大家推荐三本男频top榜完结小说,如果你也喜欢这类型的小说,还请多多点赞留言呀第一本御兽风云作者独上冰峰简介三十世纪,地球上国家一微小说十几岁那年,我与刘姨初相识在我十几岁的时候,由于家里条件不好,我早早地就辍学了。那段时间里,我一直吵着让我爸给我买手机,便宜的或是二手的都行,因为我迷上了电子书。可是我爸就是不给我买,而且还打了我,他说有本普京国师之女被炸身亡,乌方甩锅俄派系之争,遭俄方火速打脸据环球网22日报道,莫斯科街头近日发生了一起汽车爆炸事故,现场火光冲天,造成司机当场死亡。而死者正是俄罗斯有名的政治家亚历山大杜金的女儿。杜金虽然不在俄罗斯政府任职,但是因其独看法哀痛!青岛市湛山寺方丈心见法师于湛山寺安详示寂讣告中国佛教协会理事山东省政协委员山东省佛教协会副会长山东湛山佛学院常务副院长青岛市政协常委青岛市佛教协会会长青岛市湛山寺方丈心见法师,于公元2022年8月19日(农历七月廿二日)退役军人事务部4年来,新接收安置185万名退役军人新闻发布会现场。中青报中青网记者王裴楠摄中国青年报客户端北京8月26日电(中青报中青网记者王裴楠)今天上午,中共中央宣传部举行中国这十年系列主题新闻发布会,介绍新时代退役军人工作高博物馆要管束熊孩子而不是拒绝孩子短评我想仔细观看一件文物细节,旁边钻过来好几个小孩,一个大人在旁边解说。大人一说话,几个小孩就跳着搭腔,脑子都要炸了。上周末,前往上海博物馆观看展览的市民何先生正好遇上带着孩子结伴奥运女孩林妙可偷了别人的人生,14年后为何惨淡收场?2008年8月12日,距离北京奥运会开幕式播出仅仅过去4天时间,开幕式音乐总监陈其钢在接受媒体采访的时候,意外透露了一个内幕消息,他表示,那首感动了亿万观众的歌曲歌唱祖国并非是林妙
中国足球需要怎样才能提高,所谓的智慧团队有用吗?里皮来了有用吗?智慧团队,能为无米之炊?什么团队都没用,体制不改,不从根部解决什么都没用首先要净化环境,没有一个好的行业环境,就无法从根本上改变中国足球的现状。其次,要正视自己,戒松下lx100m2和黑卡6哪个画质好?我觉得是松下比较好,下面看介绍。松下LX100M2采用全新的43英寸高灵敏度MOS传感器,总计2177万像素,有效像素1700万,比上代1280万像素的LX100分辨率更高。这款全手机摄影到底需要不需要开HDR?有哪些经验分享?要想搞清楚手机拍照要不要开HDR功能,你就必须得先知道什么是HDR。HDR全称是HighDynamicRange,意思是高动态范围。它可以让拍照环境中特别亮特别暗的地方进行最佳取舍护肤品免税店版和专柜版有什么区别?什么是免税版?就是卖给国外游客的,要有机票才能买!除了我国海南免税店比较特殊,国内机票就能买。其他都是要入境才能买。免税版特点就是便宜!为啥呢?因为免税店是经海关总署批准的,设立符胡歌在时尚圈地位怎么样?胡歌在时尚圈的地位还真不是这次出席芭莎明星慈善夜的一众小鲜肉可以动摇的。虽说现在是流量时代,但是作品就是实力,有作品才有底气。就现在的小生来说,胡歌说自己观众缘是第二,不知道有有没开房车游海南是怎样的一种体验?一个字爽!开着房车去海南旅行,应该是人生最美好的体验之一了吧!海南,一个被上帝亲吻过的城市,这里的美景美食多到数不过来!如果是跟团游,或是开私家车自驾游,都不能真正的领略它的美,只唐山适合情侣旅游的地方有哪些?青山关在燕山深处有一个好去处,就像深闺的少女,有自然天成之美。去年金秋我曾到青山关一游,寻着沿途蝈蝈叫声,一路前行,到达青山关。这里有唐山海拔最高的山八面峰,真的是威风八面,海拔8南京苏州杭州,哪座城市更有江南风情?各有所爱,用古代赞美词上有天堂,下有苏杭。讲得很有哲理。但不要攀比。人生在世跟心情走,是不错的。不同的风格都得要了解。什么是江南风情?是诗情画意,还是古意盎然?是山清水秀,还是小桥张家口有哪些好玩的地方?还有涿鹿县的三祖龙宗圣地,还有阳原县的泥河湾村。还有阳原县的青天背山脉,好玩呀。累了还有三马坊温泉。好水呀!不错的!如果是在张家口玩的话,有以下几个推荐。首当其冲的要属草原天路了。如何评价小米Civi?值得买吗?文小伊评科技主要还是看价格如果小米Civi的价格在2000元左右,非常值得买,同价位独树一帜如果小米Civi的价格在2500元左右,同样值得买,但同价位竞品也不少如果小米Civi的三亚不是一线城市,为什么房价堪比一线?不考虑新房,从二手房市场均价来看,三亚确实达到了一线城市门槛!从今年6月份来看看,三亚二手房均价超过了广州。1北京59894元平米,1。82深圳52880元平米,1。73上海513