Python中的Function定义方法

 更新时间:2009年09月25日 14:57:30   作者:  
Python中,函数是可被重用的程序段。对于函数的定义,可以使用def关键字。

对于变量z,它就是nonlocal级别的。如果在inner中需要使用z,则需要使用nonlocal关键字进行声明。
讲完了变量的作用范围,就该讲讲函数的参数问题了。 Python中的函数可以0-n个参数,这和其他编程语言一样没有什么特别之处。同样的,可以为函数参数指定默认值。例如:
复制代码 代码如下:

def power(num,power = 1):
print(num ** power)
power(2)
power(2,2)
#*************
#运行结果
2
4

对于第一次调用power(2),并没有指定第二个参数power的值,根据输出结果可知,函数使用了默认值。第二次调用power(2,2),因为给定了第二个参数的值,所以,power的值为2。
在这里需要注意的是,在python中,对于给你默认值的参数,一定要在参数列表的最后。也就是说,在参数列表中,如果出现了给定默认值的参数后,就不能在出现没有给定默认值的参数。
对于参数赋值,可以使用关键字的方式赋值。例如:
复制代码 代码如下:

def func(a,b=1,c=2):
print('a={0},b={1},c={2}'.format(a,b,c))
func(1)
func(1,2)
func(1,c=3)
func(b=2,a=4)
#*************
#运行结果
a=1,b=1,c=2
a=1,b=2,c=2
a=1,b=1,c=3
a=4,b=2,c=2

可以通过指定参数名称来对参数进行赋值。
Python支持可变参数列表,首先看下面的程序:
复制代码 代码如下:

def total(initial=5,*numbers,**keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10,1,2,3,vegetables=10,fruits=5))
#***************
#运行结果
31

在上述程序中,值得关注的是*numbers和**keywords。在程序中,第一个参数10对应第一个initial参数。接下来就是可变参数列表:其中1,2,3是一个序列,vegetables=10,fruits=5是字典。在Python中,*numbers表示的是:将1,2,3等或者更多的参数放入这个序列中;**keywords表示的是:将vegetables=10等或者更多的参数放入字典中。
您可能感兴趣的文章:

相关文章

  • python利用pyttsx3 API实现文本转语音处理

    python利用pyttsx3 API实现文本转语音处理

    这篇文章主要为大家详细介绍了Python如何利用pyttsx3 API实现文本转语音处理,文中有详细的示例代码,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Python实现中文数字转换为阿拉伯数字的方法示例

    Python实现中文数字转换为阿拉伯数字的方法示例

    这篇文章主要介绍了Python实现中文数字转换为阿拉伯数字的方法,涉及Python字符串遍历、转换相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • django Model层常用验证器及自定义验证器详解

    django Model层常用验证器及自定义验证器详解

    这篇文章主要介绍了django Model层常用验证器及自定义验证器详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python制作一个桌面便签软件

    python制作一个桌面便签软件

    这篇文章主要介绍了python制作一个桌面便签软件分别给大家附上ubuntu和windows版的程序及源码,有需要的小伙伴可以参考下。
    2015-08-08
  • python正则表达式完成车牌号检验的代码实例

    python正则表达式完成车牌号检验的代码实例

    这篇文章主要给大家介绍了关于python正则表达式完成车牌号检验的相关资料,在Python中正则表达式是一种用于匹配和操作字符串的强大工具,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • python入门while循环语句理解学习

    python入门while循环语句理解学习

    这篇文章主要介绍了python入门while循环语句理解学习,文中附含详细图文示例教程,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • python实现事件驱动

    python实现事件驱动

    这篇文章主要为大家详细介绍了python实现事件驱动的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python数据清理技巧分享

    Python数据清理技巧分享

    数据常常被比作新时代的石油,就像石油需要经过提炼才能制造出汽油一样,数据也需要经过整理才能发挥其作用,Python作为最广泛使用的编程语言之一,提供了强大的数据整理工具,本文给大家介绍了Python数据清理的技巧,需要的朋友可以参考下
    2023-10-10
  • pygame实现井字棋之第三步逻辑优化

    pygame实现井字棋之第三步逻辑优化

    这篇文章主要介绍了pygame实现井字棋之第三步逻辑优化,文中有非常详细的代码示例,对正在学习python的小伙伴们也有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • Python设计模式结构型享元模式

    Python设计模式结构型享元模式

    这篇文章主要介绍了Python享元模式,享元模式即Flyweight Pattern,指运用共享技术有效地支持大量细粒度的对象,下面和小编一起进入文章了解更多详细内容吧
    2022-02-02

最新评论