Python自学2:Python函数定义
来源:互联网 发布:什么是软件系统 编辑:程序博客网 时间:2024/06/05 03:35
#coding=utf-8#Python函数定义#一、什么事函数# 函数就是完成特定功能的一组语句,这组语句可以作为一个单位来使用,# 并且给它取一个名字。#二、函数的定义和调用#定义形式:# def 函数名(参数列表):# 函数体# return 返回值# 注:其中参数列表,返回值是非必须的,可有可无。没有返回值的语句等价于return None.# 另外,函数体一定要缩进######### 实例 ############def add(x,y): return x+yprint 'add(1,2)=',add(1,2) #显示结果:add(1,2)= 3#三、全局变量和局部变量# 全部变量:一直占据着内存,可以攻所有的函数使用# 局部变量:只在所属函数调用时才会分配内存,函数返回后,内存就会释放######### 实例 ############globalInt = 5def delete(): localInt = 2 return globalInt - localIntprint 'delete()=',delete(); #显示结果:delete()= 3print 'globalInt=',globalInt #显示结果:globalInt= 5#print 'localInt=',localInt #显示结果:错误,显示localInt没有定义#如果全局变量和局部变量使用了同样的变量名会怎么样??age = 23def myAge(): age = 24 return ageprint 'myAge()=',myAge() #显示结果:myAge()= 24print 'age=',age #显示结果:age= 23#但是下面的这种情况会报错:UnboundLocalError: local variable 'name' referenced before assignmentname = 'LBJ'def myName(): print 'name=',name name = 'KoBe' #这样 name 就会认为是“局部”变量,因此,在执行(print 'name=',name) 语句时,Python 会认为其未赋值。 return name#print 'myName()=',myName()#print 'name=',name#所以,在全局变量和局部变量名一样的时候,要先对其赋值,然后才能使用,并且局部变量的作用范围也只是该函数内部。