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

從入門到精通:玩轉(zhuǎn)Python?Fire庫

 更新時間:2024年02月07日 08:42:36   作者:wang_yb  
想快速打造屬于你的Python?GUI應(yīng)用嗎?拋開復(fù)雜的代碼,用Python?Fire庫就能輕松實現(xiàn)!本指南將引領(lǐng)你從零起步,駕馭Python?Fire的強(qiáng)大功能,讓編程既簡單又高效,準(zhǔn)備好了嗎?讓我們開始玩轉(zhuǎn)Python?Fire,開啟你的編程冒險吧!

之前介紹過PythonFire庫,一個用來生成命令行工具的的庫。
請參考:Python Fire:自動生成命令行接口

今天,針對命令行參數(shù),補(bǔ)充兩種更加靈活的設(shè)置方式。

1. *args 型參數(shù)

*args型的參數(shù)可以接受任意長度的參數(shù)。
比如,模擬一個學(xué)校發(fā)送通知的功能:

import fire

def notions(school, *names):
    for name in names:
        print(f"[{school} 通知] hello {name}")


if __name__ == "__main__":
    fire.Fire(notions)

使用起來很靈活,

$  python.exe .\fire-sample.py NJ大學(xué) 小紅 小李 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華

$  python.exe .\fire-sample.py --school NJ大學(xué) 小紅 小李 小張
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張

$  python.exe .\fire-sample.py --school NJ大學(xué) 小紅 小李 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華

$  python.exe .\fire-sample.py 小紅 小李 --school NJ大學(xué) 小張 小華
[NJ大學(xué) 通知] hello 小紅
[NJ大學(xué) 通知] hello 小李
[NJ大學(xué) 通知] hello 小張
[NJ大學(xué) 通知] hello 小華

從上面使用的示例可看出,

  • 可以不輸入?yún)?shù)名稱(比如第一個例子),按照順序第一參數(shù)賦值給school,其余的賦值給*names
  • *names參數(shù)支持不定長度的值
  • school參數(shù)指定參數(shù)名的話,可以放在任意的位置(比如上面第四個例子)。

2. **kwargs 型參數(shù)

**kwargs 型參數(shù)也是不定長度的,和*args型參數(shù)不同的地方在于,
使用**kwargs型參數(shù)時,需要指定參數(shù)名稱

比如,模擬一個顯示學(xué)生成績的功能:

import fire

def scores(cls, **students):
    for k, v in students.items():
        print(f"[{cls} 成績] {k}: {v}")


if __name__ == "__main__":
    fire.Fire(scores)

使用示例如下:

$  python .\fire-sample.py 初三1班 --小紅 98 --小李 89 --小王 100
[初三1班 成績] 小紅: 98
[初三1班 成績] 小李: 89
[初三1班 成績] 小王: 100

$  python .\fire-sample.py --小紅 98 --小李 89 --小王 100  初三1班
[初三1班 成績] 小紅: 98
[初三1班 成績] 小李: 89
[初三1班 成績] 小王: 100

$  python .\fire-sample.py --小紅 98 --小李 89 --小王 100 --cls 初三1班
[初三1班 成績] 小紅: 98
[初三1班 成績] 小李: 89
[初三1班 成績] 小王: 100

cls參數(shù)可以不指定名稱,也可以放在任意位置上。
**students參數(shù)則必須指定參數(shù)名稱,但參數(shù)名稱不固定,參數(shù)的個數(shù)也不固定。

3. 總結(jié)

*args型和**kwargs型參數(shù)可以有效的緩解命令行工具靈活性不足的問題。
開發(fā)命令行工具時,根據(jù)自己的場景,使用這兩種類型的參數(shù)可讓命令行工具的接口更加簡潔靈活。

到此這篇關(guān)于從入門到精通:玩轉(zhuǎn)Python Fire庫的文章就介紹到這了,更多相關(guān)Python Fire庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟

    創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟

    使用虛擬環(huán)境,可以為每個項目創(chuàng)建一個獨(dú)立的Python環(huán)境,每個環(huán)境都有自己的庫和版本,從而避免了依賴沖突,本文主要介紹了創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟,感興趣的可以了解一下
    2024-04-04
  • python在指定位置插入字符的實現(xiàn)

    python在指定位置插入字符的實現(xiàn)

    本文主要介紹了python在指定位置插入字符的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python操作kafka實踐的示例代碼

    python操作kafka實踐的示例代碼

    這篇文章主要介紹了python操作kafka實踐的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 用Python寫冒泡排序代碼

    用Python寫冒泡排序代碼

    本文給大家分享一段代碼使用python寫一個冒泡排序小程序,代碼非常簡單,感興趣的朋友參考下吧
    2016-04-04
  • django 通過URL訪問上傳的文件方法

    django 通過URL訪問上傳的文件方法

    今天小編就為大家分享一篇django 通過URL訪問上傳的文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python 線程池模塊之多線程操作代碼

    Python 線程池模塊之多線程操作代碼

    最近在做一個爬蟲相關(guān)的項目,單線程的整站爬蟲,耗時真的不是一般的巨大,運(yùn)行一次也是心累,所以,要想實現(xiàn)整站爬蟲,多線程是不可避免的,那么python多線程又應(yīng)該怎樣實現(xiàn)呢?今天小編給大家分享下實現(xiàn)代碼,感興趣的朋友一起看看吧
    2021-05-05
  • python方差檢驗的含義及用法

    python方差檢驗的含義及用法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python方差檢驗的含義及用法,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解

    Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解

    這篇文章主要介紹了Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python/sympy求解矩陣方程的方法

    python/sympy求解矩陣方程的方法

    今天小編就為大家分享一篇python/sympy求解矩陣方程的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python常用時間庫time、datetime與時間格式之間的轉(zhuǎn)換教程

    python常用時間庫time、datetime與時間格式之間的轉(zhuǎn)換教程

    Python項目中很多時候會需要將時間在Datetime格式和TimeStamp格式之間轉(zhuǎn)化,下面這篇文章主要給大家介紹了關(guān)于python常用時間庫time、datetime與時間格式之間轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評論