日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

趕緊試試 Python 3.12 吧,真的好用

來源: 責編: 時間:2024-06-19 15:36:45 120觀看
導讀Python 3.12 引入了一些新的特性和改進,提升了開發體驗和代碼性能。以下是其中一些值得注意的新函數和改進:1. str.removeprefix() and str.removesuffix()雖然這些函數在 Python 3.9 就已引入,但它們在 Python 3.12 中

Python 3.12 引入了一些新的特性和改進,提升了開發體驗和代碼性能。以下是其中一些值得注意的新函數和改進:Jzh28資訊網——每日最新資訊28at.com

Jzh28資訊網——每日最新資訊28at.com

1. str.removeprefix() and str.removesuffix()

雖然這些函數在 Python 3.9 就已引入,但它們在 Python 3.12 中變得更加廣泛使用。Jzh28資訊網——每日最新資訊28at.com

  • **str.removeprefix(prefix)**:如果字符串以指定的前綴開頭,則返回去掉該前綴的字符串。
  • **str.removesuffix(suffix)**:如果字符串以指定的后綴結尾,則返回去掉該后綴的字符串。
s = "HelloWorld"print(s.removeprefix("Hello"))  # 輸出: Worldprint(s.removesuffix("World"))  # 輸出: Hello

2. math.nextafter(x, y)

返回從 x 開始,到 y 方向的下一個浮點數。這個函數對需要精確控制浮點數計算的場景非常有用。Jzh28資訊網——每日最新資訊28at.com

import mathprint(math.nextafter(1.0, 2.0))  # 輸出: 1.0000000000000002print(math.nextafter(1.0, 0.0))  # 輸出: 0.9999999999999999

3. sys.orig_argv

這個屬性允許你訪問原始的命令行參數列表,包括解釋器自身的參數,而不僅僅是腳本和傳遞給腳本的參數。Jzh28資訊網——每日最新資訊28at.com

import sysprint(sys.orig_argv)

4. functools.cache_clear()

在 Python 3.12 中,functools.cache_clear() 方法被添加到 functools.lru_cache 修飾器中,用于清除緩存。Jzh28資訊網——每日最新資訊28at.com

from functools import lru_cache@lru_cache(maxsize=32)def fibonacci(n):    if n < 2:        return n    return fibonacci(n-1) + fibonacci(n-2)# 清除緩存fibonacci.cache_clear()

5. 新的 typing 模塊改進

Python 3.12 對 typing 模塊進行了多項改進,包括更好的類型推斷和新的類型提示功能。例如,可以使用 Self 類型提示方法的返回類型為類實例本身。Jzh28資訊網——每日最新資訊28at.com

from typing import Selfclass MyClass:    def my_method(self) -> Self:        return self

6. contextlib.aclosing

類似于 contextlib.closing 但用于異步生成器對象。Jzh28資訊網——每日最新資訊28at.com

import contextlibclass AsyncGenerator:    async def __aenter__(self):        print("Entering")        return self    async def __aexit__(self, exc_type, exc, tb):        print("Exiting")    async def __aiter__(self):        for i in range(5):            yield iasync def main():    async with contextlib.aclosing(AsyncGenerator()) as agen:        async for item in agen:            print(item)# 運行異步主函數import asyncioasyncio.run(main())

7. itertools.pairwise()

產生一對連續元素的迭代器。Jzh28資訊網——每日最新資訊28at.com

import itertoolsfor pair in itertools.pairwise([1, 2, 3, 4]):    print(pair)# 輸出: (1, 2), (2, 3), (3, 4)

8. zoneinfo 模塊改進

對時區信息進行了增強,更好地支持時間相關操作。Jzh28資訊網——每日最新資訊28at.com

from zoneinfo import ZoneInfofrom datetime import datetimedt = datetime(2024, 6, 14, tzinfo=ZoneInfo("America/New_York"))print(dt)

這些新特性和改進使得 Python 3.12 更加強大和易用,為開發者提供了更多工具來編寫高效、可維護的代碼。建議大家盡早升級并嘗試這些新特性。Jzh28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-94851-0.html趕緊試試 Python 3.12 吧,真的好用

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 消滅代碼中的 if :請求參數校驗的優雅之道

下一篇: 十分鐘了解 Golang 泛型

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 平山县| 万山特区| 汪清县| 东至县| 即墨市| 青海省| 夏河县| 定南县| 宁远县| 新邵县| 无极县| 安仁县| 绥阳县| 大庆市| 扎鲁特旗| 威信县| 肇源县| 盐城市| 壶关县| 竹北市| 郎溪县| 从化市| 乌审旗| 吴桥县| 读书| 安图县| 延庆县| 棋牌| 宁陵县| 定陶县| 新密市| 黄梅县| 寿阳县| 九龙坡区| 十堰市| 隆昌县| 天长市| 新竹市| 贵港市| 安徽省| 虞城县|