码迷,mamicode.com
首页 > 编程语言 > 详细

python之函数式编程

时间:2018-06-09 00:03:21      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:函数式   默认参数   需要   调用   定义函数   def   编程   highlight   遇到   

一、定义和使用

  1、函数时编程的作用:降低代码的重复率,增强代码的可读性

  2、格式:  def  函数名(参数):                   

        函数体

        返回值

    def表示关键字,代码执行到def时,就知道这是函数,程序会将其放置内存不执行它,只有调用函数时才会被执行

    函数名:函数的名称,日后根据函数名来调用函数

    参数:为函数提供数据

    函数体:执行一系列的操作,如:打印,计算0-100的和等

    返回值:当函数执行完毕后,可以给调用返回数据

  3、返回值

    函数是一个功能模块,该功能是否执行成功与否,需要通过返回值来告诉调用者

    需要注意的两点:

      1)若没有return,默认返回None

      2)一旦遇到return,函数内部return 以下的代码都不执行

  4、参数(为函数提供数据,函数根据不同的数据执行不同的功能)

    1)实参、形参

      1、形式参数:在定义函数时,括号里面没有实际值的参数

      2、实际参数:在调用函数时,括号里面有实际值的参数

    2)普通参数

      在调用时,参数数量要和定义时一致,且按顺序一一对应

    3)指定参数

      在调用时,直接将实际值赋给形参,这样就不需要位置一一对应了

def main(a,b):
    print(a) 
main(1,100)                    #普通调用 ,a对应1 ,b对应100         
main(b=1,a=100)                #指定参数的调用,a对应100,b对应1

    4)默认参数(默认参数要放在函数尾部,如:def fun(a=1,b)×     def fun(b,a=1)

      在函数定义时,将形参指定默认值,当调用时没有传入实参,则Ⅹ用默认值,若传入实参则使用实参

        例:def fun1(a,b=1)

          fun1(2)        #没传入实参,b等于默认值1

          fun1(2,3)  #传入实参,b等于实参3

    5)动态参数

      1、在参数前加 * ,表示允许传入多个参数

        a、直接调用,每个实参被当作a的一个元素

def main(*a):
    print(a,type(a))
main([1,2])
结果:([1,2]) <class ‘tuple‘>    #a 是元组,每个实参就是 a 的一个元素 

        b、在实参前加 * ,实参的每个元素相当于形参中的元素

def main(*a):
    print(a,type(a))
main(*[1, 2])
结果:(1, 2) <class ‘tuple‘>

      2、在参数前加**,允许传入键值对(**kwargs :kwargs是字典类型)

        a、直接调用

        b、在参数前加**

      3、设置两个参数*args(arguments  参数),**kwargs(key word arguments  关键字参数)

        调用同上两种,键值对则放入kwargs,反之放入args

  5、局部变量和全局变量

    全局变量

      用大写,这样便于区分

      要修改,前加global

    局部变量

      用小写,只能在函数内部调用

 二、参数传递

  python中参数传递是将值的引用传递给形参

    其它语言有两种方式可选择:

      1、传递引用,指向同一个值

      2、重新创建一个值,再传给形参

三、判断对象是不是字符串、列表、元组或字典等数据类型

  isinstance(x,A_tuple):判断对象是不是对应的数据类型

    输入:x表示对象名,A_tuple表示类名(可以是:str、int、tuple、list、dict等)

    功能:判断对象类型

    输出:当对象的数据类型和后面的类名一致时,返回True,否则返回False

>>> isinstance(12,int)
True
>>> isinstance(‘12‘,int)
False
>>> isinstance({1:‘12‘},dict)
True

  

 

 

  

python之函数式编程

标签:函数式   默认参数   需要   调用   定义函数   def   编程   highlight   遇到   

原文地址:https://www.cnblogs.com/tandonghao/p/9157249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!