python函数基础

238 阅读3分钟

# 函数的定义与调用

函数的概念

提前编写好的,可以重复使用的一段特定功能的代码段(必须先定义,再调用,不调用不执行,每调用一次就执行一次)

函数定义格式

def 函数名(形式参数):
   函数体
   return 返回值

Snipaste_2023-07-06_20-05-39.png

不使用return语句即默认返回None,当然也可以主动return None,None是类型’NoneType’的字面量,用于表示:空的、无意义的,函数体在遇到return后结束,所以在return后的代码不会被执行。

函数调用通用格式

变量名接收返回值 = 函数名(实际参数)

Snipaste_2023-07-06_20-09-34.png

main: 主函数,程序的入口

main快捷键: main回车,如果是当前文件中直接执行,默认__name__的值是'main'。 如果是import导入方式运行的,默认__name__值就不是'main'而是当前模块名/py文件名,在main值下的程序代码在包导入(import)到别的文件中时是不会被执行的,只会在本文件中执行。

Snipaste_2023-07-06_20-20-35.png

根据有无返回值和参数可以将函数分为三种

>>> 无参数无返回值 、 有参无返回值 、 有参有返回值

Snipaste_2023-07-08_21-23-22.png Snipaste_2023-07-08_21-26-40.png Snipaste_2023-07-08_21-29-05.png

无参数无返回值能重复调用,但是每次结果一样,没有意义。

有参数无返回值能重复调用,而且每次可以传入不同的数据,实现不同的结果。

有参数有返回值能重复调用,而且每次可以传入不同的数据,返回不同的结果,能参与其他的运算。

空值None

None: 在python中代表无意义,也就是空的意思

Snipaste_2023-07-08_21-16-21.png Snipaste_2023-07-08_21-15-16.png

函数说明文档

对函数功能以及参数返回值的介绍,位置处于函数内,函数体之前。在调用函数的时候,鼠标悬停到函数名上,会有对应的提示。

Snipaste_2023-07-09_08-34-45.png

全局变量和局部变量

全局变量: 函数内和函数外都能访问到

局部变量: 只能当前这个函数的内部访问

# 1.先定义函数
def show1():
    # 定义局部变量
    num = 100
    print(f'show1内部访问num:{num}')
    print(f'show1内部访问全局变量a:{a}')


def show2():
    # print(f'show2内部访问num:{num}') # 此处报错,因为局部变量只能当前那个函数内部访问
    print(f'show2内部访问全局变量a:{a}')


# 定义全局变量
a = 200
# 2.再调用函数
show1()
show2()
# print(num) # 此处报错,因为局部变量只能当前那个函数内部访问
# 函数外部访问全局变量a
print(f'函数外部访问全局变量a:{a}')

global关键字

作用:能够让函数内部的局部变量在全局使用

函数内如何修改全局变量: global 全局变量名

# 1.先定义函数
def show1():
    # 定义局部变量
    num = 100
    print(f'show1内部访问num:{num}')
    print(f'show1内部访问全局变量a:{a}')


def show2():
    # 注意: 如果想要在函数内修改全局变量,需要加global声明
    global a
    a = 300
    # print(f'show2内部访问num:{num}') # 此处报错,因为局部变量只能当前那个函数内部访问
    print(f'show2内部访问全局变量a:{a}')


# 定义全局变量
a = 200
# 2.再调用函数
show2()
show1()
# print(num) # 此处报错,因为局部变量只能当前那个函数内部访问
# 函数外部访问全局变量a
print(f'函数外部访问全局变量a:{a}')