欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一起來看看五條Python中的隱含特性

 更新時間:2022年01月26日 15:15:21   作者:趙卓不凡  
這篇文章主要為大家詳細(xì)介紹了Python中的隱含特性,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1. 引言

最近閑暇之余,我會去閱讀一些Python文檔,有時候會注意到一些有趣的Python特性,這些特性不禁讓人驚呼:“哇,Python原來還可以這么寫”。

閑話少說,我們直接開始吧。 :)

2. 函數(shù)屬性

和設(shè)置類和對象的屬性類似,我們在Python中也可以為函數(shù)設(shè)置屬性。樣例代碼如下:

def func(x):
    intermediate_var = x**2 + x + 1
    if intermediate_var % 2:
        y = intermediate_var ** 3
    else:
        y = intermediate_var **3 + 1
    # setting attributes here
    func.optional_return = intermediate_var
    func.is_awesome = 'Yes, my function is awesome.'
    return y
y = func(3)
print('Final answer is', y)
# Accessing function attributes
print('Show calculations -->', func.optional_return)
print('Is my function awesome? -->', func.is_awesome)

觀察上述代碼,我們在第9行設(shè)置函數(shù)屬性‘optional_return’在第10行設(shè)置屬性’is_awesome’.同時,在最后兩行的調(diào)用語句里我們訪問了這兩個函數(shù)屬性的值。

上述代碼的運(yùn)行結(jié)果如下:

Final answer is 2197
Show calculations --> 13
Is my function awesome? --> Yes, my function is awesome.

當(dāng)我們希望選擇檢查一些函數(shù)中的中間變量,但不想每次調(diào)用函數(shù)時使用 return 語句顯式返回它時,上述函數(shù)屬性的寫法將會排上用場。

3. For-else循環(huán)

在 Python 中,我們可以在 for 循環(huán)中添加 else 語句。只有在執(zhí)行期間在循環(huán)體中沒有遇到 break 語句時才會觸發(fā) else 語句。樣例代碼如下:

my_list = ['some', 'list', 'containing', 'five', 'elements']
min_len = 3
for element in my_list:
    if len(element) < min_len:
        print(f'Caught an element shorter than {min_len} letters')
        break
