您好,登錄后才能下訂單哦!
這篇文章主要介紹“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 函數是一種新的方法來遍歷目錄內容。它返回一個生成器,產生關于每個對象的豐富數據。例如,這里有一種打印目錄清單的方法,在目錄的末尾跟著 /:
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 和其他版本有什么區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。