1. 程式人生 > >python函式的介紹及應用(意為理解)

python函式的介紹及應用(意為理解)

區域性變數

區域性變數,就是在函式內部定義的變數

其作用範圍是這個函式內部,即只能在這個函式中使用,在函式的外部是不能使用的

因為其作用範圍只是在自己的函式內部,所以不同的函式可以定義相同名字的區域性變數(打個比方,把你、我是當做成函式,把區域性變數理解為每個人手裡的手機,你可有個iPhone8,我當然也可以有個iPhone8了, 互不相關)

區域性變數的作用,為了臨時儲存資料需要在函式中定義變數來進行儲存

當函式呼叫時,區域性變數被建立,當函式呼叫完成後這個變數就不能夠使用了

全域性變數:

在函式外邊定義的變數叫做全域性變數

全域性變數能夠在所有的函式中進行訪問

當函式內出現區域性變數和全域性變數相同名字時,函式內部中的 變數名 = 資料

 此時理解為定義了一個區域性變數,而不是修改全域性變數的值

如果在函式中出現global 全域性變數的名字 那麼這個函式中即使出現和全域性變數名相同的變數名 = 資料也理解為對全域性變數進行修改,而不是定義區域性變數

如果在一個函式中需要對多個全域性變數進行修改,那麼可以使用.

返回值return:

一個函式中可以有多個return語句,但是隻要有一個return語句被執行到,那麼這個函式就會結束了,因此後面的return沒有什麼用處

如果程式設計為如下,是可以的因為不同的場景下執行不同的return

return後面可以是元組,列表、字典等,只要是能夠儲存多個數據的型別,就可以一次性返回多個數據

如果return後面有多個數據,那麼預設是元組

引數(預設引數,不定長引數)

預設引數:

   在形參中預設有值的引數,稱之為預設引數

注意:帶有預設值的引數一定要位於引數列表的最後面

呼叫函式時,預設引數的值如果沒有傳入,則取預設值。

不定長引數:

有時可能需要一個函式能處理比當初宣告時更多的引數, 這些引數叫做不定長引數,宣告時不會命名。

加了星號(*)的變數args會存放所有未命名的變數引數,args為元組

而加**的變數kwargs會存放命名引數,即形如key=value的引數, kwargs為字典.

如果很多個值都是不定長引數,那麼這種情況下,可以將預設引數放到 *args的後面, 但如果有**kwargs的話,**kwargs必須是最後的

拆包:

  • 拆包時要注意,需要拆的資料的個數要與變數的個數相同,否則程式會異常
  • 除了對元組拆包之外,還可以對列表、字典等拆包

def get_my_info():
    high = 178
    weight = 100
    age = 18
    return high, weight, age


# result = get_my_info()
# print(result)

my_high, my_weight, my_age = get_my_info()
print(my_high)
print(my_weight)
print(my_age)

 可變型別和不可變型別

所謂可變型別與不可變型別是指:資料能夠直接進行修改,如果能直接修改那麼就是可變,否則是不可變

可變型別有: 列表、字典、集合

不可變型別有: 數字、字串、元組