🌌 專注Golang,Python語言,云原生,人工智能領域得博主;
💜 過去經歷的意義在于引導你,而非定義你;
📢 歡迎點贊 👍 收藏 ?留言!

前言
- 函式的定義和呼叫
- 函式的檔案說明
- 帶引數的函式
- 區域變數
- 全域變數
- 函式的回傳值
- 函式回傳多個資料值
- 函式嵌套呼叫
- 呼叫
- 函式的應用1
- 函式的應用2
函式的定義和呼叫
# 函式,能夠實作一個具體的功能, 是多行代碼的整合
# 函式的定義: 使用關鍵字 def ,
# def 函式名(): # 函式名要遵循識別符號的規則, 見名知意
# 函式代碼(函式體)
# 函式定義,函式中的代碼不會執行,在函式呼叫的時候,才會執行
# 函式的好處: 重復的代碼不需要多次書寫, 減少代碼冗余
print('函式定義前')
# 函式的定義, 函式的定義不會執行函式中算的代碼
def func():
print('好好學習,天天向上')
print('good good study, day day up')
print('授課認真聽講,不要走神')
print('函式定義后')
# 函式呼叫的時候才會執行函式中的代碼 函式名()
print('函式呼叫前')
func() # 代碼會跳轉到函式定義的地方去執行
print('函式呼叫后')
func()
func()
函式的檔案說明
# 函式的檔案說明本質就是注釋,告訴別人,這個函式怎么使用的,是干什么事的
# 只不過這個注釋,有特定的位置書寫要求,要寫在函式名字的下方
def func():
"""
列印輸出一個hello world,
"""
# aaa
print('hello wold')
func()
# 查看函式的檔案注釋可以使用help(函式名)
# help(print)
help(func)
帶引數的函式
# 定義一個函式,實作兩個數的和
def add(a, b): # a 和 b 稱為是形式引數, 簡稱形參,
# a = 10
# b = 20
c = a + b
print(f"求和的結果是{c}")
# 函式呼叫, 如果函式在定義的時候有形參,那么在函式呼叫的時候,必須傳遞引數值
# 這個引數稱為 實際引數,簡稱實參
# 在函式呼叫的時候,會將實參的值傳遞給形參
add(1, 2)
add(100, 200)
區域變數
# 區域變數, 就是在函式內部定義的變數,就是區域變數
# 區域變數,只能在函式內部使用,不能在函式外部和其他函式中使用
def func():
# 定義區域變數 num
num = 100
print(num)
def func1():
num = 200 # 這個num 和 func中的num 是沒有關系的
print(num)
# 函式呼叫
func()
func1()
# 探究:區域變數能否在函式外部使用
# print(num) # 代碼報錯,區域變數不能在函式外部訪問
全域變數
# 全域變數: 就是在函式外部定義的變數,
# 定義全域變數
g_num = 100
# 1. 能否在函式內部訪問全域變數? ====> 可以直接訪問全域變數的值
def func1():
print(g_num)
# 2. 能否在函式內部修改全域變數的值? ===> 不能直接修改全域變數的值
def func2():
# g_num = 200 # 這里不是修改全域變數的值,是定義一個區域變數,和全域變數的名字一樣而已
# 想要在函式內部修改全域變數的值,需要使用 global 關鍵字宣告這個變數為全域變數
global g_num
g_num = 300
func1()
func2()
func1()
函式的回傳值
# 函式想要回傳一個資料值,給呼叫的地方,需要使用關鍵字 return
# return 關鍵字的作用: ①, 將return 后邊的資料值進行回傳 ②,程式代碼遇到return, 會終止(結束)執行
# 注意點: return 關鍵字必須寫在函式中
def add(a, b):
c = a + b
# 想要將求和的結果 c, 回傳,即函式外部使用求和的結果, 不在函式內部列印結果
return c
print(f'求和的結果是{c}') # 函式遇到return就結束了,不會執行return之后的代碼
result = add(100, 200)
print(f'函式外部獲得了求和的結果{result}')
print(add(10, 30))
函式回傳多個資料值
def func(a, b):
c = a + b
d = a - b
# 需求: 想要將 c 和 d 都進行回傳
# 思考: 容器可以保存多個資料值, 那就可以將 c 和 d 放到容器中進行回傳
# return [c, d]
# return (c, d)
# return {'c': c, 'd': d}
# return {0: c, 1: d}
return c, d # 默認是組成元組進行回傳的
result = func(10, 20)
print(f"a+b的結果是{result[0]}, a-b的結果是{result[1]}")
函式嵌套呼叫
def func1():
print('func1 start ... ')
print('函式的其他代碼')
print('func1 end ...')
def func2():
print('func2 start ....')
func1() # 函式呼叫
print('func2 end....')
# 呼叫func1()
# func1()
# 呼叫func2()
func2()
呼叫
def func1(a):
print('func1 start ... ')
print('函式的其他代碼', a)
print('func1 end ...')
def func2(a):
print('func2 start ....')
a = a * a
func1(a) # 函式呼叫
print('func2 end....')
# 呼叫func1()
# func1()
# 呼叫func2()
func2(10)
函式的應用1
def func1(a):
print('func1 start ... ')
print('函式的其他代碼', a)
print('func1 end ...')
def func2(a):
print('func2 start ....')
a = a * a
func1(a) # 函式呼叫
print('func2 end....')
# 呼叫func1()
# func1()
# 呼叫func2()
func2(10)
函式的應用2
def my_sum(a, b, c):
return a + b + c
def average(a, b, c):
res = my_sum(a, b, c)
return res / 3 # / 除法運算得到的資料是float型別
result = my_sum(1, 2, 3)
print(result) # 6
result = average(1, 2, 3)
print(result) # 2.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328008.html
標籤:python
