日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

对于新手来说,Python 中有哪些难以理解的概念?我似乎明白了

發布時間:2024/9/30 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对于新手来说,Python 中有哪些难以理解的概念?我似乎明白了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于初學者,我們都遇到過難以理解一些概念。哪門都有哪些呢?

總結來說有:編碼問題、裝飾器、閉包、對象引用、可變性,抽象基類、魔術方法、多重繼承、mixin、重載、可迭代對象、迭代器和生成器、上下文管理、基于生成器的協程、原生協程、asyncio 異步編程、描述符協議、元編程等

Python 裝飾器

Python 裝飾器是在面試過程高頻被問到的問題,裝飾器也是一個非常好用的特性,熟練掌握裝飾器會讓你的編程思路更加寬廣,程序也更加 pythonic。

編碼問題

我們都知道,計算機要想工作必須通電,也就是說‘電’驅使計算機干活,而‘電’的特性,就是高低電平(高低平即二進制數1,低電平即二進制數0),也就是說計算機只認識數字(010101).如果我們想保存數據,首先得將我們的數據進行一些處理,最終得轉換成010101才能讓計算機識別。

所以必須經過一個過程:

字符--------(翻譯過程)------->數字

這個過程實際就是一個字符如何對應一個特定數字的標準,這個標準稱之為字符編碼。

函數閉包

函數閉包的概念在初學時容易迷糊,尤其涉及到閉包的作用域和參數問題

python有一個很有意思的地方,就是def函數可以嵌套在另一個def函數之中。調用外層函數時,運行到的內層def語句僅僅是完成對內層函數的定義,而不會去調用內層函數,除非在嵌套函數之后又顯式的對其進行調用。

x = 99 def f1():x = 88def f2():print(x)f2() f1() 88

可以看出,f1中的嵌套變量x覆蓋了全局變量x=99,然后f2中的本地變量按照引用規則,就引用了x=88。

下面我們來說說嵌套作用域的一個特殊之處:

本地作用域在函數結束后就立即失效,而嵌套作用域在嵌套的函數返回后卻仍然有效。

def f1():x = 88def f2():print(x)return f2 action = f1() action() 88

這個例子非常重要,也很有意思,函數f1中定義了函數f2,f2引用了f1嵌套作用域內的變量x,并且f1將函數f2作為返回對象進行返回。最值得注意的是我們通過變量action獲取了返回的f2,雖然此時f1函數已經退出結束了,但是f2仍然記住了f1嵌套作用域內的變量名x。

上面這種語言現象稱之為閉包:一個能記住嵌套作用域變量值的函數,盡管作用域已經不存在。

總結

以上是生活随笔為你收集整理的对于新手来说,Python 中有哪些难以理解的概念?我似乎明白了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。