Python學習之路:函數

函數:降低編程難度和代碼複用

一:函數的定義

函數是一段代碼的表示

def <函數名>(<參數(零個或多個)>):
    <函數體>
    return <返回值>
#計算 X!
def function(x):		#定義一個函數 function()
    s = 1
    for i in range(1,x + 1):		#for循環計算階乘
        s *= i
    return s
a = function(10)		#輸入實參,調用函數
print(a)

在這裏插入圖片描述

函數定義時,1、指定的參數是一種佔位符。

​ 2、參數是輸入,函數體是處理,結果是輸出(IPO程序設計式)。

函數定義後,不調用不執行。

二:參數

1、參數個數:函數可以有參數,也可以沒有,但必須保留括號。

2、可選參數傳遞:函數定義時可以爲某些參數指定默認值,構成可選參數。

def <函數名>(<非可選參數>, <可選參數>):
	<函數體>
	return <返回值>
#計算階乘併除以某個數
def function(x,y = 1):		#定義一個函數 function(),y爲可選參數
    s = 1
    for i in range(1,x + 1):		#for循環計算階乘
        s *= i
    return s//y
a = function(10, 5)		#輸入實參,調用函數
print(a)

在這裏插入圖片描述
3、可變參數傳遞:函數定義時可以設計可變數量參數,既不確定參數的總數量

def <函數名>(<參數>, *b ):
	<函數體>
	return <返回值>
#計算n!乘數
def function(n, *b):        #*b可變參數
    s = 1
    for i in range(1, n+1):
        s *= i
    for item in b:
        s *= item       #把所有的參數都遍歷一遍
    return s
print(function(10, 5))
print(function(10, 3, 5, 8))

在這裏插入圖片描述
4、參數傳遞的兩種方式:函數調用時,參數可以按照位置或名稱方式傳遞。

#計算階乘併除以某個數
def function(x,y = 1):		
    s = 1
    for i in range(1,x + 1):		
        s *= i
    return s//y
a = function(10, 5)		#參數按照位置方式傳遞
print(a)
b = function(y = 5, x = 10)		#參數按照名稱方式傳遞
print(b)

在這裏插入圖片描述

三:函數的返回值

1、函數的返回值:函數可以有返回值,也可以沒有,可以有return,也可以沒有;return可以傳遞0個返回值,也可以傳遞任意多個返回值。

def function(n, m=1):
    s = 1
    for i in range(1, n + 1):
        s *= i
    return s//m, n, m
a, b, c = function(10, 5)
print(a, b, c)      
print(function(10,5))       #返回元組類型

在這裏插入圖片描述

四:局部變量和全局變量

1、局部變量和全局變量是不同變量

局部變量是函數內部的佔位符,與全局變量可能重名但不同

函數運算結束後,局部變量被釋放

可以使用global保留字在函數內部使用全局變量

2、局部變量爲組合數據類型且未創建,等同於全局變量

3、使用規則

基本數據類型,無論是否重名,局部變量與全局變量不同

可以通過global保留字在函數內部聲明全局變量

組合數據類型,如果局部變量未真實創建,則是全局變量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章