else:
    print(f'All elements at least {min_len} letters long'

上述代碼輸出如下:

All elements at least 3 letters long

觀察上述代碼,else 在 for 級別縮進(jìn),而不是在 if 級別縮進(jìn)。在這里,沒有任何元素的長度小于 3。因此,將永遠(yuǎn)不會遇到 break 語句。因此,else 子句將被觸發(fā)(在執(zhí)行 for 循環(huán)之后)并打印上面顯示的輸出。

4. int型分隔符

一般來說,從視覺效果上看人眼很難分辨出數(shù)字10000000 和100000000 ,在Python中我們不能像英語那樣直接使用逗號分隔符來將數(shù)字隔開,這是因為Python會將逗號分隔開的數(shù)字解釋為多個整數(shù)的元組。

但是,Python也有一種方便的方式來處理這種情形:我們可以使用下劃線當(dāng)做分隔符來提升數(shù)字的可讀性,此時數(shù)字1_000_000將被解釋成整形數(shù)字并增加了可讀性。

代碼樣例如下:

a = 3250
b = 67_543_423_778
print(type(a))
print(type(b))
print(type(a)==type(b))

運(yùn)行結(jié)果如下:

<class 'int'>
<class 'int'>
True

5. eval() and exec()

Python 具有動態(tài)讀取字符串并將其視為一段 Python 代碼的能力。這主要是通過使用 eval() 和 exec() 函數(shù)來實(shí)現(xiàn)的(“eval”用于評估表達(dá)式,“exec”用于執(zhí)行語句)。

代碼舉例如下:

a = 3
b = eval('a + 2')
print('b =', b)
exec('c = a ** 2')
print('c is', c)

運(yùn)行結(jié)果如下:

b = 5
c is 9

上述代碼中,eval() 函數(shù)將輸入字符串作為 Python 表達(dá)式讀取,對其求值,并將結(jié)果分配給變量“b”。同時,exec() 函數(shù)將輸入字符串作為 Python 語句讀取并執(zhí)行。

6. 省略號

省略號或“…”是 Python 的內(nèi)置常量,類似于 None、True、False 等內(nèi)置常量。它可以以不同的方式使用,包括但不限于:

6.1 占位符

和 pass 類似,省略號可以在代碼沒有寫完整的時候用作占位符,舉例如下:

def some_function():
    ...
def another_function():
    pass

6.2 numpy數(shù)組中用于切片

NumPy中使用省略號可以對數(shù)組進(jìn)行切片。以下代碼顯示了對 NumPy 數(shù)組進(jìn)行切片的兩種等效方法:

import numpy as np
a = np.arange(16).reshape(2,2,2,2)
print(a[..., 0].flatten())
print(a[:, :, :, 0].flatten())

結(jié)果如下:

[ 0  2  4  6  8 10 12 14]
[ 0  2  4  6  8 10 12 14]

7.總結(jié)

Python 不僅是一門有用的語言,而且是一門非常有趣的語言。我們都忙于生活工作,但為了更好地了解語言本身的一些特性并沒有什么壞處。在本文中,重點(diǎn)介紹了5個Python中隱含的特性,并給出了相關(guān)代碼的講解。

 本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!   

相關(guān)文章

  • Python中import機(jī)制詳解

    Python中import機(jī)制詳解

    在剛剛接觸python時,我們會被其優(yōu)美的格式、簡潔的語法和無窮無盡的類庫所震撼。在真正的將python應(yīng)用到實(shí)際的項目中,你會遇到一些無法避免的問題。最讓人困惑不解的問題有二類,一個編碼問題,另一個則是引用問題。本文主要討論關(guān)于Python中import的機(jī)制與實(shí)現(xiàn)
    2017-11-11
  • Python多進(jìn)程通信Queue、Pipe、Value、Array實(shí)例

    Python多進(jìn)程通信Queue、Pipe、Value、Array實(shí)例

    這篇文章主要介紹了Python多進(jìn)程通信Queue、Pipe、Value、Array實(shí)例,queue和pipe用來在進(jìn)程間傳遞消息、Value + Array 是python中共享內(nèi)存映射文件的方法,需要的朋友可以參考下
    2014-11-11
  • 詳解Python如何與?java高效的交互

    詳解Python如何與?java高效的交互

    這篇文章主要為大家介紹了詳解Python如何與java高效的交互的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python第三方包PrettyTable安裝及用法解析

    Python第三方包PrettyTable安裝及用法解析

    這篇文章主要介紹了Python第三方包PrettyTable安裝及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • python中__call__內(nèi)置函數(shù)用法實(shí)例

    python中__call__內(nèi)置函數(shù)用法實(shí)例

    這篇文章主要介紹了python中__call__內(nèi)置函數(shù)用法,實(shí)例分析了python中__call__內(nèi)置函數(shù)的原理與使用技巧,需要的朋友可以參考下
    2015-06-06
  • python微信跳一跳系列之棋子定位顏色識別

    python微信跳一跳系列之棋子定位顏色識別

    這篇文章主要為大家詳細(xì)介紹了python微信跳一跳系列之棋子定位之顏色識別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python實(shí)現(xiàn)操作Redis所有類型的方法詳解

    Python實(shí)現(xiàn)操作Redis所有類型的方法詳解

    Redis作為一款高性能的NoSQL數(shù)據(jù)庫,越來越受到了廣大開發(fā)者的喜愛。本篇博客將介紹如何使用Python操作Redis的所有類型,以及一些高級用法,感興趣的可以了解一下
    2023-04-04
  • Python面向?qū)ο缶幊讨械念惡蛯ο髮W(xué)習(xí)教程

    Python面向?qū)ο缶幊讨械念惡蛯ο髮W(xué)習(xí)教程

    這篇文章主要介紹了Python面向?qū)ο缶幊讨械念惡蛯ο髮W(xué)習(xí)教程,面向?qū)ο笫荘ython的基礎(chǔ)特性,其中的類與對象的特性和使用方法是Python學(xué)習(xí)當(dāng)中的基本功,需要的朋友可以參考下
    2015-03-03
  • 基于Python+QT的gui程序開發(fā)實(shí)現(xiàn)

    基于Python+QT的gui程序開發(fā)實(shí)現(xiàn)

    這篇文章主要介紹了基于Python+QT的gui程序開發(fā)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python 中使用yagmail 發(fā)送郵件功能

    python 中使用yagmail 發(fā)送郵件功能

    這篇文章主要介紹了python 中使用yagmail 發(fā)送郵件功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12

最新評論