前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python——函数

Python——函数

作者头像
zy010101
发布2021-04-08 10:12:32
5600
发布2021-04-08 10:12:32
举报
文章被收录于专栏:程序员

在Python中定义函数非常简单,下面是一个简单的例子,该函数的功能就是打印“Hello World!”。

代码语言:javascript
复制
def Hello():                    # def关键字是用来定义函数的
    print("Hello World!")       # 函数体需要缩进。

Hello是函数名称,紧跟着Hello的是括号,括号里面是函数的参数,不管参数有没有,括号一定要有。然后就是冒号,标志着一段新的代码段要开始了。通常,我们还会在函数的代码段开始的地方写上文档字符串,来描述函数是用来干什么的。例如下面的例子:

代码语言:javascript
复制
def add(x, y):                  # 两个参数
    """计算变量x和y之和"""        # 文档字符串
    return x + y                # 返回值

这个函数不同于前面的函数之处是,该函数拥有了两个参数,并且还拥有了返回值。这些东西看起来和C语言是基本一致的,只不过Python是动态语言,无需指明返回值的数据类型。当然了,使用方式也和C语言没有什么区别。你只需要在你想使用它的地方调用它即可。例如:

代码语言:javascript
复制
def add(x, y):                  # 两个参数
    """计算变量x和y之和"""        # 文档注释
    return x + y                # 返回值

sum = add(123,456)
print(sum)

程序执行结果如下所示:

也就是说,你只要知道了上面的点之后,就可以在Python中使用函数了,只是这样的函数可能带着非常浓厚的C语言的气息。Python的函数支持关键字实参,从而可以忽略参数参数传递的顺序,例如:

代码语言:javascript
复制
def add(x, y):                  # 两个参数
    """计算变量x和y之和"""        # 文档注释
    return x + y                # 返回值


sum = add(y=1, x=1)
print(sum)

只要指明了函数参数的名称,那么你就可以忽略参数传递顺序。这点对于程序员而言,还是非常好的。当然,Python和C++一样,也支持函数参数默认值。下面的例子展示了Python的强大之处。

代码语言:javascript
复制
def add(x, y=0):
    return x + y


print(add(x=1, y=2))
print(add(x='A', y='B'))
print(add(x=123))

由于数据类型是动态的,并且字符串和数字类型都内置了加法操作,所以add函数成为了通用函数。给y设置的默认值,默认值是数字,不是字符串,所以,使用函数参数默认值的时候,只支持add数字。

Python也支持变参,只需要在参数前加上*号即可。这样你就可以传递任意个数的参数了。

代码语言:javascript
复制
# 变参
def fun(*args):     # 参数前加上*,即可成为变参函数。python会创建一个元组来接受任意参数。
    for arg in args:
        print(arg)


fun("123", "ABC", {"name": "Nicholas Zhao Si"})
fun("123")
fun(3.1415926)
fun()            #这也是可以的

程序执行结果如下所示:

如果某些参数是必须传递的,那么建议这些参数直接写出来,不要放在可变参数内。

C语言有结构体的形式,python没有。python的函数参数为了解决这个问题,使用关键字参数。你可以将变量和值一起传递过来。然后变量和值就会变成键值对。

代码语言:javascript
复制
def fun(**kwargs):
    print(kwargs)


fun(name="Nicholas Zhao Si", gender="man", age=18)

程序执行结果如下。

从这里就能看出来python的字典就相当于C语言的结构体。有了这个功能,你就能传递任意的变量给函数了,但是需要注意的是,你必须在函数里处理你传递的参数才可以。

编写函数时,能以各种方式混合使用位置实参、关键字实参和任意数量的实参。知道这些实 参类型大有裨益,因为阅读别人编写的代码时经常会见到它们。要正确地使用这些类型的实参并 知道其使用时机,需要经过一定的练习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档