目录

函数定义

函数嵌套调用

全局变量与局部变量

返回值return

递归函数


函数是一系列语句的集合,其让代码可读性更高,实现代码复用

函数定义

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

Logo

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

更多推荐