什麼是函數:
函數是可以重複執行的語句塊,可以重複調用.
作用:
1.用於封裝可重複執行的語句,提高語句的可重用性
2.定義用戶級別的函數
2. 函數定義語句 def 語句的語法:
1. def 函數名(參數列表):
語句塊(代碼塊)
2. 函數的語法說明:
1.函數的名字就是語句塊的名稱
2.函數的命名規則與變量名命名規則相同(必須爲標識符)
3.函數名是一個變量(不要輕易的對其賦值)
4.函數的自己的命名空間,在函數內部可以訪問外部變量,但外部的語句
不能訪問函數內部的變量
5.函數如果不需要傳入參數,則參數列表可以爲空
6.語句部分不能爲空,如果爲空需要填充pass語句
示例1.
def say_hello(): # 此示例示意用def 語句創建一個函數
print("hello world!")
print('hello tarena!')
print('hello everyone!')
say_hello() # 調用函數,會執行say_hello內的代碼塊
3. 函數調用:函數名(實際調用傳遞參數)
注:
實際調用傳遞參數,以後簡稱"實參"
調用說明:
1.函數調用是一個表達式
2.如果沒有retutn語句,函數執行完畢後返回None對象
3.如果函數需要返回其他對象,需要用到return語句
示例2
# 帶有參數的函數定義
def mymax(a,b):
if a > b:
print("最大值是:",a)
else:
print("最大值是:",b)
# 調用帶有參數的函數,第一個120給行參a,第二個30給b
mymax(120,30)
練習:
1.寫一個函數mysum.此函數帶有兩個參數x,y.此函數功能是打印出 兩個參數x,y的和,即 x + y
def mysum(x,y): print(x+y) mysum(2,7)2. 寫一個函數print_even,傳入一個參數n ,代表終止整數(不包含n)
打印: 2,4,6...n 之間所有的偶數:
函數定義格式如下:
def print_even(n):
...
#測試調用:
print_even(9)
def print_even(n):
for i in range(2,n,2):
print(i)
print_even(9)
3. 函數內部有獨立的運行空間,函數外部不能訪問函數內部的變量.示例:
def test():
x = 100 # 此變量是局部變量,只能在函數內部使用
print(y) # 這是合法的,此函數可以訪問函數以外的全局變量
test() # 調用test
y = 200
print(x) # 此時沒有x這個變量
4. return 語句:語法:
return[表達式]
注: []代表其中的內容可以省略
作用:
用於函數中,結束當前函數的執行,返回調用函數的地方,同時返回一個
對象的引用關係
說明:
1.return語句後跟的表達式可以省略,省略後相當於return None
2. 如果函數內沒有return語句,則函數執行完最後一條語句後返回None(相當於
最後加了一條return None語句)
3.函數調用能返回一個對象的調用
示例:
def hello():
print('hello aaa')
print('hello bbb')
return None # [2, 3, 4, 5] # 用於返回到調用的地方
print('hello ccc')
v = hello()
print('v綁定的是', v)