python---高度な機能

高度な機能

1.8 高度な機能

1.8.1 関数がパラメータとして渡される

1.はじめに:関数は操作のために関数に範囲として渡されます

2. 関数はパラメータとして関数に渡されます

3. 関数呼び出しとロジック受け渡しの違い

  • 1 つはデータとして渡されますが、呼び出される関数は
  • 1つはロジックとして呼び出されますが、呼び出されるデータは

4. 参照コード

# 函数传入函数

# 定义一个函数,接收另一个函数作为传入参数
def test_func(com):
    result=com(1,2)
    print(f"com计算的结果为:{result}")
    print(f"计算类型为,{type(com)}")

# 定义一个函数作为准备进行传入另外一个函数中
# a+b的函数
def add(a,b):
    return a+b;
# a-b的函数
def rem(a,b):
    return a-b;
# 调用,传入函数
test_func(add)
test_func(rem)

このとき、機能は固定されませんが、内部データは固定される可能性があります。渡される値は関数の名前です

1.8.2 ラムダ無名関数

  • def によって最初に定義された関数には名前があります
  • ラムダで定義された関数は名前を持たないことができます

1. ラムダ関数の定義方法

3. 関数を無名関数として定義する

  • 一時的に1回のみ使用できます。名前がないから
  • def は名前で繰り返し使用できます

利点:

  • 簡潔
  • 便利

# lambda函数
def test_func(add):
    result=add(1,2)
    print(f"add的结果为,{result}")

# 采用匿名函数的方式定义add函数
# 前面是参数的定义,后面的是对应的函数的定义,注意点的点在于计算的逻辑必须是一行的
test_func(lambda x,y:x+y)

まとめ

1.8.3 関数の複数の戻り値

  • 複数のカンマで区切って、複数のパラメータを受け取ります

1. 基本文法

2.ケース

# 函数的多返回值
# 逗号分开
def func(a,b):
    return a+b,a-b,a*b,a/b
a,b,c,d=func(1,2)
print(a)
print(b)
print(c)
print(d)


1.8.4 パラメータを関数に渡す複数の方法

1. 位置パラメータ

  • パラメータの位置に応じてパラメータの値を渡すというもので、関数の最も基本的な使い方です。

2. キーワード引数

  • 場所による制限はできません
  • キーと値のペアの形式でパラメーターを渡す
  • 最後の場所にある必要があります。
  • 指定されていないパラメータについては、任意に指定できます

# 参数的传递的方式
def func(name,age ,gender):
    print(f"{name},今年,{age},岁,性别,{gender}")

# 默认的方式
func("小米",20,"男")

# 关键字参数
# 不受到顺序的限制
func(age=20,gender="男",name="小米")

# 关键字和默认的混用
func("小米",20,"男")

# 设置函数的默认值
def func(name,age ,gender="男"):
    print(f"{name},今年,{age},岁,性别,{gender}")

4.可変長パラメータ

  • デフォルトはタプルの形式です

# 位置的不定长
# 采用的是元组的不定长的形式
def test(*args):
    print("位置不定长的参数:",end='')
    print(args)
    print(f"类型是,{type(args)}")
test(1,2,3,4)

#关键字的不定长
# 采用的是字典的不定长的传入的形式

def testx(**x):
    print("位置不定长的参数:",end='')
    print(f"类型是,{type(x)}")
    print(x)
testx(id=1,name='张三',age=12,sex='男')

まとめ:

 

おすすめ

転載: blog.csdn.net/weixin_41957626/article/details/129781847