python函式的入門和使用

2021-10-17 03:30:50 字數 1975 閱讀 4553

函式

1、什麼是函式?

c語言是一門面向過程的語言

函式就是行為、就是動作、就是功能、就是過程

2、python如何定義函式?

關鍵字 def 【defined function】

函式名稱的命名規範就是變數命名規範

def 函式名稱([引數列表] ):

#函式體

#[return 返回值]

函式預設是不會執行的,需要呼叫才能執行

函式是預設儲存在堆記憶體中

函式跟普通**之間隔兩個空格

呼叫函式:函式名稱()

3、函式的分類

是否存在返回值

|-- 有返回值的函式

使用return關鍵字返回結果

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

|-- 無返回值的函式

是否存在引數

|-- 有參函式

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

引數的型別,是任意型別

|-- 無參函式

函式定義者

|-- 系統函式

由官方定義的函式

print、input、type

|-- 第三方定義

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

pip install 模組名稱

pip(python install package) 是python用來安裝包的

|-- 自定義函式

我們寫的函式

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

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

全域性變數:

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

區域性(本地)變數:

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

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

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

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

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

盡量不要修改全域性變數

函式呼叫的本質:

函式本質就是乙個物件

棧(stack):先進後出,後進先出

堆(heap)

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

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

引用傳遞和值傳遞

引用傳遞:傳遞的本質是位址,是物件、是引用

值傳遞:本質就是值

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

在python中,可以將函式當成引數,傳遞到另外乙個函式中

函式引數:

預設值引數:

就是說,如果函式的引數,在大多數情況下,值是固定的乙個值,此時可以使用預設值引數。這個時候,如果不傳該引數,值就取預設的,如果傳遞了,則按照傳遞的算。

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

可變引數:

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

引數名稱(習慣性args)

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

函式遞迴:

有兩個條件:

1、函式自身呼叫自身

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

棧空間溢位:

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

import sys

# 獲取遞迴限制次數

sys.getrecursionlimit()

# 重新設定遞迴限制次數

sys.setrecursionlimit(10000)

Python函式入門和使用

函式是帶名字的 塊,用於完成具體的工作。要執行函式定義的特定任務,可呼叫該函式。需要在程式中多次執行同一項任務時,你無需反覆編寫完成該任務的 而只需呼叫執行該任務的函式,讓python執行其中的 1 定義函式 1 定義乙個函式具有以下的規則 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於...

python函式入門和使用

什麼是函式 函式就是過程 在python中函式定義過程 def 函式名 括號中可寫引數,也可不寫 函式本體 return 返回值 可寫可不寫,根據具體情況 函式分類 是否存在返回值 有返回值的函式 可以通過return關鍵字返回所定義返回值,也可將函式本身定義為返回值,便可實 現迴圈效果,直到遇到返...

python函式入門和使用

使用return關鍵字返回結果 函式遇到return關鍵字,則立刻返回引數的個數,根據情況任意 引數的型別,是任意型別由官方定義的函式 print input type需要安裝這些模組,才能使用 pip install 模組名稱 pip python install package 我們寫的函式 注...