美文网首页
Python学习笔记-Day06

Python学习笔记-Day06

作者: snape00 | 来源:发表于2019-12-20 16:10 被阅读0次

Python学习笔记

Day_06-函数(一)

函数是编程语言里必不可少的一部分。编程中的函数是一定数量、实现单一或者关联功能的代码块。

函数的存在,能够很好地避免代码的重复使用。

函数包括系统内置函数(如print())以及用户自定义的函数。

6.1 定义函数

  • 定义函数的关键词def
  • def后名紧跟函数名,函数名后面是()()内部可以有参数,也可以没有参数;
  • ()后面是冒号:,和前面学的条件、循环语句类似,:的存在表面了一种隶属关系,也就是下面的语句都属于我这次定义的函数。
  • 还有类似的地方,函数内部的语句也是需要缩进。
  • return往往出现在函数语句的最后,用以说明定义函数的返回值,即函数的输出数据。Vamei提到,函数中的return起到了返回且终止的作用。换句话说,如果函数内部在return后面还有语句,函数在执行的时候只执行到return,后面的语句将不会被执行。
  • return不是必需的函数语句,如果没有return,函数返回值为None,即为空数据;return后也可以返回多个值,用逗号隔开。如return a, b, c

函数定义的通用格式如下:

def 函数名(参数):
    函数体

接下来,我学着定义一个函数。

"""
python学习笔记-day06
函数的一些知识及用法。

version:0.1
author:chris
公众号:颖川河
"""


def num_plus(a, b):
    c = a + b
    return c


x, y = 10, 22
print(num_plus(x, y))

输出结果为:

32

需要注意的是,根据PEP8的要求,在定义函数的时候,函数的前面及后面都要有两个空行。

6.2 调用函数

“定义了函数,就像打造了一把利器,这把利器必须使用起来,才能发挥作用”(Vamei)。

使用函数的过程称作函数的调用。

函数定义的时候,自身参数称之为“形参”,函数调用时的参数称之为“实参”。

函数定义之后,使用的过程中给他赋予实实在在的参数,并得到函数返回值,就是函数的调用过程。以上面第一个例子为据,函数调用还可以这么写:

def num_plus(a, b):
    c = a + b
    return c


print(num_plus(10, 22))

函数在调用的时候,会自动根据参数的位置认定其与形参的对应关系。即10对应形参a,22对应形参b。

而第一个例子中,函数调用时的参数是系统中已经存在的变量。

6.3 函数例子

构建函数求最大公约数。

最大公约数有两种常用的方法:辗转相除法和更相减损法.

辗转相除法(引自百度百科):

例如,求(319,377):
∵ 319÷377=0(余319)
∴(319,377)=(377,319);
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29)
∴ (319,58)=(58,29);
∵ 58÷29=2(余0)
∴ (58,29)= 29;
∴ (319,377)=29。

代码如下:

def gcb_division(a, b):
   while a > 0 and b > 0:
       c = a % b
       if c != 0:
           a = b
           b = c
       else:
           return b
print(gcb_division(377, 319))

运行结果为:

29

更相减损法(引自百度百科):

第一步:任意给定两个正整数;判断它们是否都是偶数。若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。
则第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。

代码如下:

def gcb_minus(a, b, i):
    i == 0
    while a % 2 == 0 and b % 2 == 0:
        a = a / 2
        b = b / 2
        i += 1
    while True:
        c = int(abs(a - b))
        a = b
        b = c
        if c == 0:
            return a*2**i
            
print(gcb_minus(260, 104, 0))

输出结果如下:
52

6.4 小结

这一节学习了函数最基本的知识点,并且尝试着定义了函数,也通过一个例题来说明函数的使用。后面还会进一步学习函数参数的传递等方面的内容。

相关文章

网友评论

      本文标题:Python学习笔记-Day06

      本文链接:https://www.haomeiwen.com/subject/zyjinctx.html