A function
调用函数时执行的代码块。一个函数不包含或包含多个语句。但一般来说,多个语句被放入一个函数中。这些语句在函数调用后的一行中执行。函数应该在Python中显式调用。有不同类型的函数,应该根据它们的类型、参数和需求来调用。在函数调用过程中,一些数据可以传递到函数中。函数可以返回一些数据,也可以不返回。
创建函数
可以使用关键字创建函数 def
在Python中。然后可以根据情况提供函数的名称和参数。下面是创建函数的通用语法。
def FUNCTION_NAME(PARAMETERS): FUNCTION_BODY RETURN
- 函数名称 将用于从代码的其他部分调用函数的函数的名称。
- 参数 调用函数时提供给函数的单个或多个参数。参数是可选的。
- 函数u体 将在函数的每次调用中执行的函数体代码。
- RETURN是可选的,函数可以将一些数据、值或变量数据返回给调用者。
调用没有参数的函数
首先,我们将创建一个没有任何参数的函数,该函数只执行其主体代码。在下面的示例中,没有返回值。函数将命名为 说() 只是简单的打印 “你好,侏儒” 到标准输出。我们就打电话给 说() 执行此功能。
def say(): print("Hello PythonTect")say()
我们也可以从其他模块调用函数,但首先我们将导入此模块并引用此模块名称。
用参数调用函数
使用参数使函数非常强大,相同的函数可以用于不同的情况。参数是可选的,但可以通过在括号内的函数名之后添加到函数定义中来轻松使用。我们可以用不同的参数多次调用这个函数,结果也会不同。在下面的示例中,我们创建了一个名为say()的函数,并添加了参数文本,该文本将使用print()方法打印到标准输出中。调用say(text)函数时,将调用text参数。
def say(text): print(text)say("Hello PythonTect")say("Hello LinuxTect")
函数参数的计数没有限制,可以毫无问题地指定一个或多个参数。在下面的示例中,我们将添加多个参数,如name、age、text。
def say(text, name , age ): print(text+" "+name+". Your age is "+age)say("Hello","PythonTect","1")say("Hi","LinuxTect","1")
使用默认参数调用函数
甚至参数也为函数提供动态行为在某些情况下某些参数可以使用默认值,这意味着不需要在函数的每次调用中指定参数值。
def say(text, name = "PythonTect" , age = "1" ): print(text+" "+name+". Your age is "+age)say("Hello","PythonTect","1")say("Hello","PythonTect")say("Hello")
输出如下。
Hello PythonTect. Your age is 1Hello PythonTect. Your age is 1Hello PythonTect. Your age is 1
用任意参数调用函数
函数可能具有不同数量的参数,在某些情况下,在函数定义期间无法设置参数计数。我们可以使用 * 在参数名之前。此参数将多个值存储为一个列表,可以使用列表索引返回。
def say( *param ): print(param[0]+" "+param[1]+". Your age is "+param[3])say("Hello","PythonTect","1")say("Hi","LinuxTect","1","Test")
或者,artbitrary参数可以用关键字命名,也可以在函数体内部访问。**用于将参数指定为任意关键字参数。Python通常使用**kwargs来命名任意关键字参数。
def say( **param ): print(param["text"]+" "+param["name"]+". Your age is "+param["age"])say(text="Hello",name="PythonTect",age="1")
从函数中获取返回值
函数不仅仅用于执行其主体和完成函数调用。该函数还可以返回不同类型的值,如string、integer、list等。在下面的示例中,该函数返回一个字符串值。返回的值可以设置为变量。
def say(text): return "Hello " + textp = say("PythonTect")l = say("LinuxTect")