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

Python语言学习:函数学习和总结

作者头像
陆勤_数据人网
发布2022-01-20 15:43:32
4930
发布2022-01-20 15:43:32
举报

这一周Python语言学习,记录如下。

01

函数学习和总结

1 函数是什么?

函数是一组有组织的、可复用的代码,用于执行单个相关操作。

2 为什么学习函数?

函数为您的应用程序提供了更好的模块化高度的代码复用

3 函数构建

Python语言创建函数的简单规则。

  • 1 函数块以关键词def开头,后面跟着函数名和小括号。
  • 2 各种类型的输入参数写在小括号内。
  • 3 函数代码块以冒号结尾并缩进。
  • 4 撰写函数文档字符串
  • 5 设计和实现函数体,用来告诉函数要做什么事情
  • 6 使用return返回函数值(可选)

函数构建模板类似如下

代码语言:javascript
复制
def functionname( parameters ):
   "function_docstring"
   function_suite
   return [expression]

举例说明如下:

代码语言:javascript
复制
def calculate_sum(val1, val2):
    """
    This is a longer docstring defining also the args and the return value.

    Args:
        val1: the first parameter
        val2: the second parameter
    Returns:
        result: The sum of val1 and val2

    """

    result = val1 + val2

    return result

4 函数调用

根据函数名和参数类型,进行正确调用就可以了。后面的函数参数类型会学习各种丰富的函数调用。

代码语言:javascript
复制
print(help(calculate_sum))
print(calculate_sum(100, 100))

4 函数参数类型

Python创建的函数,参数类型非常地丰富。熟练掌握它们,可以设计和实现强大而灵活的应用程序。

函数的参数类型包括位置参数、默认参数、可变参数、关键字参数、命名关键字参数。这些参数类型组合在一块的时候,顺序依次为位置参数,默认参数,可变参数,命名关键字参数,关键字参数。

关于这些参数类型,我们可以这样通俗地理解。

若是参数类型没有可变性,我们可以采用位置参数,若是位置参数里面某一个参数或者几个参数的值是稳定的,我们就可以把它设为默认参数,注意默认参数需要排在位置参数后面。如果是可变参数,我们可以采用可变参数或者关键字参数,如果对于关键字,我们需要进一步限定,这个时候,我们就可以使用命名关键字参数。

再次重申一遍,若是这些参数类型混搭时,请按着位置参数、默认参数、可变参数、命名关键词参数和关键词参数来排序和设计。

4.1 位置参数

举例如下:

代码语言:javascript
复制
def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x

    return s

print(power(2, 5)
4.2 默认参数

举例如下:

代码语言:javascript
复制
def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x

    return s

print(power(5))
print(power(5, 4))
4.3 可变参数

举例如下:

代码语言:javascript
复制
def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n 

    return sum

print(calc(1, 2))
print(calc(1, 2, 3))
print(calc(*[1, 2, 3]))
print(calc(*(1, 2, 3))
4.4 关键字参数

举例如下:

代码语言:javascript
复制
def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

print(person('John', 30, city='zhongshan'))
print(person('John', 20, city='zhongshan', job='teacher'))

name = 'luqin'
age = 30

info = {'city':'zhongshan', 'job':'DS', 'sex':'M'}

person(name, age, **info)

args = ('luqin', 30)
kw =  {'city':'zhongshan', 'job':'DS', 'sex':'M'}
person(*args, **kw)
4.5 命名关键字参数

举例如下:

代码语言:javascript
复制
def person1(name, age, *, city, job):
    print(name, age, city, job)

person1('Jack', 24,  city='Beijing', job='teacher')
4.5 各种参数类型组合使用

举例如下:

代码语言:javascript
复制
# 各种参数类型组合
def func(a, b, c=0, *args, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args', args, 'd =', d, 'kw =', kw)

args = (1, 2, 3, 4, 5)
kw = {'d':100, 'city':'zhongshan', 'job':'teacher'}

func(*args, **kw)

对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

实际工作中,建议避免这种操作,不利于函数的使用。

5 小结

  • 1 函数可以让你模块化编程,让代码具有高度复用性,不在避免重复造轮子。
  • 2 函数的参数类型非常灵活。
  • 3 任意函数,都可以类似func(*args, **kw)的形式调用它。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01
    • 函数学习和总结
      • 1 函数是什么?
      • 2 为什么学习函数?
      • 3 函数构建
      • 4 函数调用
      • 4 函数参数类型
      • 5 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档