python函数的使用方法(详细版二)

1. 函数的返回值

       •返回值就是函数执行返回的结果
       •通过return语句来指定函数的返回值
       •return后面可以跟任意对象,甚至可以是一个函数

def fun(n):
    return n#返回值是n

print(fun(3))#输出结果:3

       •可以直接使用函数的返回值,另一种方式通过一个变量来接收函数的返回值

def fun(n):
    return n

r = fun(3)#使用变量r来接收函数返回值
print(r)#输出结果:3

       •在函数中,return语句后的代码都不会执行,return语句一旦执行,函数将自动结束
       •函数体中没有 return 语句时,函数运行结束会隐含返回一个 None 作为返回值,类型是 NoneType,与 return 、return None 等效,都是返回 None。

def fun():
    print('我爱你')
    return#语句执行,函数自动结束
    print('我也爱你')
r=fun()#r接受函数返回值,并执行函数
print(r)
#输出结果:
我爱你
None

2. 文档字符串

       •help()是Python中内置函数,通过help()函数可以查询Python中函数的用法
       •语法表现:help(函数对象)

help(print)#查询print函数的用法

输出结果:
在这里插入图片描述
       •在定义函数时,可以在函数内部编写文档字符串,文档字符串就是对函数的说明

3. 函数的作用域

       •作用域(scope) 指的就是变量生效的区域

全局作用域(全局变量)

       •全局作用域在程序执行时创建,在程序执行结束时销毁
       •所有函数以外的区域都是全局作用域
       •在全局作用域中定义的变量,都是全局变量,全局变量可以在程序的任意位置进行访问

a = 10#定义a为全局变量
def fun():
    print(a)#输出全局变量a

fun()#输出结果:10
局部作用域(局部变量)

       •局部作用域在函数调用时创建,在调用结束时销毁
       •函数每调用一次就会产生一个新的局部作用域
       •在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问
       •注意:当一个变量即被定义为全局变量,又被定义为局部变量时,优先使用函数内部的局部变量,没有局部变量时即可使用全局变量。(就近原则)

a = 10#全局变量
def fun():
    a = 20#函数内部的局部量,
    print('a=',a)

fun()#输出结果:a= 20

       •在函数内部修改全局变量,需要使用global关键字,来声明局部变量

a = 111#全局变量a
def fun():
    global a#定义a为全局变量
    a = 222#修改全局变量a的值
    print('局部变量a=', a)#输出局部变量

fun()
print('全局变量a=', a)#输出全局变量
#输出结果:
局部变量a= 222
全局变量a= 222

4. 命名空间

       •命名空间实际上就是一个字典,是一个专门用来存储变量的字典。
       •locals()用来获取当前作用域的命名空间
       •如果在全局作用域中调用locals()则获取全局命名空间,如果在局部作用域中调用locals()则获取函数命名空间
       •命名空间的返回值是一个字典

def fun(like):
   name = 'cx'
   print(locals())

fun('python')
#输出结果:{'like': 'python', 'name': 'cx'}

       •返回值为字典,即可使用字典的方法:添加,删除等等

def fun(like):
   name = 'cx'
   r=locals()#将返回值赋值给r
   r['a']=666#添加键值对
   print(r)#输出r
fun('python')
#输出结果:{'like': 'python', 'name': 'cx', 'a': 666}

猜你喜欢

转载自blog.csdn.net/qq_45261963/article/details/107528301
今日推荐