美文网首页
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