1.函式的定義
(1).函式的定義與呼叫
# 定義函式
def say_hello():
print('hello1')
print('hello2')
print('hello3')
# 呼叫函式,函式只有被呼叫了才會有輸出值
示例1:定義求和函式(計算 20 + 30)
(2).函式的巢狀
def fun1():
print('world')
def fun2():
print('hello')
# 呼叫函式2(必須在函式1裡先呼叫函式2)
fun2()
#呼叫函式1
2.函式的四大引數
引數分為:形參 實參
# 形參:定義函式的時候的變數(可以任意起名)
def welcome(a):
print('hello',a)
# 實參:真實的資料資訊,即呼叫函式的時候傳的引數
形參分為: 位置引數 預設引數 可變引數 關鍵字引數
(1)位置引數
形參和實參個數必須保持一致,最好按位置傳參
def getinfo(name,age):
(2).預設引數
形參和實參可以不一致
# 計算x的y次方
def mypow(x,y=2):
print(x ** y)
mypow(4,3) # 4的3次方
mypow(2) # 2的2次方
(3).可變引數
可以接收任意個引數
# 累加運算
def mysum(*args):
# *args:可變引數(也可以簡寫為*a)
# args的資料型別為:元組(tuple)
(4).關鍵字引數
def getstuinfo(name,age,**kwargs):
# **kwargs是乙個字典,可以傳遞任意多的key-value
3.函式的返回值
返回值:函式執行的結果,還需要進一步操作時,給乙個返回值,return用來返回函式執行結果,如果沒有返回值,預設為none
python可以間接返回多個值(返回了乙個元組)一旦遇到return,函式執行結束,後面的**不會執行
def mypow(x,y=2):
return x ** y,x + y
# 不會輸出,因為之前有return
print('hello')
# 將函式的返回值賦值給變數a,b(有幾個函式返回值就用幾個變數接收)
函式返回值的意義在於,便於後續的使用
def mypow(x,y=2):
# print列印函式值,呼叫函式時,只能輸出列印內容,但無法使用變數
print(x ** y)
# 因為無函式返回值,所以此操作為無效操作
4.變數的作用域
區域性變數:在函式內部定義的變數,只在函式內部起作用,函式執行結束,變數會自動刪除
全域性變數:在函式外部定義的變數,能夠被本程式中的所有物件或函式進行引用,全域性變數的定義有利於程式的變數共享,簡化了新增和修改的程式
(1).全域性變數與區域性變數的定義
# 定義全域性變數
a = 1
print('outside:',id(a))
def fun():
# 定義區域性變數
a = 5
print('inside:',id(a))
fun()
print(a,id(a))
(2).將區域性變數宣告為全域性變數
# 定義全域性變數
a = 1
print('outside:',id(a))
def fun():
# 將區域性變數a宣告為全域性變數
global a
# 定義區域性變數
a = 5
print('inside:',id(a))
fun()
print(a,id(a))
python之函式基礎
python 函式 python函式可以返回多值 defadd dif x,y,sum x y dif x y return sum,dif a,b add dif 2,3 print a,b 5 1 r add dif 2,3 print r 5,1 本質來說返回多值的函式其實返回乙個元組tupl...
Python基礎之函式
不同型別的引數的優先順序 在引數列表中的順序 def testfunc1 pass這是乙個最簡單的函式,沒有引數,沒有返回,pass表示該函式沒有做任何操作,testfunc1是函式名,def是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...
python基礎之函式
在任何一門程式語言中,函式都是非常重要的乙個部分,當然python裡也不例外。不過python裡函式也會有一些額外的擴充,比如巢狀函式,閉包和現在很多程式設計 語言都有的lambda表示式。先來看一下python裡正常函式的樣子 a 1def func num print num a 函式裡可以直接...