Python 中带括号和不带括号调用函数


术语“调用函数”指的是递归,这意味着函数调用自身。带括号的函数定义了一些参数,用于处理特定条件和操作,而不带括号的函数指的是函数引用。在 Python 中,我们有两种方法,即函数引用和带参数的函数,它们将用于解决带括号和不带括号的函数调用问题。

语法

以下语法在示例中使用

def function_name():
--------
--------
function_name()

这是带括号函数的表示。

def function_name():
--------
--------
reference = function_name
print("The function reference:", reference)

这是借助引用表示不带括号的函数。

带括号的简单函数调用

以下示例中的程序使用递归函数,并应用 print 语句来显示一些文本。然后使用调用函数返回结果。

示例

# invoke the function without parenthesis
def education():
    print("Welcome To Tutorialspoint")
education()

输出

 Welcome To Tutorialspoint

带参数的函数调用

在下面的示例中,程序使用一个名为 addition() 的递归函数,该函数接受两个参数 x 和 y,用于对两个变量进行加法运算。接下来,使用调用函数传递关于 x 和 y 的两个值,并将它们存储在变量 res 中。最后,它将借助变量 res 打印结果。

示例

def addition(x, y):
    return x + y
res = addition(30, 40)
print("The sum of two numbers: ", res)

输出

 The sum of two numbers:  70

分配不带括号的函数引用

在下面的示例中,程序使用一个名为 Emp() 的函数定义,并应用 print 来显示一些文本。接下来,它将使用函数引用,其中函数 Emp 将其存储在变量 result 中。现在使用调用函数返回输出。

示例

def Emp():
    print("Python Codeground")
# function reference without parenthesis
result = Emp
result() 

输出

 Python Codeground

不带括号的函数返回值

在下面的示例中,程序使用了三个函数,即 add_string()、merge_stng() 和 without_parenthesis()。第二个函数 merge_stng 接受两个参数,用于添加两个字符串。接下来,merge_stng 不带括号地返回结果。merge_stng 的记录将存储在名为 add_string 的函数中。接下来使用另一个函数,即 without_parenthesis(),它使用函数 add_string() 设置 merge_stng 函数的引用,并将其存储在变量 res 中。现在它将打印引用及其执行。最后,我们调用名为 without_parenthesis() 的函数以获取结果。

示例

def add_string():
	def merge_stng(str1, str2):
		return str1 + str2
# return the function without parenthesis	
	return merge_stng
def without_parenthesis():
	# return the reference of merge_string function
	res = add_string()
	# prints the reference
	print(res) 
	# executes the reference
	print(res('Welcome', ' to India'))
without_parenthesis()

输出

<function add_string.<locals>.merge_stng at 0x7f176a50b910>
Welcome to India

结论

我们讨论了四种不同的方法来处理 Python 中带括号和不带括号的函数调用。没有使用任何内置函数来执行这些任务。函数调用是一种很棒的技术,可以缩短代码长度并利用迭代。

更新于:2023年8月14日

351 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告