Python學習筆記五,函數及其參數

来源:http://www.cnblogs.com/ooOO00/archive/2016/04/06/5359472.html
-Advertisement-
Play Games

在Python中如何自定義函數:其格式為 def 函數名(函數參數): 內容 交互模式下編寫函數完畢按兩次回車返回>>> pass作為函數為空函數的占位符(她的意思是什麼都不做),也就是說沒想好寫什麼函數,先用pass占位,然後先讓程式跑起來; 數據類型檢查可以用內置函數isinstance(obj ...


在Python中如何自定義函數:其格式為 def 函數名(函數參數):

      內容

交互模式下編寫函數完畢按兩次回車返回>>>

pass作為函數為空函數的占位符(她的意思是什麼都不做),也就是說沒想好寫什麼函數,先用pass占位,然後先讓程式跑起來;

數據類型檢查可以用內置函數isinstance(object,calssinfo)實現:如果參數object是classinfo的實例,或者object是classinfo類的子類的一個實例, 返回True。如果object不是一個給定類型的的對象, 則返回結果總是False。

函數參數:

函數預設參數:預設情況下n的值為2,所以在傳參數的時候只傳第一個參數就可以了,如果在調用的時候傳參有第二個參數,則會將預設的參數覆蓋掉。這樣做的好處是不必要每次都輸入相同項,非常的方便。如果有多個參數的時候,預設是順序傳入,如果想在本次調用時更改預設的參數值,則在調用函數時直接寫 參數名=參數值。這裡需要註意的是,

預設參數必須指向不變對象

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

 

可變參數:當遇到參數不確定的函數時,需要用list或者tuple作為參數。但是調用的時候傳入的參數必須是list或者tuple。如果利用可變函數參數,則可以省略這一點,只需要在定義參數的時候前面加上一個*號。*list就是把list中的所有元素作為可變參數傳入進去。

 

關鍵字參數:以**keyword表示,在參數中以'什麼'='什麼'的形式傳入,並且會自動組裝成一個dict;關鍵字參數不是必選參數;但是也可傳入任意個數的關鍵字參數。

關鍵字參數的作用在於擴展參數,比如在用戶註冊時候,有些是必填項,有些事選填項,用戶提供更多參數的時候我們同樣可以接收,並且直接組織成一個dict;

 

命名關鍵字參數:命名的關鍵字參數是為了限制調用者可以傳入的參數名(強制調用者傳入命名關鍵字參數,不傳入就報錯),同時可以提供預設值。也就是說這個函數只接受命名的關鍵字參數。這是為了限制關鍵字參數的個數。

當然也可以設置預設值。此時就可以不用傳入預設的命名關鍵字參數。

 

組合參數:

在Python中,必選參數,預設參數,可變參數,關鍵字參數,命名關鍵字參數可以任意組合使用,非常方便;可變參數無法和命名關鍵字參數混合

參數定義的順序必須是:必選參數,預設參數,可變參數和命名關鍵字參數,關鍵字參數

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • vs2005針對datatable已經有封裝好的去重覆方法: 1 //去掉重覆行 2 DataView dv = table.DefaultView; 3 table = dv.ToTable(true, new string[] { "name", "code" }); 4 5 此時table 就 ...
  • c# 正則表達式筆記 估計要寫幾天 看得一個不錯的正則教程包括字元串教程 C#字元串和正則表達式參考手冊.pdf 正則所需要的命名空間是 using System.Text.RegularExpressions 它包含了8個類,用得最多是的Regex; Regex不僅可以用來創建正則表達式,而且提供 ...
  • 下圖👇是我在CodeL公眾號菜單上設置的特殊符號,你也可以關註CodeL公眾號查看。 網頁打開圖標可能是黑白的 ,微信查看是彩色的。 是不是很漂亮 🚶 🚼 🙌 👈看,不只是菜單,內容裡面也可以加入這些特殊符號,接下來我們就來看看是如何實現的 下麵這張特殊符號的表來源:土錘哥 有了這份寶典, ...
  • 異常就是指成員沒有完成它的名稱所宣示的行動。 上面這段代碼會有異常,因為Troy去執行Love這個函數,然而其中girl根本就沒有賦值。本來Troy預期完成愛一個姑娘這個行動,結果發生了異常的事情,姑娘離開了Troy。 異常要解決的問題 很多行為(比如方法和屬性)很多時候都沒法返回錯誤代碼(比如vo ...
  • 本文地址為:http://www.cnblogs.com/ADTL/p/5357259.html XLog為XCode的日誌組件,為系統基本功能。 使用示例: 1、新建WinForm程式 2、引用NewLife.Core.dll文件 3、系統啟動前聲明用於WinForm程式,在Program.cs中 ...
  • 工作當中遇到的事情比較雜,因此涉及的知識點也很多。這裡暫且記錄一下,今天遇到的知識點,純乾貨~ 關於文件的解壓和壓縮 如果你的系統不支持tar z命令 如果是古老的Unix系統,可能並不認識tar z命令,因此如果你想要壓縮或者解壓tar.gz的文件,就需要使用gzip或者gunzip以及tar命令 ...
  • run: ...
  • 直接上圖: 1, 2, 3, 4, 5, 重啟服務,搞定 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...