Python 有哪些新手不會了解的深入細節?

時間 2021-05-08 06:45:49

1樓:石溪

初學者學python,剛開始會因為語法簡單而格外興奮。其實要知道,還是有很多需要深入理解的細節需要仔細琢磨。

列舉幾個:字元編碼、列表解析式、迭代器、生成器、裝飾器、元類、函式閉包、可變引數與解包等等。

目前寫了乙個專欄,都一一仔細做了分析介紹:

給妹子講python

醬油哥:給妹子講python--04迭代和列表解析式醬油哥:給妹子講python--08理清python的字元編碼醬油哥:

給妹子講python--14可迭代物件和迭代器醬油哥:給妹子講python--16生成器的使用醬油哥:給妹子講python--19內嵌作用域與函式閉包醬油哥:

給妹子講python--21函式引數的匹配與解包醬油哥:給妹子講python--22神奇的裝飾器

2樓:楊洋

列幾個關鍵字吧:

decorator

yield(generator)

descriptor

method & function

slot

MRO自省(id、type、dir、vars等等)然後就是各種常用的模組吧,itertools、functools、collections、copy等吧

最後有興趣的話可以讀一下陳儒寫的《Python原始碼剖析》,可以了解到小整數快取,int、list、dict快取池,字串intern機制,記憶體管理等內部實現。

3樓:Jimmy Cheung

我覺得最有趣的莫過於Method Resolution Order(MRO)。

MRO是指class inheritance中method或者attribute的search order。最簡單的情況是classic class的 inheritance tree。這時候,search order是depth first, from left to right。

舉個例子:

class A():

pass

class B(A):

pass

class C(A):

pass

class D(B, C):

pass

在上面的inheritance tree中,class D的MRO應該是 D,B,A,C。值得注意的是,A的位置在C的前面。

對於new style class, python 2.2和2.3(或以上)也有區別,2.

3以後的MRO algorithm叫C3 algorithm。具體的細節大家可以google一下,個人覺得非常有趣。

4樓:劉志軍

PS:Hidden features of Python 有乙個參考譯文:Python 實用技巧(上)

5樓:「已登出」

Talks | Armin Ronacher's Thoughts and Writings 這裡的pdf中有, 我截一段你看下

或者這個網頁A Curious Course on Coroutines and Concurrency應該是將Python的yield用得超好了舉例:

6樓:豬了個去

前人問過了:

Hidden features of Python

摘抄目錄:

Argument Unpacking

Braces

Chaining Comparison Operators

Decorators

Default Argument Gotchas / Dangers of Mutable Default arguments

Descriptors

Dictionary default .get value

Docstring Tests

Ellipsis Slicing Syntax

Enumeration

For/else

Function as iter() argument

Generator expressions

import this

List stepping

__missing__ items

Multi-line Regex

Named string formatting

Nested list/generator comprehensions

New types at runtime

.pth files

ROT13 Encoding

Regex Debugging

Sending to Generators

Tab Completion in Interactive Interpreter

Ternary Expression

try/except/else

Unpacking+print() function

with statement

另外還有乙個是黑魔法元類:

譯文:http://

原文:http://

新手Python上路有多難?

ccc 新手在最開始學習的過程中遇到這些問題都是很常見的乙個現象。一開始從來都沒有接觸過的人去學習程式語言,雖然說Python語言比較簡單,但是在學習的過程中來看,它還是屬於乙個比較難的專業,而且對新手來講,它和其他的專業不一樣的是他最開始的專業性就很強。要求非常的高,所以很多的人可能在一開始入門的...

新手很聽話,但什麼都不會,老手什麼都會了但是很油條,所有的職場人都是這樣的嗎?

夜骸 員工日漸變得懶散,缺乏工作熱情,通常是因為 1 薪酬待遇對不起其付出的勞動,有被剝削感 2 職業生涯發展遭遇瓶頸,沒有上公升空間,看不到希望 3 工作缺乏意義感 價值感和成就感,越幹越覺得沒勁 4 公司管理者和同事的所作所為令人寒心,致使其對公司沒有歸屬感。如果貴單位只在乎員工聽不聽話,我相信...

有哪些 Python 經典書籍?

神器分享 我之前分享過從入門到高階的Python經典書籍。神器分享 2021 年 Python 從入門到高階需要看哪些書?推薦的書來自這個GitHub Junnplus awesome python books 簡明python教程 基於Python3編寫的,豆瓣評分8.0。Python程式設計初學...