Pycharm(十四)函数

发布于:2025-04-15 ⋅ 阅读:(27) ⋅ 点赞:(0)

一、函数概述

函数也叫方法,可以用function(函数,功能),method(方法)来表示。函数是把具有独立功能的代码封装到一起,使其成为具有独立功能的代码集。

它的好处:1.提高代码的复用性;2.模块化编程

1.1 定义格式

def 函数名(形式参数1,形式参数2...):

         函数体,就是逻辑代码,if,for...

         return 返回值

1.2 格式解释

def      

defined缩写,表示:定义1个函数

 函数名    

方便我们调用函数,起名时最好见名知义    get_max()   get_sum()

形式参数    

简称形参,形容调用函数需要传入什么值.

函数体    

表示该函数要完成什么功能,就是逻辑代码 if for

return    

作用1.结束函数      作用2.可以返回函数的执行结果

1.3 调用格式

1)写函数名();

2)传参   这里写的是实参(实际参数),表示:实际参与运算的数据;

3)接收返回值,如果有的话。

1.4 细节

1)函数必须先定义,后使用;

2)函数只有被调用,才会执行。

eg1.

def call():
    print('------拨号------')
    print('(拨号方)手机发送信号包到  就近的基站')
    print('(拨号方)就近的基站 解析信号包,然后通过地下电缆 发送信号包到 就近的基站')
    print('(接收方)就近的基站 发送信号包 到 (接收方) 手机')
    print('(接收方)手机解析信号包...')
    print('(接收方)盲音等待...')
#具体的打电话动作
call()
call()

运行结果:

二、函数的说明文档

函数的说明文档可以理解为函数的注释,帮助程序员快速认识函数的作用。

格式:在函数的第一行,直接用三引号包裹即可。

help(函数名)可以快速查看函数的说明文档

def get_sum2(a,b):
    '''
    自定义函数,求和
    :param a:需要求和的第一个数字
    :param b:需要求和的第二个数字
    :return:返回求和的结果
    '''
    return a+b
help(get_sum2)

运行结果: 

三、函数的参数介绍

函数根据 参数返回值 不同,主要分为如下的四种写法: 

1)无参无返回值;

2)无参有返回值

3)有参无返回值;

4)有参有返回值。

定义函数的时候,写的参数列表,叫:形参;

调用函数的时候,写的参数列表,叫:实参;

函数只有被调用时,才会执行。

eg2.

def get_sum1():
    a=10
    b=5
    print(a+b)
    return #方法的最后一行,默认都有1个return,表示结束方法,并默认返回None
#2.无参有返回值
def get_sum2():
    a=10
    b=5
    return a+b
#3.有参无返回值
def get_sum3(a,b):
    print(a+b)
#4.有参有返回值
def get_sum4(a,b):
    return a+b

四、变量的作用域

变量的作用域是指变量的作用范围,即:变量在哪里能用,哪里不能用。
根据变量的作用范围不同,分为局部变量和全局变量。

局部变量:
    1.定义到函数的形参列表或函数内部的变量;
    2.只能在函数内部使用,出了函数就无法使用;
    3.生命周期:随着函数的调用存在,函数的调用完毕就消失。

全局变量:
    1.定义到函数外部的变量或者global修饰的变量;
    2.在当前模块中的函数,都可以使用.
    3.生命周期:随着模块的加载而存在,模块的卸载而消失。

global关键字介绍:
    作用/概述:
        被它修饰的变量->全局变量,可以实现,定义 函数内的变量,在函数外使用。

eg3.

#演示局部变量
def myfun():
    a=10
    return a
myfun()
print(f'a={a}')

运行结果:

运行结果会报错,原因是a是局部变量,只能在函数内部使用,函数调用完毕之后就会消失。

eg4.演示全局变量

#演示全局变量
a=10
def myfun():
    return a
myfun()
print(f'a={a}')

运行结果:

此时不会报错,因为a是全局变量,当前模块的函数都可以使用。

eg5.演示全局变量,global关键字修饰

a=10
def myfun():
    global a
    a=20
    return a
myfun()
print(f'a={a}')

运行结果:

补充细节:使用变量遵循就近原则,局部位置有就用,没有就去当前脚本的全局位置去找,有就用,没有就报错(不严谨,对于面向对象的程序设计,会从对象的父类中去找)。

eg6.

a=20
def myfun():
    a=10
    return a
result=myfun()
print(f'result={result}')

运行结果:

a在函数内的局部位置存在,就 先用局部位置的a。

下期继续分享~


网站公告

今日签到

点亮在社区的每一天
去签到