파이썬---고급 기능

고급 기능

1.8 고급 기능

1.8.1 함수가 매개변수로 전달됨

1. 소개: 함수는 연산을 위해 함수에 범위로 전달됩니다.

2. 함수는 매개변수로 함수에 전달됩니다.

3. 함수 호출과 로직 전달의 차이점

  • 하나는 데이터로 전달되지만 호출할 함수는
  • 하나는 로직으로 불리지만 호출할 데이터는 반드시

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. 함수를 익명 함수로 정의

  • 일시적으로 한 번만 사용할 수 있습니다. 이름이 없기 때문에
  • 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