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

Python命令行參數(shù)定義及需要注意的地方

 更新時間:2020年11月30日 16:44:57   作者:頎周  
這篇文章主要介紹了Python命令行參數(shù)定義及需要注意的地方,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下

  在命令行中運行python代碼是很常見的,下面介紹如何定義命令后面跟的參數(shù)。

1  常規(guī)用法

  Python代碼中主要使用下面幾行代碼來定義并獲取需要在命令行中賦值的參數(shù):

import argparse 
 
parser = argparse.ArgumentParser("Description.") # ————1————
parser.add_argument('--test1', type=str, default="1", help="Test1 help.") # ————2————
parser.add_argument('--test2', type=float, default=2.1, help="Test2 help.") # ————2————
args = parser.parse_args() # ————3————

print(args)
test1, test2 = args.test1, args.test2 # ————4———— 
print(type(test1), test1, test1 + " add test") 
print(type(test2), test2, test2 + 100)

  注釋:

  1、獲取外部參數(shù)對象實例??梢詡魅胱址畞砻枋隹傮w的外部參數(shù)。

  2、定義外部參數(shù),可以多次調(diào)用來定義多個外部參數(shù)。函數(shù)的第一個參數(shù)是外部參數(shù)的名稱,建議以兩個減號開頭,中間不要使用數(shù)字字母下劃線以外的符號,否則容易出錯。type是你希望外部參數(shù)傳入后轉(zhuǎn)換的類型,比如--test1定義為str,即使命令行傳參不添加引號,函數(shù)也將它轉(zhuǎn)換為字符串(當(dāng)然不加引號傳字符串就不能用空格了)。而--test2是float,即使命令行傳參帶了引號,只要能轉(zhuǎn)換為數(shù)字,函數(shù)都能轉(zhuǎn)換為float類型。default是外部參數(shù)的默認(rèn)值。如果命令行不對外部參數(shù)賦值而使用默認(rèn)值,函數(shù)不會對你定義的默認(rèn)值進行type上的轉(zhuǎn)換,所以default最好直接定義為type指定的類型(比如--test1的default定義為"1"而不是1)。help傳入對當(dāng)前外部參數(shù)的描述,命令行中使用--help輸出的就是這個。 

  3、分析獲取的外部參數(shù)。傳出的是一個命名空間,類似于字典,但使用屬性的方式而不是key索引來獲取命名對應(yīng)的外部參數(shù)值。

  4、以獲取屬性的方式獲取外部參數(shù)。

  需要注意的是,外部參數(shù)的定義必須寫在獲取外部參數(shù)之前。也就是說,parser.add_argument()要寫在parser.parse_args()之前,否則外部參數(shù)無法被命令行捕獲。另外,如果代碼中沒有parser.parse_args(),命令行就不能傳參。

  用命令行執(zhí)行以上代碼,命令與輸出如下(以上代碼保存為test.py):

  可以看出,故意以數(shù)字和字符串的方式分別對字符串和float類型的外部參數(shù)賦值,函數(shù)都能正確地轉(zhuǎn)換并正確地參與運算。

  使用默認(rèn)值時輸出如下:

2  注意事項 

  通過以上的實驗,argparse庫似乎能將外部參數(shù)正確轉(zhuǎn)換為各種類型,只要能轉(zhuǎn)換。下面來實驗是否能傳入一個numpy數(shù)組。代碼如下:

import numpy as np
import argparse 
 
parser = argparse.ArgumentParser() 
parser.add_argument('--array', type=np.array, default=np.array([1,2])) 
args = parser.parse_args() 

print(args) 
array = args.array
print(type(array))
print(array)
print(array + 1)

  當(dāng)使用默認(rèn)值時:

運行正確,但當(dāng)我們意圖傳入外部參數(shù)時:

  盡管傳入的[1,2]被轉(zhuǎn)換為numpy.ndarray類型,它卻并不能參與運算。所以,并不是所有的類型都能在命令行中傳入的。

以上就是Python命令行參數(shù)定義及需要注意的地方的詳細(xì)內(nèi)容,更多關(guān)于Python命令行參數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python全局變量與global關(guān)鍵字常見錯誤解決方案

    Python全局變量與global關(guān)鍵字常見錯誤解決方案

    這篇文章主要介紹了Python全局變量與global關(guān)鍵字常見錯誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python matplotlib實現(xiàn)散點圖的繪制

    Python matplotlib實現(xiàn)散點圖的繪制

    Matplotlib作為Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。本文將利用Matplotlib庫繪制散點圖,感興趣的可以了解一下
    2022-03-03
  • django開發(fā)post接口簡單案例,獲取參數(shù)值的方法

    django開發(fā)post接口簡單案例,獲取參數(shù)值的方法

    今天小編就為大家分享一篇django開發(fā)post接口簡單案例,獲取參數(shù)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • TensorFLow 變量命名空間實例

    TensorFLow 變量命名空間實例

    今天小編就為大家分享一篇TensorFLow 變量命名空間實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python操作mysql數(shù)據(jù)庫實現(xiàn)增刪查改功能的方法

    Python操作mysql數(shù)據(jù)庫實現(xiàn)增刪查改功能的方法

    這篇文章主要介紹了Python操作mysql數(shù)據(jù)庫實現(xiàn)增刪查改功能的方法,涉及Python針對mysql數(shù)據(jù)庫的連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • pandas中的數(shù)據(jù)去重處理的實現(xiàn)方法

    pandas中的數(shù)據(jù)去重處理的實現(xiàn)方法

    這篇文章主要介紹了pandas中的數(shù)據(jù)去重處理的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python使用import導(dǎo)入本地腳本及導(dǎo)入模塊的技巧總結(jié)

    Python使用import導(dǎo)入本地腳本及導(dǎo)入模塊的技巧總結(jié)

    這篇文章主要介紹了Python使用import導(dǎo)入本地腳本及導(dǎo)入模塊的技巧,結(jié)合實例形式總結(jié)分析了Python使用import導(dǎo)入本地腳本及導(dǎo)入模塊的使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • Python守護進程和腳本單例運行詳解

    Python守護進程和腳本單例運行詳解

    本篇文章主要介紹了Python守護進程和腳本單例運行,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python跳出雙層循環(huán)的方法

    python跳出雙層循環(huán)的方法

    本文主要介紹了python跳出雙層循環(huán)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python opencv將多個圖放在一個窗口的實例詳解

    python opencv將多個圖放在一個窗口的實例詳解

    這篇文章主要介紹了python opencv將多個圖放在一個窗口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02

最新評論

东辽县| 万年县| 兴安盟| 晋州市| 台前县| 湟源县| 通渭县| 修武县| 沾益县| 商洛市| 清镇市| 武隆县| 宁化县| 唐山市| 新源县| 大方县| 忻州市| 新龙县| 措美县| 颍上县| 民和| 大石桥市| 乐昌市| 万安县| 屏东县| 普格县| 鲜城| 封丘县| 花莲县| 怀远县| 板桥市| 石屏县| 民和| 饶河县| 上饶县| 象州县| 深水埗区| 新兴县| 永平县| 依安县| 乌拉特后旗|