函數基礎-01函數的定義

一丶函數體系

接下來,咱們將按照這個函數體系給你們詳細的介紹函數:python

 * 什麼是函數?
 * 爲何要用函數?
 * 函數的分類:內置函數與自定義函數
 * 如何自定義函數
  1.語法
  2.定義有參數函數,及有參函數的應用場景
  3.定義無參數函數,及無參函數的應用場景
  4.定義空函數,及空函數的應用場景
 * 調用函數
  1.如何調用函數
  2.函數的返回值
  3.函數參數的應用:形參和實參,位置形參,位置實參,關鍵字實參,默認形參,*args,**kwargs編程

 * 高階函數(函數對象)
 * 函數嵌套
 * 做用域與名稱空間
 * 裝飾器
 * 迭代器與生成器及協程函數
 * 三元運算,列表解析、生成器表達式
 * 函數的遞歸調用
 * 內置函數
 * 面向過程編程與函數式編程函數式編程


二丶什麼是函數?

假設如今你是下水道工,若是你事先準備好你的工具箱,等你接到修理下水道的工做的時候,你直接把你的工具箱拿過去直接使用就好了,而不須要臨時準備錘子啥的。函數

在程序中,函數就是具有某一功能的工具,事先將工具準備好就是函數的定義,遇到應用場景拿來就用就是函數的調用.
總結:函數是事先準備好的具有一些功能的工具,能夠很大程度上提升開發者的開發效率.工具


三丶爲何用函數

若是不使用函數,寫程序時將會遇到這三個問題:code

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


四丶如何用函數

先定義函數,後調用。
 * 定義函數對象

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

我的大白話:完整函數體要有def 函數名(參數): 函數註釋 函數體代碼 函數返回值(默認返回None,目前接觸2種形式yield(-->動態返回),return,默認不寫都是 return None 還有就是下面的函數的調用部分!)
 * 調用函數遞歸

函數名(param一、param2……)

我的大白話:在函數名後加()就是調用該函數,實質上上就是執行函數名所指向的存放函數地址的信息ip

4.1註冊功能函數

# 註冊功能函數
def register():
    """註冊功能"""
    username = input('username: ').strip()
    pwd = input('password: ').strip()

    with open('38a.txt', 'a', encoding='utf8') as fa:
        fa.write(f"{username}:{pwd}\n")
        fa.flush()


register()
# 複用
register()
register()

4.2登陸功能函數

# 登陸功能函數
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()

4.3函數定義階段

def func():
    bar()  # 不屬於語法錯誤,不會報錯
    print('*'*10)
  • 重點: 函數定義階段只檢測語法,不執行函數體代碼!!!

    4.4函數調用階段

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
'''

函數名() ---> 調用

相關文章
相關標籤/搜索