正如我们所知,函数是用于在编程中执行某些特定任务的语句块。这也有助于将大量代码分解成更小的块或模块。函数可以在任何地方被调用,也可以在程序中被调用多少次。它允许我们通过简单地调用程序中的特定函数或块来重用代码。因此,它避免了相同代码的重复。我们可以在类、模块、嵌套函数等内部定义函数。
函数的特征
以下是 Python 函数的特性:
- 它用于避免代码重复。
- 使用函数,我们可以将一组代码分成更小的模块。
- 它有助于隐藏代码和创建清晰的理解模块。
- 它允许代码可重用,从而节省内存。
- 函数内部编写的语句只能用函数名执行。
- Python 函数以
def
开头,然后是冒号(:
)后跟函数名。
定义函数的规则
- 在 Python 函数中使用
def
关键字来声明和定义函数。 - 函数名必须以下列标识符开头,如: a-z、A-Z 和下划线(
_
)。 - 每个函数必须跟在冒号(
:
)之后,然后缩进才能编写程序。 - 在 Python 函数中,保留字不能用作函数名或标识符。
- 在 Python 中,函数参数可以为空或多个。
用 Python 创建一个函数
要创建一个函数,我们需要使用 def
关键字在 Python 中声明或编写一个函数。以下是创建函数的语法:
语法
def function_name(): # 使用 def 关键字定义函数
Statement to be executed
return statement # 返回一个值
让我们用 Python 创建一个函数程序。 Myfun.py
def myFun(): # 定义函数名
print(" Welcome to JavaTpoint")
myFun() # 调用函数以打印语句
输出:
Welcome to JavaTpoint
Python 中的函数调用
一旦在 Python 中创建了一个函数,我们可以通过编写 function_name()
本身或者另一个函数/嵌套函数来调用它。下面是调用函数的语法。
语法:
def function_name():
Statement1
function_name() # 直接调用函数
# 调用函数使用内置函数
def function_name():
str = function_name('john') # 将函数赋值以调用函数
print(str) # 打印语句
考虑以下示例,使用 Python 中的函数打印欢迎消息。 CallFun.py
def MyFun():
print("Hello World")
print(" Welcome to the JavaTpoint")
MyFun() # 调用函数以打印消息
输出:
Hello World
Welcome to the JavaTpoint
在上面的例子中,我们调用了打印语句的 MyFun()
函数。
在 Python 中调用嵌套函数
当我们在一个函数内部构造另一个函数时,它被称为嵌套函数。我们可以使用 def
关键字创建嵌套函数。创建函数后,我们必须调用外部函数和内部函数来执行语句。让我们创建一个程序来理解嵌套函数的概念以及我们如何调用这些函数。
巢.py
def OutFun(): # 外部函数
print("Hello, it is the outer function")
def InFun(): # 内部函数
print("Hello, It is the inner function")
InFun() # 调用内部函数
OutFun() # 调用外部函数
输出:
Hello, it is the outer function
Hello, it is the inner function
从上面的例子中我们可以看到,InFun()
函数是在 OutFun()
函数内部定义的。要调用的函数,我们首先调用程序中的外部函数。之后 OutFun()
函数将开始执行,然后调用 InFun()
,如上面的输出所示。
注意: 要调用内部函数,必须先调用外部函数。如果不调用外部函数,内部函数将不会被执行。 用 Python 中的嵌套函数打印两个数相乘的程序。 巢_arg.py
def fun1(): # 外部函数
a = 6 # 定义变量
def fun2(b): # 内部函数
a = 4 # 内部变量
print ("Display the sum of inner function", a + b) # 打印内部函数的和
print ("Display the value of outer variable", a) # 打印外部变量的值
fun2(4) # 调用内部函数
输出:
Display the value of outer variable 6
Display the sum of inner function 8
作为一级对象的功能
在 Python 中,函数是一级对象。因为它将视为与对象相同,并且具有与对象相同的属性和方法。可以将函数赋给变量,将它们作为参数传递,将它们存储在数据结构中,并从其他函数返回值。它可以被操纵,比如 Python 中的其他对象。此外,Python 程序中的所有数据都表示在对象或关系中。因此它也被称为 Python 函数的一级公民。
一类函数的性质
- 函数可以分配给变量
- 函数是对象类型的一个例子。
- 我们也可以从函数中返回函数。
- 函数与对象具有相同的属性和方法
- 该函数被视为一个对象,作为参数传递给另一个函数。 创建一个程序,将 Python 函数理解为一个对象。 Obj.py
def MyObject(text): # 传递一个参数
return text.upper()
# 在 print() 函数中调用函数
print (MyObject("Welcome to JavaTpoint"))
str = MyObject # 将函数赋值给变量
# 使用 str 变量调用函数
print (str("Hello, Welcome to JavaTpoint"))
输出:
WELCOME TO JAVATPOINT
HELLO, WELCOME TO JAVATPOINT
编写一个程序来调用类内的函数。 学生.py
class Student:
Roll_no = 101
name = "Johnson"
def show(self):
print(" Roll no. is %d\nName of student is %s" % (self.Roll_no, self.name))
stud = Student() # 创建 Student 类的 stud 对象
stud.show() # 使用 stud 对象调用函数
输出:
Roll no. is 101
Name of student is Johnson