函数(学生(何)总结)

                                               函数

一 函数的定义

语法形式如下:

def <函数名>(<参数列表>):

   <函数体>

   return <返回值列表>

函数(学生(何)总结)_第1张图片函数(学生(何)总结)_第2张图片

二 函数的返回值

  1. return语句同时可以将0个、1个或多个函数运算完的结果返回给函数被调用处的变量
  2. 函数可以没有return,此时函数并不返回值

三 函数的参数

一般格式为:

        函数名( <实际参数表> )

  1. 形参:在定义函数时函数名后面圆括号中的变量名

   实参:在调用函数时,函数名后面圆括号中的变量名

  1. 为形参指定默认值

def fun(arg1=1,arg2=2,arg3=3):

   print( 'arg1 = ', arg1)

   print( 'arg2 = ', arg2)

   print( 'arg3 = ', arg3)

注意:如果调用方没有为该参数传递数值的话,则使用默认值,如果调用该函数的时候为该参数传递了数值的话,则使用传递的值。如果函数的某个参数指定了默认值,则这个参数后的所有参数都必须指定默认值。

  1. 函数参数传递方式
  1. 关键字绑定:调用时在括号内写成“参数名=数值

  info(age=25, name="王五",sex='男')

  1. 位置绑定:调用函数时,实际参数的数量、顺序都和形式参数一致,实参和形参从左到右一一对应

  def info(name,age,sex): 

print('name :',name,'age:',age,'sex:',sex)

info('张三', 30, '男')

注意:位置绑定参数和关键字绑定参数可以在满足特定条件时混和使用,该条件是:所有关键字绑定参数必须出现在位置绑定参数之后

四 函数的变量

  1. 全局变量(global):在函数之外定义的变量,在程序执行全过程有效。
  2. 局部变量(localInt):在函数内部使用的变量,仅在函数内部有效。

函数(学生(何)总结)_第3张图片

g = 0             #定义全局变量

def bindVar():

    global g                #在函数中声明g是全局变量

    g = g+1    

    return g

print(bindVar())            #输出 1

print('g =',g)               #输出 g = 1

 

注意:如果定义了一个全局变量,然后又在函数中用同样的名字定义了一个局部变量,那么,在局部变量的作用范围内(也就是该函数内),全局变量不起作用,只有局部变量起作用。

五 函数的闭包和递归

  1. 函数闭包:三大要点: 
    1.)闭包函数必须有内嵌函数 
    2.)内嵌函数需要引用该嵌套函数上一级namespace中的变量 
    3.)闭包函数必须返回内嵌函数 

def f1():

x = y = 2

函数(学生(何)总结)_第4张图片def f2():

      y = 3

      print('f2 函数内 x =', x)

      print('f2 函数内 y =', y)

f2()

print('f1 函数内 x =', x)

print('f1 函数内 y =', y)

f1()

  1. 递归函数:函数定义中调用函数自身的方式称为递归
  1. )阶层

函数(学生(何)总结)_第5张图片

 

 

 

 

2)字符串反转

def rvs(s):

   If s == “”:

     return s

   else:

     Return rvs(s[1:])+s[0]

  1. 斐波拉契数列

def f(n):

   If n == 1 or n ==2:

     return 1

   else:

     return f(n-1)+f(n-2)

  1. 汉诺塔

 def hanoi(n,A,B,C):

    if n==1:

        print("move",A,"->",C)

        return

    else:

        hanoi(n-1,A,C,B)

        hanoi(1,A,B,C)

        hanoi(n-1,B,A,C)

 

n = int(input("请输入盘子数"))

print("移动",n,"个盘子的步骤是:")

hanoi(n,"A","B","C")

六 内置函数

函数(学生(何)总结)_第6张图片

python/人工智能学习联盟:913550303

你可能感兴趣的:(Python脚本语言)