Python学习笔记-Day06

2019-12-20  本文已影响0人  snape00

Python学习笔记

Day_06-函数(一)

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

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

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

6.1 定义函数

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

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 小结

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

上一篇 下一篇

猜你喜欢

热点阅读