【Python基礎】初識函數

本文標識 : P00020

本文編輯 : 採藥

編程工具 : Python

閱讀時長 : 5分鐘

函數

函數就是帶名字的程式碼塊,用於執行具體的工作。

定義函數

def greet_user():      """顯示問候的話語"""      print("hello")    greet_user()

顯示結果

hello

這裡我們演示了最簡單的函數結構。

def關鍵詞告訴python你要定義一個函數。這是函數定義,向python指出了函數名,指出函數為完成任務需要什麼樣的資訊。

在這裡,greet_user()函數不需要任何資訊就可以完成工作,因此括弧是空的,但是括弧不能少。

緊跟def greet_user():後面的所有縮進,構成了函數體。

向函數傳遞資訊

上述的函數,稍作修改,就可以實現別的功能。

def greet_user(username):      print("Hello," + username.title() + "!")    greet_user("tom"

我們在這個函數中,添加了一個username,這個username可以是任何值,這樣我們就能得到想要的結果。

輸出結果:

Hello,Tom!

實參和形參

上面在定義greet_user()時,要求給變數username指定一個值。調用這個函數並提供人名時,它就列印相應的問候語。

變數username就是一個形參。

在程式碼greet_user("tom")zhong ,tom就是實參。

傳遞實參

傳遞實參的方式很多,可用位置實參,關鍵詞實參還可以用列表和字典。

位置實參

調用函數時,python必須將函數調用中的每個實參都關聯到形參,最簡單的關聯方式就是基於實參的順序,稱之為位置實參。

def describe_pet(animal,name):      print("nI have a "+animal + ".")      print("My " + animal + "'s name is "+ name.title() + ".")    describe_pet("hamster","harry"))

這裡,調用函數時,需要提供兩個參數,按照動物類型和名字的順序來提供。

輸出結果:

I have a hamster.  My hamster's name is Harry.

關鍵字實參

關鍵詞實參,就是傳遞給函數名稱-值對。

def describe_pet(animal,name):      print("nI have a "+animal + ".")      print("My " + animal + "'s name is "+ name.title() + ".")    describe_pet(animal="hamster",name="harry")

輸出結果:

 have a hamster.   My hamster's name is Harry.

默認值

在編寫函數時,我們可以給任意形參指定值。在調用函數時,如果沒有提供實參,python就使用初始的默認值,如果指定了實參就使用調用時的值。

def describe_pet(pet_name,animal_type='dog'):      print("nI have a " + animal_type + ".")      print("My " + animal_type + "'s name is " + pet_name.title())    describe_pet(pet_name='tom')

輸出結果:

I have a dog.  My dog's name is Tom