zoukankan      html  css  js  c++  java
  • 我的Python分析成长之路4

    一、函数

      1.什么是函数?:函数是带名字的代码块,调用函数,只要调用函数名就可以。

        2.函数的性质:1.减少重复代码 2.使程序变得可扩展 3.使程序变得易维护

      3.编程范示:

        1.面向对象编程           关键字:class

        2.面向过程编程      关键字:def    面向过程是没有返回值的函数

        3.函数式编程       关键字:def 

    def  say_hello():
        print("hello")
    print_hello()

       4.函数的参数

         形参:函数完成其工作所需的一项信.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数                              内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

          实参:调用函数时传递给函数的信息。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确

                     定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

        

        形参:位置参数、关键字参数

        对于位置参数,传递实参时要一一对应,传递的实参个数要与形参个数相同。

        

         关键字参数,传递的参数由变量名和值组成,和形参顺序无关。

          

          当位置参数和关键字参数同时存在时,关键字参数要放到位置参数的后面。

          

          默认参数:调用函数时,默认参数非必须 传值。函数调用时,如果没有传值,则使用默认参数,传怎使用传递的值

         

         对于传递任意数量的值时,我们要使用*args和**kwargs  对于*args,可以接受N个位置参数,最后转化为元组.对于**kwargs,可接受N个关键字参      数,最后转化为字典。

         

         

        

       5.局部变量和全局变量

            在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量

           全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
           当全局变量与局部变量同名时:
              在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
        
                     要想引用和修改全局变量,就要使用global
        
       6.返回值
          返回值是为了获得函数执行的结果,用return语句返回。
          注意事项:
              1.函数在执行过程中碰到return语句,就会停止执行后面的代码并放回结果。
              2.如果没有返回值,即没有return语句,则返回None
              3.如果有一个返回值,则返回的是一个object
              4.如果有多个返回值,则返回的是一个tuple
        7.递归
           如果一个函数在内部调用函数本身,则为递归
           递归的特点:
                1.必须要有一个明确的终止条件。
                2.每次进入更深一层的递归时,问题规模就会比上一次规模减少
                3.递归效率不高,递归层次过多会导致栈溢出
            
        8.高阶函数
              一个函数作为另一个函数的参数
             
  • 相关阅读:
    中国剩余定理
    【BZOJ】【3053】The Closest M Points
    【BZOJ】【1878】【SDOI2009】HH的项链
    【BZOJ】【2648】SJY摆棋子&【BZOJ】【2716】【Violet 3】天使玩偶
    【UOJ Easy Round #2】
    【TYVJ 五月图论专项有奖比赛】
    【BZOJ】【3301】【USACO2011 Feb】Cow Line
    【BestCoder】【Round#41】
    【BZOJ】【1046】/【POJ】【3613】【USACO 2007 Nov】Cow Relays 奶牛接力跑
    【BZOJ】【3210】花神的浇花集会
  • 原文地址:https://www.cnblogs.com/Ezhizen/p/10202532.html
Copyright © 2011-2022 走看看