python自定义函数的规则

  • Post category:Python

Python自定义函数的规则包括以下几个方面:

定义函数的语法

定义函数需要使用def关键字,并在括号中列出函数的参数,然后在冒号后面缩进写代码块。函数的返回值可以通过return语句指定,如果没有指定则默认返回None

def function_name(parameter1, parameter2):
    # function body
    return value

参数传递

函数参数可以分为两种类型:形参(parameter)和实参(argument)。形参是在函数定义时列出的参数,实参是在函数调用时传递给函数的值。

在函数中,可以使用默认参数(默认值在函数定义时指定)和可变参数(指定一个可变数量的参数)。

示例代码:

def say_hello(name="Stranger"):
    print("Hello, " + name + "!")

say_hello("Lucy") # output: "Hello, Lucy!"
say_hello() # output: "Hello, Stranger!"

可变参数使用*表示,例如:

def my_sum(*numbers):
    result = 0
    for n in numbers:
        result += n
    return result

print(my_sum(1, 2, 3)) # output: 6
print(my_sum(1, 2, 3, 4, 5)) # output: 15

局部变量和全局变量

在函数内部定义的变量是局部变量,只能在函数内部使用。在函数外部定义的变量是全局变量,可以在函数内部和外部使用。

示例代码:

global_variable = 1

def func():
    local_variable = 2
    global global_variable

    global_variable = 3
    print(local_variable)

func()
print(global_variable) # output: 3

Lambda函数

Lambda函数是匿名函数,常常用于编写简短的代码块。Lambda函数由lambda关键字指定,并在冒号后面跟随函数主体。

示例代码:

add = lambda x, y: x + y
print(add(2, 3)) # output: 5

函数式编程

Python支持函数式编程,比如map()filter()等函数可以对序列进行转换和过滤。

示例代码:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x*x, numbers))
print(squared) # output: [1, 4, 9, 16, 25]
even = list(filter(lambda x: x%2==0, numbers))
print(even) # output: [2, 4]

最后提醒一下,Python对缩进有严格要求,函数的代码块必须要有缩进,不然会出现语法错误。