- 什麼是函式?
- 為什麼要用函式?
- 函式的分類:內建函式與自定義函式
- 如何自定義函式
- 語法
- 定義有引數函式,及有參函式的應用場景
- 定義無引數函式,及無參函式的應用場景
- 定義空函式,及空函式的應用場景
- 呼叫函式
- 如何呼叫函式
- 函式的返回值
- 函式引數的應用:形參和實參,位置形參,位置實參,關鍵字實參,預設形參,*args,**kwargs
- 高階函式(函式物件)
- 函式巢狀
- 作用域與命名空間
- 裝飾器
- 迭代器與生成器及協程函式
- 三元運算,列表解析、生成器表示式
- 函式的遞迴呼叫
- 內建函式
- 面向過程程式設計與函式式程式設計
如果現在有乙個需求需要實現使用者登入註冊的功能,我們該怎麼實現呢?
# 註冊
username = input('username: ').strip()
pwd = input('password: ').strip()
with open('38a.txt', 'a', encoding='utf8') as fa:
fa.write(f":\n")
fa.flush()
# 登入
inp_username = input('username: ').strip()
inp_pwd = input('password: ').strip()
with open('38a.txt', 'rt', encoding='utf8') as fr:
for user_info in fr:
user_info = user_info.strip('\n')
user_info_list = user_info.split(':')
if inp_username == user_info_list[0] and inp_pwd == user_info_list[1]:
print('login successful')
break
else:
print('failed')
假設現在你是下水道工,如果你事先準備好你的工具箱,等你接到修理下水道的工作的時候,你直接把你的工具箱拿過去直接使用就行了,而不需要臨時準備錘子啥的。
在程式中,函式就是具備某一功能的工具,事先將工具準備好就是函式的定義,遇到應用場景拿來就用就是函式的呼叫,所以需要注意的是:
如果不使用函式,寫程式時將會遇到這三個問題:
先定義函式,後呼叫。
def 函式名(param1、param2……):
"""函式功能的描述資訊
:param1:描述
:param2:描述
:return:返回值
"""code 1
code 2
code 3
...return 返回值
函式名(param1、param2……)
# 註冊功能函式
def register():
"""註冊功能"""
username = input('username: ').strip()
pwd = input('password: ').strip()
with open('38a.txt', 'a', encoding='utf8') as fa:
fa.write(f":\n")
fa.flush()
register()
# 復用
register()
register()
# 登入功能函式
def login():
"""登入功能"""
inp_username = input('username: ').strip()
inp_pwd = input('password: ').strip()
with open('38a.txt', 'rt', encoding='utf8') as fr:
for user_info in fr:
user_info = user_info.strip('\n')
user_info_list = user_info.split(':')
if inp_username == user_info_list[0] and inp_pwd == user_info_list[1]:
print('login successful')
break
else:
print('failed')
login()
def func():
bar() # 不屬於語法錯誤,不會報錯
print('*'*10)
def bar():
print('from bar')
def foo():
print('from foo')
bar()
foo()
'''from foo
from bar
'''
def foo():
print('from foo')
bar()
def bar():
print('from bar')
foo()
'''from foo
from bar
'''
函式定義(對函式定義的使用)函式呼叫
對於函式呼叫,首先我們一定先要理解函式定義 函式定義 1.返回值型別 乙個函式可以返回乙個值,在函式定義中 2.函式名 給函式起個名稱 3.函式體語句 花括號內的 函式內需要執行的語句 4.return 表示式 和返回值型別掛鉤,返回相應的資料 語法 返回值型別 函式名 引數列表 例如我們來寫乙個加...
函式的定義
1.函式的一般形式 定義乙個函式需要以下規則 任何傳入引數和自變數必須放在圓括號中間,圓括號中間可以用於自定義引數。函式的第一行語句可以選擇性的使用文件字串 用於存放函式說明 函式內容以冒號起始,並且縮排 return 表示式 表示函式結束,不帶表示式的return,返回none 建立乙個函式 de...
函式的定義
定義原則def addnum num1,num2 函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。實現兩個數字的相加,num1,num2叫做形參 param num1 int,float param num2 int,float return 函式內容以冒號起始,並且縮排。total n...