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

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

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

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

問(wèn)題描述

調(diào)用的地方

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

使用 configparser 解析配置文件,函數(shù)定義,configparser也提供了一些輔助方法,可以在讀取時(shí)直接轉(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

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

問(wèn)題分析

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

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

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

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

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

1.返回元組

如果函數(shù)返回多個(gè)值,加末尾逗號(hào)會(huì)使其返回一個(gè)元組,而不是多個(gè)單獨(dú)的值。

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

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

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

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

3.元組拆包不正確

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

values = (1,) 
a, = values # 會(huì)報(bào)錯(cuò)
a, _ = values # 正確拆包方式

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

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

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

5.多余語(yǔ)法錯(cuò)誤

末尾逗號(hào)也可能直接導(dǎo)致語(yǔ)法錯(cuò)誤。

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

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

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

相關(guān)文章

  • Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解

    Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解

    這篇文章主要介紹了Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 簡(jiǎn)單的Apache+FastCGI+Django配置指南

    簡(jiǎn)單的Apache+FastCGI+Django配置指南

    這篇文章主要介紹了簡(jiǎn)單的Apache+FastCGI+Django配置指南,這也是Python上最流行的web框架Django的最流行搭配環(huán)境:)需要的朋友可以參考下
    2015-07-07
  • 如何將Python徹底卸載的三種方法

    如何將Python徹底卸載的三種方法

    通常我們?cè)谝恍┸浖氖褂蒙嫌信霰?第一反應(yīng)就是卸載重裝,所以有小伙伴就問(wèn)我Python怎么卸載才能徹底卸載干凈,今天這篇文章,小編就來(lái)教大家如何徹底卸載Python,需要的朋友可以參考下
    2025-04-04
  • Python opencv實(shí)現(xiàn)人眼/人臉識(shí)別以及實(shí)時(shí)打碼處理

    Python opencv實(shí)現(xiàn)人眼/人臉識(shí)別以及實(shí)時(shí)打碼處理

    這篇文章主要為大家詳細(xì)介紹了Python opencv實(shí)現(xiàn)人眼、人臉識(shí)別,以及實(shí)時(shí)打碼處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Django后臺(tái)獲取前端post上傳的文件方法

    Django后臺(tái)獲取前端post上傳的文件方法

    今天小編就為大家分享一篇Django后臺(tái)獲取前端post上傳的文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解

    使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解

    這篇文章主要介紹了使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解,該示例包括生成數(shù)據(jù)集、為數(shù)據(jù)集選擇合適的機(jī)器學(xué)習(xí)模型、構(gòu)建、配置和訓(xùn)練它,最后解釋結(jié)果,即混淆矩陣,需要的朋友可以參考下
    2022-06-06
  • python使用pytest接口自動(dòng)化測(cè)試的使用

    python使用pytest接口自動(dòng)化測(cè)試的使用

    這篇文章主要介紹了python使用pytest接口自動(dòng)化測(cè)試的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python獲取array中指定元素的示例

    python獲取array中指定元素的示例

    今天小編就為大家分享一篇python獲取array中指定元素的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Tesserocr庫(kù)的正確安裝方式

    Tesserocr庫(kù)的正確安裝方式

    今天小編就為大家分享一篇關(guān)于Tesserocr庫(kù)的正確安裝方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • 使用Python寫(xiě)CUDA程序的方法

    使用Python寫(xiě)CUDA程序的方法

    下面小編就為大家?guī)?lái)一篇使用Python寫(xiě)CUDA程序的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03

最新評(píng)論