python 函式,傳參,呼叫

2021-10-07 15:42:02 字數 3963 閱讀 6135

# # 簡單函式介紹: 定義  形參 實參 傳參的4中方式  呼叫  return

# #1.函式定義 . python中函式必須先定義,再使用. 寫乙個函式前要空兩行,寫完後再空兩行.pycharm書寫

# # def 函式名(引數):

# # **1

# # **2

## #2.函式呼叫

# # 函式名(引數)

## #舉例:使用函式完成 1+2

# #定義函式

# def add():

# result = 1 + 2

# print(result)

## #函式呼叫.

# add()##

#3. 傳參. 例子需要函式接收使用者指定的數字.

# 函式呼叫的時候指定的數字+ 定義

#函式時接收的數字就是函式的引數.在定義函式時,定義接收使用者輸入的形式上的引數, 形參.在呼叫函式時,傳入真實的資料給形參. 真實資料就是實參

#舉例: 完成使用者指定的兩個數的和.

#定義函式.有形參

def add1(a, b):

#函式內部完成的操作

res = a + b

print(res)

#函式呼叫,並且傳入實參

add1(12, 56)

#3.1 傳參方式一: 位置引數.順序傳入

def student(name, age, ***, hobby,): #形參

print("名字:", name, "年齡:", age, "性別:", ***, "愛好:", hobby) #print函式中 sep預設空格,開分割多個物件

student("張三", 18, "男", "打球") #實參

#3.2關鍵字引數. (1)關鍵字引數不需要關心傳入引數的順序 (2)位置引數和關鍵字引數同時有,位置引數必須寫在前面

##書寫: 選擇其中一種,最好不要混寫.

def student2(name, age, ***, hobby,): #形參

print("名字:", name, "年齡:", age, "性別:", ***, "愛好:", hobby) #print函式中 sep預設空格,開分割多個物件

student2(name="張三",***="男", age=18, hobby="打球") #關鍵字引數順序可以和形參不同

#3.3預設引數. 在定義引數時,就為引數提供了預設值.

#(1)如果呼叫函式時,沒有傳入這個引數的值,那麼就使用這個引數的預設值

#(2)預設引數必須寫在最後

def student3(name, ***, hobby, age=18): #預設引數放在最後.

print("名字:", name, "年齡:", age, "性別:", ***, "愛好:", hobby)

student3("張三", "男", "打球")

#3.4 不定長引數.可變引數

#不能確定會傳入幾個引數.

#約定寫法. 當包裹位置引數傳遞時,寫為 *args

def student4(*args):

print(args)

#傳入的引數被args收集,將傳進的引數合併為乙個元組. args是乙個元組型別

student4("張三", 18, "男", "打球") #('張三', 18, '男', '打球') 列印結果是元組

# 當包裹關鍵字傳遞時,寫為: **kwargs.

def student6(**kwargs):

print(kwargs)

#關鍵字傳遞. kwargs是乙個字典.

student6(name="張三",***="男", age=18, hobby="打球") #

## #4.函式的返回值return. 本處可以是變數名,表示式,str等

# # .函式內部操作完成後,有乙個值res,函式操作只是列印這個值.如果想要使用這個值,就需要函式返回乙個值.return

# #不帶return的函式,返回值是none

# def add2(a, b):

# # 函式說明文件, 在函式內部,寫入一行注釋,

# "計算兩個數的加法"

# #函式內部完成的操作

# res = a + b

# return res

# #將值return完後.使用時有兩種方法:

# # 用乙個變數來接收return值.

# res2 = add2(12.4, 56) #順序: 先呼叫函式,然後吧return值賦值給res2 . 如果函式中沒有return值,會報錯

# print(res2)

# #用的時候直接呼叫傳參

# print("加法等於", add2(12.4, 56)) #本處也是先呼叫add方法

## #4.1 當乙個函式中有兩個return時.return相當於退出當前函式,導致return之後的**不會執行

# def add5(a, b):

# return a + b

# return a ** b #本行不會執行.

## #4.2當乙個函式需要有多個返回值時, return a, b.當return返回多個值時,預設是元組型別.

# #return 後面可以是int,str,字典,list,tuple.返回多個值##

# def test6():

# return 1, "好的", [12, 4]##

# print(test6()) #(1, '好的', [12, 4]) 預設元組型別

# #5.函式說明文件, 在函式內部,寫入一行注釋,在檢視函式說明文件時,使用 help(函式名)

# help(add2)

# #結果

# # help on function add2 in module __main__:

# ## # add2(a, b)

# # 計算兩個數的加法##

# #6.函式的巢狀呼叫: 乙個函式裡面呼叫了另乙個函式.

# #執行順序: 如果函式a中巢狀了函式b, 呼叫函式a時,先執行a的**.遇到a中巢狀的b時,執行b,b執行完成後再回到函式a執行的位置.##

# #舉例:列印直角三角形.5行

# #分析:迴圈巢狀. 內層迴圈每行*數, 外層迴圈行數+ 換行##

# def start_print():

# "列印乙個邊長為5的直角三角形"

# hang = 1

# while hang < 6:

# # 先寫子迴圈.迴圈變數

# start = 1

# while start <= hang:

# print("*", end="")

# # 迴圈變數發生變化

# start = start + 1

# print("\n", end="")

# hang = hang + 1##

# help(start_print) #檢視本函式的功能

# start_print() #函式呼叫

## #舉例:計算三個數的和##

# def sum2():

# #函式說明

# "使用者輸入3個數,並計算三個數的和"

# a = int(input("請輸入第1個數"))

# b = int(input("請輸入第2個數"))

# c = int(input("請輸入第3個數"))

# return a + b + c

## #函式呼叫.

# print("三個數的和是", sum2())

#舉例:計算三個數的平均值

QT呼叫python檔案(呼叫函式傳參)

pro檔案中 includepath i e miniconda3 include libs le miniconda3 libs lpython37 include define slots q slots include int main int argc,char ar 設定python檔案路...

Python 函式之函式定義 呼叫 傳參

函式是組織好的,可以被重複使用的,用來實現單一或相關功能的 塊。任何程式語言都提供了很多內嵌函式,同時還允許使用者自己定義想要的函式。本節主要講自定義函式。1 定義函式的規則 2 定義函式語法 語法 def functionname parameters 函式文件字串 即函式說明 function ...

python 函式傳參 傳參和傳引用

首先還是應該科普下函式引數傳遞機制,傳值和傳引用是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在...