Python中的函数
目录函数定义函数嵌套调用全局变量与局部变量返回值return递归函数函数是一系列语句的集合,其让代码可读性更高,实现代码复用函数定义1. 函数定义Python 定义函数使用 def 关键字,一般格式如下:def 函数名(形参):#函数定义,形参与实参可以传递也可以不传递函数体函数名(实参)#函数调用如下定义一个不带参数的函数def hello() :print("Hello World!")hel
目录
函数是一系列语句的集合,其让代码可读性更高,实现代码复用
函数定义
1. 函数定义
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(形参): #函数定义,形参与实参可以传递也可以不传递
函数体
函数名(实参) #函数调用
如下定义一个不带参数的函数
def hello() :
print("Hello World!")
hello() #输出"Hello World!"
定义一个带参数的函数
def show(name,age):
print(f"我叫{name},今年{age}岁了")
show('辰辰啊',13) #输出 我叫辰辰啊,今年13岁了
2. 形参与实参
参数分为形参和实参。
- 形参:相当于一个变量,用来接收实参的值
- 实参:实际赋予的值,传递给形参
注意事项
- 传递的实参的个数需与形参的个数相同,且传递的顺序需相同
3. 默认参数
我们可以给形参赋予一个默认值,当没有传递实参的时候,默认为形参的值。当传递了实参的值则为实参的值
def show(name,age=10): #默认参数值
print(f"我叫{name},今年{age}岁了")
show('辰辰啊') #输出 我叫辰辰啊,今年10岁了
show('辰辰啊',20) #输出 我叫辰辰啊,今年20岁了
函数嵌套调用
pyhton中函数之间可以嵌套调用
def test1():
print("这是函数1")
test2() #函数1内调用函数2
print("test2调用完了")
def test2():
print("这是函数2")
test3() #函数2内调用函数3
def test3():
print("这是函数3")
if __name__ == "__main__":
test1()
程序从上往下执行,遇到函数先跳过,到下面碰到了调用函数test1(),返回test1去执行,发现里面test1里面调用了test2。然后跑到test2里面去,里面又调用test3,又跑到test3里去,test3执行完了,又返回test2继续往下执行完毕。然后又回到test1执行完函数
全局变量与局部变量
- 在函数之外声明的变量为全局变量,它的作用域为全局,且函数内有有效
- 函数中声明的变量为局部变量,只在函数内有效
1. 如下调用局部变量报错
def show():
name = '老宋'
age = 18
show()
print(name, age) #报错,name和age为局部变量,函数之外不能够进行调用
2. 全局变量能够作用于函数内
sex = "男"
def show():
name = '老宋'
age = 18
print(sex) #输出男,全局变量能够作用与函数内
show()
3. 函数内的局部变量要修改全局变量时,要声明变量为全局变量 global 变量名
def show():
global name,age #此时作用域为全局
name = '老宋'
age = 18
show() #虽然name和age声明为了全局变量,但是也要先调用函数才行。以为他们在函数内,调用之后才能找到
print(name,age) #输出 老宋 18
返回值return
print的作用仅仅是将数据打印(输出)到你能看到的界面上。return的主要作用是返回函数的一个计算结果
更多可以详看——> Python中return和print的作用及区别
注:return还有终止函数的作用,函数运行到return则后面的不会再运行
def show():
name = '老宋'
age = 18
return name
print('这里不输出') #什么都不会输出
name = show()
print(name) #输出 老宋
递归函数
递归函数就是自己调用自己,必须要用终止的条件,否则就是死循环
def show(a):
if a == 1: #设置终止条件,否则无限死循环
return a
return a * show(a-1) #自己调用自己,执行结果为这样6 * 5 * 4 * 3 * 2 * 1 = 720
result = show(6)
print(result) #输出720

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)