zoukankan      html  css  js  c++  java
  • python之函数式编程

    一,编程的方法论:面向过程,函数式,面向对象

    面向过程:没有返回值的,找到解决问题的入口,按照一个固定的流程去模拟解决问题的流程

    二:函数式编程:函数式=编程语言定义的函数+数学意义的函数

    例一:不可变:不用变量保存状态,不修改变量

    #非函数式
    a=1
    def ic_test1():
        global  a
        a+=1
        return a
    ic_test1()
    print a
    
    #函数式
    a1=1
    def ic_text2(a1):
        return a1+1
    print ic_text2(2)
    print a
    

     例二: 第一类对象:函数即"变量"

    1,函数名可以当做参数传递

    #把函数当做参数传给另外一个函数
    def foo(n):
        print (n)
    def bar(name):
        print ('my name is %s' %name)
        return bar
    foo(bar)#函数当做变量被赋值,打印输出的是bar函数的内存地址
    foo(bar("wnagyue"))
    

     2,返回值可以是函数名

    #返回值中包含函数
    def bar():
        print "from bar"
    def foo():
        print "frm foo"
        return bar
    n=foo()
    n()
    
    def handle():
        print "from handle"
        return handle
    h=handle()
    h()  #输出from handle from handle
    

     三:高阶函数:1,把函数当做参数传递给另外一个函数 2,返回值中包含函数  两种满足其一就可以

  • 相关阅读:
    空格转换
    vuex学习
    css移动端适配方法
    数组以及数组常用方法
    21-canvas事件监听
    20-canvas之形变
    [转]session 跨域共享方案
    [转载] 从mysql,代码,服务器三个方面看mysql性能优化
    [计算机]Alan Perlis人物简介
    Python环境搭建及pip的使用
  • 原文地址:https://www.cnblogs.com/wangyue0925/p/8944763.html
Copyright © 2011-2022 走看看