中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 3.5 和其他版本有什么區別

發布時間:2021-06-16 09:21:21 來源:億速云 閱讀:241 作者:chen 欄目:編程語言

這篇文章主要介紹“Python 3.5 和其他版本有什么區別”,在日常操作中,相信很多人在Python 3.5 和其他版本有什么區別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python 3.5 和其他版本有什么區別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Python 3.5 在 2015 年首次發布,盡管它已經發布了很長時間,但它引入的許多特性都沒有被充分利用,而且相當酷。下面是其中的三個。

@ 操作符

@ 操作符在 Python 中是獨一無二的,因為在標準庫中沒有任何對象可以實現它!它是為了在有矩陣的數學包中使用而添加的。

矩陣有兩個乘法的概念。元素積是用 * 運算符完成的。但是矩陣組合(也被認為是乘法)需要自己的符號。它是用 @ 完成的。

例如,將一個“八轉”矩陣(將軸旋轉 45 度)與自身合成,就會產生一個四轉矩陣。

import numpy hrt2 = 2**0.5 / 2 eighth_turn = numpy.array([     [hrt2, hrt2],     [-hrt2, hrt2] ]) eighth_turn @ eighth_turn
array([[ 4.26642159e-17,  1.00000000e+00],        [-1.00000000e+00, -4.26642159e-17]])

浮點數是不精確的,這比較難以看出。從結果中減去四轉矩陣,將其平方相加,然后取其平方根,這樣就比較容易檢查。

這是新運算符的一個優點:特別是在復雜的公式中,代碼看起來更像基礎數學:

almost_zero = ((eighth_turn @ eighth_turn) - numpy.array([[0, 1], [-1, 0]]))**2 round(numpy.sum(almost_zero) ** 0.5, 10)
0.0

參數中的多個關鍵詞字典

Python 3.5 使得調用具有多個關鍵字-參數字典的函數成為可能。這意味著多個默認值的源可以與更清晰的代碼”互操作“。

例如,這里有個可笑的關鍵字參數的函數:

def show_status(     *,     the_good=None,     the_bad=None,     the_ugly=None,     fistful=None,     dollars=None,     more=None ):     if the_good:         print("Good", the_good)     if the_bad:         print("Bad", the_bad)     if the_ugly:         print("Ugly", the_ugly)     if fistful:         print("Fist", fistful)     if dollars:         print("Dollars", dollars)     if more:         print("More", more)

當你在應用中調用這個函數時,有些參數是硬編碼的:

defaults = dict(     the_good="You dig",     the_bad="I have to have respect",     the_ugly="Shoot, don't talk", )

從配置文件中讀取更多參數:

import json others = json.loads(""" { "fistful": "Get three coffins ready", "dollars": "Remember me?", "more": "It's a small world" } """)

你可以從兩個源一起調用這個函數,而不必構建一個中間字典:

show_status(**defaults, **others)
Good You dig Bad I have to have respect Ugly Shoot, don't talk Fist Get three coffins ready Dollars Remember me? More It's a small world

os.scandir

os.scandir 函數是一種新的方法來遍歷目錄內容。它返回一個生成器,產生關于每個對象的豐富數據。例如,這里有一種打印目錄清單的方法,在目錄的末尾跟著  /:

for entry in os.scandir(".git"):     print(entry.name + ("/" if entry.is_dir() else ""))
refs/ HEAD logs/ index branches/ config objects/ description COMMIT_EDITMSG info/ hooks/

到此,關于“Python 3.5 和其他版本有什么區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新疆| 井冈山市| 巴南区| 日喀则市| 福贡县| 宁化县| 龙门县| 徐水县| 科技| 义乌市| 南郑县| 上虞市| 聂荣县| 台北市| 克东县| 郑州市| 衡阳县| 泸水县| 自治县| 舒兰市| 本溪市| 海伦市| 横峰县| 旺苍县| 韶山市| 芜湖市| 教育| 那曲县| 古蔺县| 北流市| 沭阳县| 顺平县| 青海省| 秭归县| 应用必备| 德阳市| 呼伦贝尔市| 故城县| 诸暨市| 沅陵县| 英吉沙县|