'26個你不知道的Python技巧,很難找到'

Python Stack Overflow 編程語言 emoji 程序員 優達學城Udacity 2019-08-23
"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

26個你不知道的Python技巧,很難找到

與真實站點一樣,該模塊支持多種語言、頁面消除歧義、隨機頁面檢索,甚至還有donate()方法。

xkcd(著名Python漫畫)

幽默是Python語言的一個重要特性——畢竟,它是以英國喜劇小品節目《Monty Python’s Flying Circus》(《蒙提·派森的飛行馬戲團》)命名的。Python的許多官方文檔都引用了該劇中的著名情節。

這種幽默感不僅在文檔中可以找到,不信,你可以試試運行下方的代碼:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

26個你不知道的Python技巧,很難找到

與真實站點一樣,該模塊支持多種語言、頁面消除歧義、隨機頁面檢索,甚至還有donate()方法。

xkcd(著名Python漫畫)

幽默是Python語言的一個重要特性——畢竟,它是以英國喜劇小品節目《Monty Python’s Flying Circus》(《蒙提·派森的飛行馬戲團》)命名的。Python的許多官方文檔都引用了該劇中的著名情節。

這種幽默感不僅在文檔中可以找到,不信,你可以試試運行下方的代碼:

26個你不知道的Python技巧,很難找到

你將打開蘭道爾·門羅的著名幽默漫畫《xkcd》:)

YAML

YAML是“YAML不是一種標記語言”的外語縮寫。它是一個數據格式語言,是JSON的父集。和JSON不同的是,它可以存儲更復雜的對象,並且可以引用自身的元素。你還可以寫註釋,這讓YAML特別適合於書寫配置文件。

PyYAML模塊可以讓你使用Python調用YAML。使用下列語句安裝:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

26個你不知道的Python技巧,很難找到

與真實站點一樣,該模塊支持多種語言、頁面消除歧義、隨機頁面檢索,甚至還有donate()方法。

xkcd(著名Python漫畫)

幽默是Python語言的一個重要特性——畢竟,它是以英國喜劇小品節目《Monty Python’s Flying Circus》(《蒙提·派森的飛行馬戲團》)命名的。Python的許多官方文檔都引用了該劇中的著名情節。

這種幽默感不僅在文檔中可以找到,不信,你可以試試運行下方的代碼:

26個你不知道的Python技巧,很難找到

你將打開蘭道爾·門羅的著名幽默漫畫《xkcd》:)

YAML

YAML是“YAML不是一種標記語言”的外語縮寫。它是一個數據格式語言,是JSON的父集。和JSON不同的是,它可以存儲更復雜的對象,並且可以引用自身的元素。你還可以寫註釋,這讓YAML特別適合於書寫配置文件。

PyYAML模塊可以讓你使用Python調用YAML。使用下列語句安裝:

26個你不知道的Python技巧,很難找到

然後導入到項目中:

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

26個你不知道的Python技巧,很難找到

與真實站點一樣,該模塊支持多種語言、頁面消除歧義、隨機頁面檢索,甚至還有donate()方法。

xkcd(著名Python漫畫)

幽默是Python語言的一個重要特性——畢竟,它是以英國喜劇小品節目《Monty Python’s Flying Circus》(《蒙提·派森的飛行馬戲團》)命名的。Python的許多官方文檔都引用了該劇中的著名情節。

這種幽默感不僅在文檔中可以找到,不信,你可以試試運行下方的代碼:

26個你不知道的Python技巧,很難找到

你將打開蘭道爾·門羅的著名幽默漫畫《xkcd》:)

YAML

YAML是“YAML不是一種標記語言”的外語縮寫。它是一個數據格式語言,是JSON的父集。和JSON不同的是,它可以存儲更復雜的對象,並且可以引用自身的元素。你還可以寫註釋,這讓YAML特別適合於書寫配置文件。

PyYAML模塊可以讓你使用Python調用YAML。使用下列語句安裝:

26個你不知道的Python技巧,很難找到

然後導入到項目中:

26個你不知道的Python技巧,很難找到

PyYAML 使你能夠儲存任何數據類型的Python對象,以及任何用戶定義類的實例。

zip

最後一個技巧也非常酷。你是否曾想要讓兩個列表中的元素逐個映射,組合成字典?那麼你應該使用zip。

"

Python是目前世界上最流行的編程語言之一。因為:

1.它容易學習

2.它用途超廣

3.它有非常多的開源支持(大量的模塊和庫)

不好意思,優達菌又囉嗦了。

本文作者 Peter Gleeson 是一名數據科學家,日常工作幾乎離不開python。一路走來,他積累了不少有用的技巧和tips,現在優達菌就將這些技巧分享給大家。這些技巧將根據其首字母按A-Z的順序進行展示。

all or any

Python之所以成為這麼一門受歡迎的語言一個原因是它的可讀性和表達能力非常強。Python也因此經常被調侃為“可執行的偽代碼”。不信你看:

26個你不知道的Python技巧,很難找到

bashplotlib

