最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python末尾逗號導(dǎo)致返回結(jié)果是一個元組的問題

 更新時間:2023年09月14日 10:19:57   作者:西京刀客  
在Python中,除非特別需要返回或傳參元組,一般不推薦在語句末尾添加逗號,應(yīng)該注意檢查是否存在末尾逗號導(dǎo)致的這些副作用,這篇文章主要介紹了python末尾逗號導(dǎo)致返回結(jié)果是一個元組,需要的朋友可以參考下

python末尾逗號導(dǎo)致返回結(jié)果是一個元組

問題描述

調(diào)用的地方

port = config_manager.get_int('mongo','port'),
print(type(port)) # 應(yīng)該打印int,但是打印成了元組

使用 configparser 解析配置文件,函數(shù)定義,configparser也提供了一些輔助方法,可以在讀取時直接轉(zhuǎn)換,比如:

getint() - 獲取整數(shù)值

def get_int(self, section, key):
    """獲取整數(shù)類型的配置值"""
    value = self.config.getint(section, key)
    print(type(value))
    assert isinstance(value, int) 
    return value

問題:調(diào)用的地方應(yīng)該打印int,但是打印成了元組

問題分析

經(jīng)過網(wǎng)上查詢資料,很多說是 int數(shù)據(jù)再int轉(zhuǎn)換一次就變成了元組,但是這塊明顯不符合我的情況。

最后發(fā)現(xiàn)是:末尾逗號導(dǎo)致port變量綁定到一個元組上~

末尾逗號是一個非常容易被忽視的細(xì)節(jié),這次經(jīng)歷也是一個寶貴的學(xué)習(xí)經(jīng)歷。以后在Python中獲取返回值時,一定要注意是否有這種錯誤。

Python中末尾逗號基礎(chǔ)

在Python中,如果語句或函數(shù)的參數(shù)列表中添加了末尾的逗號,會產(chǎn)生一些副作用需要注意:

1.返回元組

如果函數(shù)返回多個值,加末尾逗號會使其返回一個元組,而不是多個單獨的值。

def foo():
    return 1, 
print(foo()) # (1,) 

2.參數(shù)組成元組

調(diào)用函數(shù)時參數(shù)末尾加逗號,會將參數(shù)組裝成一個元組。

def foo(x):
    print(x)
foo(1,) # (1,)

3.元組拆包不正確

帶末尾逗號的元組拆包時,需要處理額外的逗號產(chǎn)生的值。

values = (1,) 
a, = values # 會報錯
a, _ = values # 正確拆包方式

4.函數(shù)定義參數(shù)

錯誤在函數(shù)定義中參數(shù)帶逗號容易造成參數(shù)數(shù)目錯誤。

def foo(x, ): # 會被識別成接收元組的函數(shù)
    pass

5.多余語法錯誤

末尾逗號也可能直接導(dǎo)致語法錯誤。

print(1,) print(2) # 錯誤

總結(jié):在Python中,除非特別需要返回或傳參元組,一般不推薦在語句末尾添加逗號。應(yīng)該注意檢查是否存在末尾逗號導(dǎo)致的這些副作用。

到此這篇關(guān)于python末尾逗號導(dǎo)致返回結(jié)果是一個元組的文章就介紹到這了,更多相關(guān)python末尾逗號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中如何導(dǎo)入類示例詳解

    Python中如何導(dǎo)入類示例詳解

    這篇文章主要給大家介紹了關(guān)于Python中如何導(dǎo)入類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python逆向入門教程

    python逆向入門教程

    這篇文章主要介紹了python逆向入門教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • python中@Property屬性使用方法

    python中@Property屬性使用方法

    這篇文章主要介紹了python中@Property屬性使用方法,在Python中,可以通過@property裝飾器將一個方法轉(zhuǎn)換為屬性,從而實現(xiàn)用于計算的屬性,下面文章圍繞主題展開更多相關(guān)詳情,感興趣的小伙伴可以參考一下
    2022-06-06
  • python 實現(xiàn)自動遠(yuǎn)程登陸scp文件實例代碼

    python 實現(xiàn)自動遠(yuǎn)程登陸scp文件實例代碼

    這篇文章主要介紹了python 實現(xiàn)自動遠(yuǎn)程登陸scp文件實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python argparse 解析命令行參數(shù)模塊詳情

    Python argparse 解析命令行參數(shù)模塊詳情

    這篇文章主要介紹了Python argparse 解析命令行參數(shù)模塊詳情,argparse是python用于解析命令行參數(shù)和選項的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過時的optparse模塊
    2022-07-07
  • Django框架驗證碼用法實例分析

    Django框架驗證碼用法實例分析

    這篇文章主要介紹了Django框架驗證碼用法,結(jié)合實例形式分析了Python Django框架驗證碼的功能、實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 用代碼幫你了解Python基礎(chǔ)(3)

    用代碼幫你了解Python基礎(chǔ)(3)

    這篇文章主要用代碼幫你了解Python基礎(chǔ),使用循環(huán),字典和集合的示例代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python設(shè)置環(huán)境變量的幾種方法總結(jié)

    python設(shè)置環(huán)境變量的幾種方法總結(jié)

    這篇文章主要介紹了在Python中設(shè)置環(huán)境變量可以通過多種方式實現(xiàn),包括使用os.environ、os.putenv、setuptools以及在操作系統(tǒng)級別設(shè)置,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • Python入門教程(二十四)Python的迭代器

    Python入門教程(二十四)Python的迭代器

    這篇文章主要介紹了Python入門教程(二十四)Python的迭代器,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • Python的joblib模型固化函數(shù)解析

    Python的joblib模型固化函數(shù)解析

    這篇文章主要介紹了Python的joblib模型固化函數(shù)解析,joblib提供了三個與對象序列化和模型固化相關(guān)的函數(shù)hash,dump,load,joblib.hash主要是為了提供一個numpy對象的hash方法,需要的朋友可以參考下
    2023-08-08

最新評論

玛纳斯县| 承德县| 龙山县| 通化市| 临湘市| 阿拉善左旗| 黑龙江省| 曲靖市| 固原市| 长治市| 沛县| 什邡市| 宣汉县| 台江县| 渭南市| 盈江县| 韶山市| 福安市| 浑源县| 五峰| 天祝| 山丹县| 汕尾市| 芜湖县| 深泽县| 四会市| 海宁市| 滦南县| 开平市| 达拉特旗| 刚察县| 荆门市| 金平| 资源县| 阿克苏市| 松滋市| 顺义区| 汕尾市| 游戏| 东至县| 麻栗坡县|