Python学习之路:函数
程序员文章站
2024-02-24 13:48:46
...
函数:降低编程难度和代码复用
一:函数的定义
函数是一段代码的表示
def <函数名>(<参数(零个或多个)>):
<函数体>
return <返回值>
#计算 X!
def function(x): #定义一个函数 function()
s = 1
for i in range(1,x + 1): #for循环计算阶乘
s *= i
return s
a = function(10) #输入实参,调用函数
print(a)
函数定义时,1、指定的参数是一种占位符。
2、参数是输入,函数体是处理,结果是输出(IPO程序设计式)。
函数定义后,不调用不执行。
二:参数
1、参数个数:函数可以有参数,也可以没有,但必须保留括号。
2、可选参数传递:函数定义时可以为某些参数指定默认值,构成可选参数。
def <函数名>(<非可选参数>, <可选参数>):
<函数体>
return <返回值>
#计算阶乘并除以某个数
def function(x,y = 1): #定义一个函数 function(),y为可选参数
s = 1
for i in range(1,x + 1): #for循环计算阶乘
s *= i
return s//y
a = function(10, 5) #输入实参,调用函数
print(a)
3、可变参数传递:函数定义时可以设计可变数量参数,既不确定参数的总数量
def <函数名>(<参数>, *b ):
<函数体>
return <返回值>
#计算n!乘数
def function(n, *b): #*b可变参数
s = 1
for i in range(1, n+1):
s *= i
for item in b:
s *= item #把所有的参数都遍历一遍
return s
print(function(10, 5))
print(function(10, 3, 5, 8))
4、参数传递的两种方式:函数调用时,参数可以按照位置或名称方式传递。
#计算阶乘并除以某个数
def function(x,y = 1):
s = 1
for i in range(1,x + 1):
s *= i
return s//y
a = function(10, 5) #参数按照位置方式传递
print(a)
b = function(y = 5, x = 10) #参数按照名称方式传递
print(b)
三:函数的返回值
1、函数的返回值:函数可以有返回值,也可以没有,可以有return,也可以没有;return可以传递0个返回值,也可以传递任意多个返回值。
def function(n, m=1):
s = 1
for i in range(1, n + 1):
s *= i
return s//m, n, m
a, b, c = function(10, 5)
print(a, b, c)
print(function(10,5)) #返回元组类型
四:局部变量和全局变量
1、局部变量和全局变量是不同变量
局部变量是函数内部的占位符,与全局变量可能重名但不同
函数运算结束后,局部变量被释放
可以使用global保留字在函数内部使用全局变量
2、局部变量为组合数据类型且未创建,等同于全局变量
3、使用规则
基本数据类型,无论是否重名,局部变量与全局变量不同
可以通过global保留字在函数内部声明全局变量
组合数据类型,如果局部变量未真实创建,则是全局变量