你想要在控制檯繪圖嘛?

26個你不知道的Python技巧,很難找到

現在,你的控制檯中就可以有圖了

collections

Python有一些很棒的默認數據類型,但是有時候他們並不會像你所希望的那樣發揮作用。

幸運的是,Python 標準庫提供了collection模塊。它讓你可以使用更為多樣數據類型。

26個你不知道的Python技巧,很難找到

dir

面對一個Python對象,你是否曾想過可以直接看到其屬性?你也許可以試試以下的代碼:

26個你不知道的Python技巧,很難找到

這是運行Python的時候一個非常有用的功能,用於動態探索你所使用的對象和模塊。更多詳情,可以查看這裡:https://docs.python.org/3/library/functions.html#dir

emoji

對的,你沒看錯!

26個你不知道的Python技巧,很難找到

用python來創建表情包,你也可以。

26個你不知道的Python技巧,很難找到

from __future__ import

Python非常受歡迎,這也就導致了它的版本更新非常快,新的版本往往會有很多新特性。你不更新,就無法使用。

然而,不要害怕。__future__ 模塊可以讓你導入未來版本的功能。有點像時空穿梭有木有!

26個你不知道的Python技巧,很難找到

geopy

對於程序猿來說地理可能是一個非常有挑戰性的領域。但是,geopy模塊則讓它變得非常簡單。

26個你不知道的Python技巧,很難找到

它通過提取一系列不同地理編碼服務的api來工作,讓你能夠獲得一個地方的完整街道地址、緯度、經度,甚至海拔。

這裡面同時還包含一個有用的“距離”類別。它能使用你選定的度量去計算了兩個地點之間的距離。

26個你不知道的Python技巧,很難找到

howdoi

有時候你碰到了一個編程問題,覺得自己之前明明見過它的解決方法,但是卻記不起來具體是怎麼樣的了。於是你想要去StackOverflow上找,但又不想離開這個終端。這個時候,你需要下面這個工具——howdoi

26個你不知道的Python技巧,很難找到

你所遇到的任何問題都可以問它,它會盡他所能給你返回一個答案。

26個你不知道的Python技巧,很難找到

需要注意的是——它只從StackOverflow最頂端的答案中抓取代碼。所以它給你返回的不總是最有用的信息...

26個你不知道的Python技巧,很難找到

inspect

Python的inspect模塊用於收集Python對象的信息,可以獲取類或函數的參數的信息,源碼,解析堆棧等等

下方的代碼樣例使用了 inspect.getsource() 來打印它自身的源碼。同樣還使用了 inspect.getmodule()來打印定義了inspect.getmodule()的模塊。最後一行代碼則是打印了本行代碼所在的行號。在本例中,就是 4 。

26個你不知道的Python技巧,很難找到

inspect模塊可以有效地讓你知道你的代碼是如何工作的,你也可以利用它來完成一些個人的源碼。

Jedi

Jedi庫是一個代碼自動補齊和靜態分析的庫。它可以使你更快更高效地書寫代碼。

除非你在開發自己的編輯器,否則你可能會非常喜歡將Jedi作為自己的編輯插件。

你可能已經正在使用Jedi而只是沒發現。IPython項目就是利用Jedi來實現其自動補全功能。

**kwargs

無論你學習那種語言,在這條學習之路上總有那麼一些里程碑。在Python的編程學習中,理解神祕的**kwargs語法應該算是一個重要的里程碑。

雙星“**”放在字典的前面可以讓你將字典的內容作為命名參數傳遞給函數。字典的鍵是參數的名字,鍵的值作為參數的值傳遞給函數。如下所示:

26個你不知道的Python技巧,很難找到

當你想要創建一個函數,它需要能處理事先沒有定義過的參數,那麼就要用到前面提到的技巧了。

List comprehensions(列表推導式)

列表推導式可以說是我最喜歡的Python技巧之一。這種表達式可以讓你寫出像自然語言一樣易於理解並且還很簡潔的代碼。

你可以通過這個鏈接瞭解更多關於列表推導式的用法。地址:https://www.learnpython.org/en/List_Comprehensions

26個你不知道的Python技巧,很難找到

map

Python有許多非常有用的內置函數。其中一個就是map()——特別是和lambda函數相結合的時候。

26個你不知道的Python技巧,很難找到

在這個例子中,map()對x中的每一個元素都應用了一個簡單的lambda函數。它會返回一個map對象,這個對象可以被轉化成可迭代對象,如列表或者元組。

newspaper3k

newspaper3k,如果你還沒有見過它,那麼你可能會被這個Python newspaper模塊所驚豔到。

它可以讓你檢索到一系列國際領先出版物中的新聞和相關的元數據。你可以檢索圖片、文本和作者名。它甚至有一些內置的自然語言處理功能。所以,如果你正在考慮使用BeautifulSoup 或其他自制的爬蟲庫來應用於你的下一個項目。那麼,省省時間和精力吧,你其實只需要$ pip install newspaper3k。

Operator overloading(操作符重載)

