Python入门教程(十九)python的函数详解

张开发
2026/4/19 23:52:07 15 分钟阅读

分享文章

Python入门教程(十九)python的函数详解
函数是一种仅在调用时运行的代码块。可以将数据称为参数传递到函数中。函数可以把数据作为结果返回。创建函数在 Python 中使用 def 关键字定义函数实例12defmy_function():print(Hello from a function)调用函数如需调用函数请使用函数名称后跟括号实例1234defmy_function():print(Hello from a function)my_function()运行实例1Hellofroma function参数信息可以作为参数传递给函数。参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数只需用逗号分隔即可。下面的例子有一个带参数fname的函数。当调用此函数时我们传递一个名字在函数内部使用它来打印全名实例123456defmy_function(fname):print(fname Gates)my_function(Bill)my_function(Steve)my_function(Elon)运行实例123Rory John GatesJennifer Katharine GatesPhoebe Adele Gates默认参数值下面的例子展示如何使用默认参数值。如果我们调用了不带参数的函数则使用默认值实例1234567defmy_function(countryChina):print(I am from country)my_function(Sweden)my_function(India)my_function()my_function(Brazil)运行实例I am from Sweden I am from India I am from China I am from Brazil以 List 传参您发送到函数的参数可以是任何数据类型字符串、数字、列表、字典等并且在函数内其将被视为相同数据类型。例如如果您将 List 作为参数发送它到达函数时仍将是 List列表实例1234567defmy_function(food):forxinfood:print(x)fruits[apple,banana,cherry]my_function(fruits)运行实例apple banana cherry返回值如需使函数返回值请使用 return 语句实例123456defmy_function(x):return5*xprint(my_function(3))print(my_function(5))print(my_function(9))运行实例15 25 45关键字参数您还可以使用 key value 语法发送参数。参数的顺序无关紧要。实例1234defmy_function(child3, child2, child1):print(The youngest child is child3)my_function(child1Phoebe, child2Jennifer, child3Rory)运行实例The youngest child is Rory在 Python 文档中“关键字参数”一词通常简称为 kwargs。任意参数如果您不知道将传递给您的函数多少个参数请在函数定义的参数名称前添加 *。这样函数将接收一个参数元组并可以相应地访问各项实例如果参数数目未知请在参数名称前添加 *1234defmy_function(*kids):print(The youngest child is kids[2])my_function(Phoebe,Jennifer,Rory)运行实例The youngest child is Rorypass 语句函数定义不能为空但是如果您出于某种原因写了无内容的函数定义请使用 pass 语句来避免错误。实例12defmyfunction:pass递归Python 也接受函数递归这意味着定义的函数能够调用自身。递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。开发人员应该非常小心递归因为它可以很容易地编写一个永不终止的或者使用过量内存或处理器能力的函数。但是在被正确编写后递归可能是一种非常有效且数学上优雅的编程方法。在这个例子中tri_recursion() 是我们定义为调用自身 (“recurse”) 的函数。我们使用 k 变量作为数据每次递归时递减-1。当条件不大于 0 时比如当它为 0 时递归结束。对于新的开发人员来说可能需要一些时间来搞清楚其工作原理最好的方法是测试并修改它。实例递归的例子12345678910deftri_recursion(k):if(k0):resultktri_recursion(k-1)print(result)else:result0returnresultprint(\n\nRecursion Example Results)tri_recursion(6)运行实例Recursion Example Results 1 3 6 10 15 21到此这篇关于Python入门教程(十九)python的函数详解的文章就介绍到这了

更多文章