python 函式入門

2021-10-17 03:24:31 字數 1376 閱讀 5917

函式分類:

是否存在返回值

|-- 有返回值的函式

使用return關鍵字返回結果

函式遇到return關鍵字,則立刻返回

|-- 無返回值的函式

是否存在引數

|-- 有參函式

引數的個數,根據情況任意

引數的型別,是任意型別

|-- 無參函式

函式定義者

|-- 系統函式

由官方定義的函式

print、input、type

|-- 第三方定義

需要安裝這些模組,才能使用

pip install 模組名稱

pip(python install package)

|-- 自定義函式

我們寫的函式

注意:(函式、變數……)命名時一定要注意,和系統的全域性函式不要衝突!!

全域性變數和區域性變數:

全域性變數:

直接定義在py(模組)檔案中的變數

區域性(本地)變數:

定義在函式內部的變數叫做區域性變數

因此只能在函式內部使用,訪問在外間訪問到!!!

注意:全域性變數在函式直接訪問,可以正常訪問,如果要在函式內部修改全域性變數,python不讓修改的

如果要一定強制改呢?提前宣告 這個函式需要修改某個全域性變數

在函式的第一行,global關鍵字宣告需要修改全域性變數

函式呼叫的本質

函式本質就是乙個物件

壓棧(push):將函式從堆記憶體中放到棧中執行

彈棧(pop):函式執行完成後出棧記憶體

函式本質就是乙個物件,引數的型別,是任意型別

函式引數:

預設值引數:

就是說,如果函式的引數,在大多數情況下,值是固定的乙個值,此時可以使用預設值引數

這個時候,如果不傳該引數,值就取預設的,如果傳遞了,則按照傳遞的算。

注意:預設值引數,一定要寫在普通引數之後

可變引數:

在python,如果乙個函式中引數可能有很多(這些引數,也可以沒有),建議將這種引數設定為可變引數

引數名稱(習慣性args)

注意:可變引數預設是以元組封裝所有引數

命名(關鍵字)引數:

函式遞迴:

1、什麼是遞迴

以**論英雄

有兩個條件:

1、函式自身呼叫自身

2、一定要有終止條件!!(否則是乙個死迴圈)

注意:python中,不允許遞迴超過1000次,當然如果一定要調整,可以使用如下**:

import sys

# 獲取遞迴限制次數

sys.getrecursionlimit()

# 重新設定遞迴限制次數

sys.setrecursionlimit(10000)

Python函式入門

def f1 a,b,c 0,args,kw a,b 必選引數 c 預設引數 arg 可變引數 kw 關鍵字引數 print a a,b b,c c,args args,kw kw def f2 a,b,c 0,d,kw a,b 必選引數 c 預設引數 d 命名關鍵字引數 kw 關鍵字引數 prin...

python入門2 函式

函式格式 def sub x,y return x y print sub 3,2 控制台輸出1 關鍵字引數,位置引數 def test x y z 10 print x,y z test 1,2,3 控制台輸出1,2,3 test 1,2 控制台輸出1,2,10 test x 1,z 3,y 2 ...

python 快速入門函式

def func print hello world return hello world a func print a hello world hello world def func args a,b,c print a,b,c func args 10,20,helloworld 10 20 ...