Python支持操作符重載。“操作符重載”其實是個簡單的概念,你是否曾經想過為什麼Python可以讓你使用“+”操作符來同時實現加法和連接字符串?這就是操作符重載在發揮作用。

你可以定義使用Python標準操作符符號的對象,這可以讓你在特定的環境中使用特定的對象,就像下方的例子一樣。

26個你不知道的Python技巧,很難找到

pprint

Python的默認print函數可以滿足日常的輸出任務,但如果要打印更大的、嵌套式的對象,那麼使用默認的print函數打印出來的內容會很醜陋。

這個時候我們就需要pprint了,它可以讓複雜的結構型對象以可讀性更強的格式顯示。這對於經常要面對非普通數據結構的Python開發者來說是必不可少的工具。

26個你不知道的Python技巧,很難找到

Queue(隊列)

Python支持多線程,它是通過標準庫中的Queue模塊來實現的。這個模塊可以讓你實現隊列數據結構。這種數據結構可以讓你根據特定的規則添加和檢索條目。

“先進先出”(FIFO)隊列可以讓你按照添加對象的順序來檢索他們。“後進先出”(LIFO)隊列可以讓你首先訪問最近添加的對象。最後,優先隊列可以讓你根據他們排序的順序進行檢索。

__repr__

當你定義一個類的時候,提供一個方法可以返回用來表示該類對象的可打印字符串會非常有用。例如:

26個你不知道的Python技巧,很難找到

這使得debug更加方便,具體的定義方式如下:

26個你不知道的Python技巧,很難找到

sh

sh庫讓你像調用方法那樣調用系統中的命令。

26個你不知道的Python技巧,很難找到

Type hints(類型提示)

Python是一種動態類型語言。當你定義變量、函數、類別的時候,你不需要指定數據的類型。這可以大大提升你的開發速度,但也是有代價的。你可能會因為一個簡單的輸入問題而導致運行出錯。

在Python3.5之後,這就不是問題了,在定義函數的時候你可以自主選擇要不要提供類型提示。

26個你不知道的Python技巧,很難找到

你還可以定義類型的別名:

26個你不知道的Python技巧,很難找到

雖然不是強制性的,類型註釋可以讓你的代碼理解起來更加簡單。它們也允許你使用類型檢測工具在運行之前捕獲這些零散的類型錯誤。如果你正在從事大型、複雜的項目,那麼類型註釋也許會非常有幫助

uuid

通過Python標準庫中的uuid模塊,可以快速並簡單地生成統一的唯一ID(又稱UUID).

26個你不知道的Python技巧,很難找到

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。它可以保證時間和空間的唯一性,也稱為GUID,全稱為:UUID —— Universally Unique IDentifier,Python 中叫 UUID。它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

Virtual environments

這可能是我最喜歡的Python技巧了。你可能經常要處理不止一個Python項目,不幸的是,有時候不同項目會依賴不同的Python版本。這個時候,你應該在系統裡安裝哪個Python版本呢?

幸運的是,Python可以支持建立不同的虛擬環境來滿足不同的版本需求。

26個你不知道的Python技巧,很難找到

現在你可以在一臺機器上安裝和運行各個獨立版本的Python。太棒了!

wikipedia

Wikipedia有一個很棒的API,它可以讓用戶通過編程訪問到維基的詞條內容。使用Python中的wikipedia模塊可以讓你以最便捷的方式訪問該API。

26個你不知道的Python技巧,很難找到

與真實站點一樣,該模塊支持多種語言、頁面消除歧義、隨機頁面檢索,甚至還有donate()方法。

xkcd(著名Python漫畫)

幽默是Python語言的一個重要特性——畢竟,它是以英國喜劇小品節目《Monty Python’s Flying Circus》(《蒙提·派森的飛行馬戲團》)命名的。Python的許多官方文檔都引用了該劇中的著名情節。

這種幽默感不僅在文檔中可以找到,不信,你可以試試運行下方的代碼:

26個你不知道的Python技巧,很難找到

你將打開蘭道爾·門羅的著名幽默漫畫《xkcd》:)

YAML

YAML是“YAML不是一種標記語言”的外語縮寫。它是一個數據格式語言,是JSON的父集。和JSON不同的是,它可以存儲更復雜的對象,並且可以引用自身的元素。你還可以寫註釋,這讓YAML特別適合於書寫配置文件。

PyYAML模塊可以讓你使用Python調用YAML。使用下列語句安裝:

26個你不知道的Python技巧,很難找到

然後導入到項目中:

26個你不知道的Python技巧,很難找到

PyYAML 使你能夠儲存任何數據類型的Python對象,以及任何用戶定義類的實例。

zip

最後一個技巧也非常酷。你是否曾想要讓兩個列表中的元素逐個映射,組合成字典?那麼你應該使用zip。

26個你不知道的Python技巧,很難找到

內置函數zip()接收若干可迭代對象,然後返回一個由多個元組組成的列表。每個元組根據輸入對象的位置索引對其元素進行分組。還可以使用*zip()來“解壓”對象。

"

相關推薦

推薦中...