python函數的定義

函數的定義

1、函數體系

  • 什麼是函數?
  • 爲何要用函數?
  • 函數的分類:內置函數與自定義函數
  • 如何自定義函數
    • 語法
    • 定義有參數函數,及有參函數的應用場景
    • 定義無參數函數,及無參函數的應用場景
    • 定義空函數,及空函數的應用場景
  • 調用函數
    • 如何調用函數
    • 函數的返回值
    • 函數參數的應用:形參和實參,位置形參,位置實參,關鍵字實參,默認形參,*args,**kwargs
  • 高階函數(函數對象)
  • 函數嵌套
  • 做用域與名稱空間
  • 裝飾器
  • 迭代器與生成器及協程函數
  • 三元運算,列表解析、生成器表達式
  • 函數的遞歸調用
  • 內置函數
  • 面向過程編程與函數式編程

2、什麼是函數

在程序中,函數就是具有某一項功能的工具,事先將工具準備好就是函數的定義。遇到應用場景能夠隨時拿出來 用就是函數的調用。編程

函數更多的是一種思想,他不是一種技術函數式編程

3、爲何用函數

若是不用函數,寫程序的時候就會遇到這三個問題:函數

  1. 程序冗長
  2. 程序的擴展性差
  3. 程序的可讀性差

4、如何用函數

先定義函數,後調用。工具

  • 定義函數code

    def 函數名(param一、param2……):
        """
        函數功能的描述信息
        :param1:描述
        :param2:描述
        :return:返回值
        """
        code 1
        code 2
        code 3
        ...
    
        return 返回值
  • 調用函數協程

函數名(param1,param2)

4.1註冊功能的函數

# 註冊功能的函數
def register():
    """註冊功能"""
    username = input('username:').strip()
    pwd = input('passwoed: ').strip()
    
    with open('59.txt','a',encoding = 'utf-8') as fa:
        fa.write(f"{username}:{pwd}\n")
        fa.flush()
 
#調用
register()

#複用
register()

4.2登錄功能函數

def login():
    inp_name=input('username:').strip()
    inp_pwd=input('usepwd').strip()
    with open('59.txt','rt',encoding='utf-8') as fr:
        for user_info in fr:
            user_info = user_info.strip('\n')
            user_info_list=user_info.split(':')
            if inp_name == user_info_list[0] and pwd == user_info_list[1]:
                print('login successfull')
         else:
            print('failed')
 login()

4.3函數定義階段

只檢測代碼,而不執行函數體代碼對象

==定義階段不執行函數體代碼,只檢測語法錯誤==遞歸

'''
def 函數名():  # 定義階段(造車輪階段)
    """函數註釋寫在這裏"""  # 函數至關於工具, 註釋至關於工具的說明書
    <代碼塊>

# 使用  # 調用階段(開車階段)
函數名()
'''
def func():
    bar()
    print('*'*10)

4.4函數的調用階段

#1
def bar():
    print('from bar')

def foo():
    print('from foo')
    bar()

foo()
'''
from foo
from bar
'''


#2
def foo():
    print('from foo')
    bar()
    
def bar():
    print('from bar')

foo()
'''
from foo
from bar
'''

4.5函數的註釋如何打印

def func():
    """func可以實現一個功能"""
    #通常使用三個雙引號,做爲區分
    pass

print(func.__doc__)   # 記住,打印函數開頭註釋的地方


#輸出:
func可以實現一個功能
相關文章
相關標籤/搜索