zoukankan      html  css  js  c++  java
  • [Python] 函数基本

    使用def 函数名(): 来定义一个函数,函数体一缩进块的形式写,返回结果是return xx

    例如:

    def myAbs(x):

             if x >= 0:

                       return x

             else:

                       return –x

    可变参数

    在参数的前面加一个*号,函数里面接收到的参数是tuple类型,遍历一下

    #可变参数

    def myCalc(*nums):

             sum=0

             for num in nums:

                       sum+=num

             return sum

    print(myCalc(1,2,3))

    迭代

    通过for循环来遍历list或者tuple,这种遍历称为迭代

    使用for in来迭代list,for key in list:,例如:

    for item in myList:

             print(item)

    使用for in来迭代dict,for k,v in d.items:,例如:

    user={"name":"taoshihan","age":"100"}

    for k,v in user.items():

             print(k+"=>"+v)

    切片

    取一个list或tuple的部分元素,使用切片操作符list[a:b],取list的元素从a开始到b结束(不包含b)

    例如:myList=[1,2,3]

    print(myList[0:2]) 输出[1, 2]

    函数递归

    求n的阶乘(n!)

    def myFact(n):

             if n==1:

                       return 1

             return myFact(n-1)*n

    print(myFact(30))

    使用尾递归优化来解决栈溢出问题,return语句里面不能包含表达式,但是Python语言没有引入尾递归,因此不能使用

    解决汉诺塔问题:

    def myMove(n,source,bridge,destination):

             if n==1:

                       print("从"+source+"移动"+"到"+destination)

             else:

                       myMove(n-1,source,destination, bridge)

                       print("从"+source+"移动"+"到"+destination)

                       myMove(n-1,bridge,source,destination)

    myMove(5,"a","b","c")

    函数式编程的特点:允许把函数本身作为参数传入另一个函数,还允许返回一个函数

  • 相关阅读:
    优化网站设计(一):减少请求数
    ASP.NET MVC 计划任务(不使用外接程序,.net内部机制实现)
    ASP.NET MVC 母版页
    ASP.NET MVC 系统过滤器、自定义过滤器
    大流量网站的底层系统架构分析
    如何开发高性能低成本的网站之技术选择
    使用Sqlserver事务发布实现数据同步(sql2008)_Mssq l数据库教程
    xpath路径表达式
    减负!云端编译构建,这样让你的开发省时省力……
    SVN如何迁移到Git?
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5405292.html
Copyright © 2011-2022 走看看