国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Do you want to be a Python expert ? 前言

孫淑建 / 1012人閱讀

摘要:很多時候有些人在介紹的時候會提到但是我不知道你需要多久才能做到中說的真的優雅嗎真的簡潔嗎這是當然不然怎么會添加到標準庫中去不過在此之前你需要更加的學習畢竟不是一上來就什么都會的明白的風格或者說需要自己不斷鍛煉讓自己寫出來的代碼更

Do you want to be a Python expert ?

https://github.com/ltoddy/Pyt...

很多時候,有些人在介紹 Python 的時候會提到 The Zen of Python :

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren"t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you"re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it"s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let"s do more of those!

但是我不知道你需要多久才能做到 The Zen of Python 中說的.

Python 真的優雅嗎, Python 真的簡潔嗎, 這是當然, 不然 The Zen of Python 怎么會添加到標準庫中去.

不過在此之前,你需要更加的學習(畢竟不是一上來就什么都會的), 明白 Python 的風格, 或者說需要自己不斷鍛煉, 讓自己寫出來的 Python 代碼更加的 pythonic.

在這里, 我不會講述類似:

a, b = b, a

l = [x * 2 for x in range(10)]

類似這種你本就應該在初學 Python 就應該熟練掌握的東西.

我更想講述的是:

data model class (dunder methods, protocol).

metaclass (Base/Derive class)

Decorators

Generators

Context Managers

因為以上的一些feature確實可以讓你的代碼更加pythonic, 而且也是非常重要的.


A problem

在很早很早之前,曾經看到一個群友問了一個問題:

有兩個list, 比如: one = [1, 2, 3], other = [2, 3, 4]

他想要得到這樣的結果,把這兩個相加得到: [3, 5, 7], 也就是對應下標的元素相加.

我當時想都沒想就回了一句: return [one[i] + other[i] for i in range(len())]

看上去不錯,是嗎?

當然不是. 如果這兩個list不相等怎么辦?

然后我又給了一個方案: return list(map(lambda x, y: x + y, one, other))

不過, 這樣又不好了, 如果一個list長,一個list短,這個樣子寫,長的那個list多出來的數據就會被丟掉了.

所以我又思考了一下, 重新給出了最后結果: return list(starmap(lambda x, y: x + y, zip_longest(one, ther, fillvalue=0)))

你能想到我所說的最后一種方案嗎?


What is Python ?

Python 到底是一種什么樣的語言, 說真的, 很難給 Python 下一個定義,因為它的范式實在太多:

面向對象

過程式

面向協議

原型

也支持函數式的feature

Python is an interpreted, interactive, object-oriented programming language. (來自Python docs)

如果你真正理解這些 feature 是什么, 那么非常顯然的是, 來告訴我: why and when you use it. (畢竟我更傾向于實用, 我不是學院派)


當然,在最后的時候,我也會告訴一些學習途徑, 比如看什么書可以最快的提高你的能力, 也比如你應該從哪些地方去獲取你需要掌握的知識.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42515.html

相關文章

  • Python-Socket-Programming(1)

    摘要: Abstract Sockets are used nearly everywhere, but are one of the most severely misunderstood technologies around. This is a 10,000 foot overview of sockets. It’s not really a tutorial - you’ll s...

    animabear 評論0 收藏0
  • Python相對導入導致SystemError的解決方案(譯)

    摘要:相對導入相對導入使用模塊的決定它是否在一個包內。當你是用類似進行相對導入的時候,點表明在包的層次中上升多少。所以,你不能在交互式會話中直接使用任何相對導入。 源題目與答案地址如下http://stackoverflow.com/questions/14132...。下面是我的翻譯(看作機翻也行),以及原文。 這個問題是如何解決在相對導入的時候,如果出現System Error的時候的解...

    ethernet 評論0 收藏0
  • 打造數據科學作品集:搭建一個數據科學博客

    摘要:讀完本文,你將學會如何使用靜態網站生成器,搭建一個屬于自己的博客,用來展示數據科學作品。靜態網站基本上,一個靜態網站就是一個全是文件的文件夾。建立靜態網站的一種方法是手寫,然后上傳所有的文件到服務器。 這是「打造數據科學作品集」系列文章的第二篇。如果你喜歡該系列,而且想知道下一篇文章什么時候發布,你可以訂閱我們。讀完本文,你將學會如何使用 Pelican 靜態網站生成器,搭建一個屬于...

    iamyoung001 評論0 收藏0
  • How did I install Youcompleteme

    I always want imporve my skills on VIM. Thus recently I spent two days on setting up a VIM IDE for C/C++ proprogramming. Below are some useful steps for YCM. Specifications Mac InfoOS X Yosemite Versi...

    TalkingData 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<