概述
一、函数的基本使用
函数是一段具有特定功能的,可重复使用的语句组,通过函数名来表示和调用
使用函数的目的:降低编程难度和代码复用
1、函数的定义
语法形式:
def <函数名>(<参数列表>(形参)):
<函数体>
return<返回值列表>
1)函数名可以是任何有效的Python标识符
2)参数列表是调用该函数时传递给它的,可以是多个参数
当没有参数时也要保留括号
3)参数列表中的参数是形参,相当于实际参数的一种符号或占位符。
4)函数体每次被调用时执行的代码,由一行或多行语句组成
5)若需要返回值,使用保留字return和返回值列表
6)函数可以没有return,函数结束后会将控制权返回给调用者。
例:定义一个函数,对n求阶乘
def fac(n):#定义函数
s=1#函数调用1
for i in range(1,n+1):#函数调用2
s *=i
return s#函数返回
print(fac(100))#使用实参
当函数没有return,仅表示执行一段代码
2.函数的使用
使用方法:
<函数名>(<实际赋值参数列表(实参)>)
函数使用步骤:
1)函数定义:使用def定义,确定函数名、参数名、参数个数
2)函数调用:通过函数名调用函数,对参数赋实际值
3)函数执行:使用实参对代码进行运行
4)函数返回:return
注:可以通过type()获取函数类型
二、函数的参数传递
1.可选参数传递
函数的参数在定义时可指定默认值,当函数被调用时,若没有传入对应的参数值,则使用函数定义时的默认值替代,函数定义时的语法形式如下:
def <函数名>(<非可选参数列表>,<可选参数>=<默认值>):
<函数体>
return <返回值列表>
注:定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。
2.参数名称传递
函数调用时,默认采用按照位置顺序的方式传递给参数,例如:plus(99,2)中第一个实参默认赋值给形参x,第二个实参赋值给形参y
传递参数的语法:
<函数名>(<参数名>=<实际值>)
例:
def plus(x,y=10):#定义加法,传入形参
print(x+y)#对函数的操作
plus(x=99)#传入实际参数
plus(y=2,x=99)#传入实际参数
注:采用参数名传递方式不需要保持参数的传递顺序,参数之间的顺序可任意调整,只要对每个必要的参数赋予实际值即可
3.参数的返回值
return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任意部分,可以将多个函数运算的结果返回给函数被调用处的变量
例:
def plus(x,y=10):#定义加法,传入形参
return x*y#对参数进行操作
s=plus(99,2)#定义变量s,调用plus函数,传入实参
print(s)#打印s
注:1)当return返回多个值时,这些值形成了一个元组数据类型,由小括号和逗号号分隔,例:(a,b,c)
2)函数可以没有return,此时函数不返回值,当函数使用return返回多个值时,可使用一个变量或多个变量保存结果。
例:
def plus(x,y=10):#定义加法函数
return x+y,x*y#返回加、乘
s=plus(99,2)#定义变量s,调用plus函数,传入实参
print(s)#打印s(x+y,x*y)
a,b=plus(99,2)#定义变量a,b
print(a)#打印x+y
print(b)#打印x*y
当函数存在多种结束条件时,使用多个return语句
例:
def dada(x):
try:
if x>0:
return x+1
else:
return x-1
except:
return 0
print(dada(-1))
无return函数例
def wucan():
print("这是一个没有return的函数")
wucan()
三、变量的作用域
1.局部变量:
局部变量是在函数内部定义的变量,仅在函数内部有效,当函数退出时变量将不在存在。
例:
def plus(x,y=10):#定义函数,传入形参
z=x+y#定义方法z
return z#返回z
s=plus(99,2)#定义变量s,传入实参
print(s)#打印s
print(z)#打印z,会报错,因为,z是局部变量只能在局部使用
2.全局变量:
在程序执行过程中全程有效的变量
语法形式:
global<全局变量>
例:
n=2 #全局变量n
def plus(x,y=10): #定义函数,传入形参
global n #声明全局变量
return x+y+n #使用全局变量
s=plus(99,2) #定义变量s,调用函数plus,传入实参
print(s) #打印s
注:使用global对全局变量声明时,该变量要与外部全局变量同名
若未使用global声明,即使名称相同,也不是全局变量
例:
n=2#全局变量
def plus(x,y=10):
n=x+y
return n#此处n不是全局变量
s=plus(99,2)
print(s)
print(n)#全局变量的值不改变
最后
以上就是清爽小蝴蝶为你收集整理的计算机二级------python语言程序设计5的全部内容,希望文章能够帮你解决计算机二级------python语言程序设计5所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复