python--抽象(函数)

一、函数

      1、创建函数def:创建一个计算裴波那契数列(任一个数都是前两个数之和的数字序列)的函数。

      

      2、判断函数是否可调用:callable函数

      

      3、return 语句:用来从函数中返回值。

     

      4、文档化函数:在函数的开头写下字符串,它就会作为函数的一部分进行存储。

      

      

     

      5、改变参数:

           形参:函数名后面的变量通常称为形参。

           实参:调用函数时提供的值时实参,或者称为参数。

 

     如下代码:try_to_change函数内参数n获得了新值(字符串,不可变),不会影响name变量。

     

 

     如下代码:change函数内参数n获得了新增(列表,可变),这里n与names引用了同一个列表,因此改变n的值会影响到names变量。

     

 

    2、代码分析:编写一个存储名字,并且能用名字,中间名,或者姓查找联系的人的程序:

    

    代码运行结果:

     

 

      3、参数不可改变:在python中函数只能修改参数本身,如果参数不可变(是数字),只能从函数中返回所有需要的值。

      

      

      

      4、关键字参数和默认参数:

           关键字参数:使用参数名提供的参数。明确每个参数的作用。

           关键字参数作用一:明确每个参数的作用。

       

          关键字参数作用二:在函数中给参数提供默认值:

        

 

          位置参数与关键字参数混合使用需要将位置参数放在前面。

        

 

       5、收集参数:使用*收集其余位置的参数。

            使用*收集参数,通过元组打印

       

 

           使用*收集关键字参数报错:

       

 

             使用**收集关键字参数至字典:

       

 

        *pospar收集其余位置的参数,**keypar收集关键字参数:

        

 

        如何实现多个名字同时存储?:

         

        程序运行结果:

        

 

       6、参数收集逆过程:

            同时传入多个实参或者列表。

       

           

 

       7、练习使用参数:

       

 

       程序运行结果:

       

 

      8、作用域:除了全局作用域外,每个函数都会创建一个新的作用域。

           如下代码:x=42称为局部变量,x=1称为全局变量。当调用foo函数时新的命名空间被创建,作用于foo内的代码。因此不会影响全局变量的值。

        

 

           如下代码:实现了在函数内部访问全局变量:globls()函数获取全局变量值。

        

 

 

            如下代码:实现了重绑全局变量:

         

 

         嵌套作用域:作用,使用一个函数创建另一个。

         一个函数位于另外一个里面,外层函数返回里层函数。返回的函数还可以访问它的定义所在的作用域。每次调用外层函数,内层函数都被重新绑定。

         

 

        9、递归:引用(调用自身)

             1、 实现阶乘:n*(n-1)*(n-2)...........*1

              

             如何使用递归?(1的阶乘等于1,大于1的数n的阶乘是n乘n-1的阶乘):

             

 

            2、实现幂:

            

            如何使用递归?(对于任意数字x来说,power(x,0)是1,对于任意大于0的数来说,power(x,n)是x乘以(x,n-1)的结果)

           

 

          3、实现二分法查找(如果上下限相同,那么就是数字所在的位置,返回。否则找到两者的重点,查找数字是在左侧还是右侧,继续查找数字所在的那半部分)

          

 

     10、函数式编程:

            1、map函数:将序列里的元素全部传递给一个函数。

            

 

           2、filter函数:对元素进行过滤,返回其函数为真的函数列表。

           

             isalnum():检查字符串是否有数字和字母组成。

 

            

 

 

 

       

          

 

        

 

转载于:https://www.cnblogs.com/bigming/p/7133284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值