Pythonの基本05-関数と関数型プログラミング

関数および関数型プログラミング

数学の関数はマッピング変換関係を指します。たとえばf(x)=2x+1、Pythonに変換される関数は次のとおりです:

def f(x):
    return x*2 + 1

Pythonの関数は、所定のプロセスとして理解できます。
一般的なプロセスには、入力、処理、出力の3つの部分があります。複数の入力および関数パラメーターがあり、出力は戻り値であり、複数ある場合があります。
プロセスは定義と呼び出しに分けられます。定義は、パラメーター、処理、および戻り値の説明です。呼び出しは、実際のパラメーターで関数を実行し、実際の戻り値を取得することです。

関数の定義と呼び出し

def add(x, y): # 定义函数
    return x+y

print(add(1,3)) # 调用函数

事例:ユーザー登録・ログイン機能

users = {"张三": "123456"}

def reg(username, password):
    if users.get(username): # 如果用户中存在username这个key
        print("用户已存在")
    else:
        users[username] = password # 向users字典中添加元素
        print("添加成功")

def login(username, password)
    if not users.get(username):
        print("用户不存在")
    elif users['username'] == password:
        print("登录成功")
    else:
        print("密码错误")

パラメータと戻り値

  1. この関数はデフォルトでNoneを返します
  2. パラメータは、数値、支払い文字列、リスト、タプルなどのさまざまなオブジェクトをサポートし、関数やクラスにすることもできます
  3. パラメータのデフォルト値:デフォルト値のあるパラメータは、「 `def add(x、y = 1、z = 2):
  4. 可変パラメーター:* argsおよび** kwargs(def func(*args, **kwargs):長さや形式が任意のパラメーターなど)を受け入れることができます。
  5. パラメーターと戻り値の型の注釈(Python3)
def(x:int, y:int) -> int: # x,y为int型,函数返回为int型,只是注释,参数格式非法不会报错
    return x+y

パラメータとして機能

例:デコレーター

def a():
    print("I'm a")
def deco(func):
    print("call from deco")
    func()

deco(a) # 输出"call from deco"并调用a(),输出"I'm a"

関数の入れ子

閉鎖

def a():
    a_var = 1
    def b:() # 嵌套函数
        a_var += 1

関数の再帰

デマンド
ケースが満たされるまで自分に電話します

def factorial(n):
    return 1 if n == 0 or n == 1 else n * factorial(n-1)

おすすめ

転載: www.cnblogs.com/superhin/p/12746376.html