09. Python语言的核心编程 · 第九章 Python语言的函数(中)

本文介绍了Python函数的核心概念,包括函数的返回值、文档字符串的使用、作用域(全局与函数作用域)以及全局变量的控制。通过实例详细解析了如何使用return指定函数返回值,以及如何利用help()获取函数帮助信息。同时,讨论了函数作用域中的全局作用域和函数作用域,并讲解了关键字global的作用。最后,探讨了命名空间的概念,强调其作为字典的角色和locals()函数的应用。
摘要由CSDN通过智能技术生成

前情回顾:

  上一篇文章,看似讲了不少,不过呢 讲来讲去围绕的都还是 括号里的一些内容( def xxx(): ),今天这篇文章呢,我们来讲一些哪些括号之外的 神奇世界

  在开始今天的内容之前,我们先回顾一下我们上一篇主要讲的核心案例:

# 求任意数的和

def fn(*nums):
    result = 0
    for x in nums:
        result += x

    print(result)

fn(2,9,7,3)		# 21

  向函数方法 fn() 内传递任意个数的参数,通过 for 循环将所有传递进来的参数 nums 通过 变量x 都 遍历 出来,并通过在 for 循环外预先设定好的 变量result 将所有遍历到的数据 相加,最后在 for 循环外将任意数的和 print(result) 出来。如果对这个开头有什么疑问的可以重新去看看我之前的文章。
  那么,接下来我们要想哈:虽然我让这个函数为我们进行计算任意数的和,但是计算后的结果我们一定需要函数输出吗? 或者问:我们能不能把这个计算结果拿去 做别的我们需要的事情
  就上面的案例我们发现:我们把参数传递进去,计算完之后就通过 print( ) 语句把结果输出了。就上面的案例,输出的结果我们是否还无法拿去做别的事情;最起码的上面的案例是做不到的。为什么?因为这个 变量result 我们都没拿到,它至始至终都在函数的内部;无法做到 我想让它计算它就计算,我想让它打印,它就打印,无法做到明确控制。
  讲到这,下面就开始我们今天的要讲几个主要内容。

  

1. 函数的返回值

  返回值就是函数执行以后返回的结果
  通过 return 来指定函数的返回值;
  我们可以通过一个变量来接收函数的返回值,或者可以直接函数来使用函数的返回值;

  参考实例:

  1) 单纯的打印一个有返回值的函数是不会有任何的结果的;

def fn():
    return 100

fn()						# 

  2) 我们可以通过一个变量来接收函数,直接打印变量里的函数返回值;

def fn():
    return 100				# int

r = fn()
print(r)					# 100
print(fn())					# 100

#-------------------------------------------------------------------------------

def fn():
    return 'Python'			# str

r = fn()
print(r)					# Python
print(fn())					# Python

#-------------------------------------------------------------------------------

def fn():
    return [1, 2, 3]		# 列表

r = fn()
print(r)					# [1, 2, 3]
print(fn())					# [1, 2, 3]

#-------------------------------------------------------------------------------

def fn():
    return {
   'name':'张三'}	# 字典

r = fn()
print(r)					# {'name':'张三'}
print(fn())					# {'name':'张三'}

#-------------------------------------------------------------------------------

def fn():
    def fn2():
        print('Hello')

    return fn2

r = fn()
print(r)        			# <function fn.<locals>.fn2 at 0x000001648ED80940>
print(fn())     			# <function fn.<locals>.fn2 at 0x0000018DEE630A60>
r()             			# Hello

  通过以上实例,我们还得出一个结论:return 后面可以跟 任意对象 ,返回值 甚至 可以是一个 函数

  重点:如果函数里仅仅只写一个 return 或者不写 return ,则相当于函数 return Noun。

def fn():

    return

r = fn()
print(r)					# None

#-------------------------------------------------------------------------------

def fn():
    print('Hello')
    print('123')

r = fn()
print(r)					# Hello
							# 123
							# None

  在函数中,执行到 return 以后就要 返回结果 了,换个解释方式:return 以后的所有代码块将 不会执行;return 一旦执行,函数将 自动结束。(到这里,大家有没有发现:这个 return 和我们之前的 5. Python 条件控制语句细解 里讲到的循环函数 break 很相似啊)
  参考实例:

def fn():
    print('Hello')
    return
    print('123')

r = fn()					# Hello

#-------------------------------------------------------------------------------

def fn():

    for i in range(5):
        if i == 3:
            break
        print(i)
    print('循环执行完毕')

fn()
# 0
# 1
# 2
# 循环执行完毕

#-------------------------------------------------------------------------------

def fn(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值