Python中的def
关键字是用于定义函数的,函数是一段组织好的、可重复使用的、用来实现单一功能的代码,Python通过def
关键字来创建函数,后面跟着函数名和圆括号()
,任何传入参数和自变量都必须放在圆括号中间,圆括号之间可以用于定义参数,函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
基础语法
在Python中,定义函数的基础语法如下:
def function_name( parameters ): """docstring""" statement(s)
def
关键字用来声明一个函数。
function_name
是你想要给这个函数取的名字。
parameters
是函数的输入,也就是我们常说的形参。
:
表示函数体的开始。
"""docstring"""
是对函数的描述,这是一个良好的编程习惯。
statement(s)
是函数体,即函数要执行的任务。
函数参数
函数可以接受任意数量的参数,这些参数是在函数调用时传递给函数的,有两种类型的参数:
1、必需参数:必需参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。
2、关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
3、默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。
4、不定长参数:你可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,和上述2种参数不同,可以接收任意多个参数,包括0个参数。
返回值
函数可以有返回值,也可以没有,return语句用于结束函数,并选择性地返回一个值给调用程序,不带表达式的return相当于返回None
。
def greet(name): """This function greets to the person passed in as parameter""" print("Hello", name) greet('Pythonist') It will print: Hello Pythonist
相关问题与解答
Q1: Python函数可以没有参数吗?
A1: 是的,Python函数可以没有参数。
def say_hello(): print("Hello!") say_hello() It will print: Hello!
Q2: 如何设置函数的默认参数?
A2: 可以在函数定义时为参数提供一个默认值,这样在调用函数时如果不提供这个参数的值,就会使用默认值。
def greet(name="World"): print("Hello", name) greet() It will print: Hello World greet('Pythonist') It will print: Hello Pythonist
Q3: 函数的返回值是什么?
A3: 函数的返回值是通过return语句返回的结果,如果函数没有return语句或者return后面没有跟任何值,那么这个函数的返回值就是None
。
def add(a, b): return a + b result = add(1, 2) print(result) It will print: 3
Q4: 什么是关键字参数?
A4: 关键字参数是在函数调用时,明确指定参数名字的参数,这在你不确定参数的顺序,或者想要省略某些参数时非常有用。
def person_info(name, age): print("Name: ", name) print("Age: ", age) person_info(age=25, name="John") It will print: Name: John, Age: 25
评论(0)