扣丁学堂Python培训之函数返回值的示例代码详解

2019-03-11 15:16:31 1135浏览

今天扣丁学堂Python培训老师给大家介绍一下关于Python函数返回值的示例代码,文中通过示例代码介绍的非常详细,下面我们一起来看一下吧。



0x  00返回值简介

回顾下,上一节简单介绍了函数及其各种参数,其中也有简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值作为函数的输出,可以用变量接走,继续使用该返回值做其它事。

函数需要先定义后调用,函数体中return语句的结果就是返回值。如果一个函数没有reutrn语句,其实它有一个隐含的return语句,返回值是None,类型也是'NoneType'。

return语句的作用:结束函数调用、返回值

0x   01指定返回值与隐含返回值

函数体中return语句有指定返回值时返回的就是其值

函数体中没有return语句时,函数运行结束会隐含返回一个None作为返回值,类型是NoneType,与return、returnNone等效,都是返回None。

指定return返回值函数举例:

def showplus(x):
  print(x)
  return x + 1
    
num = showplus(6)
add = num + 2
print(add)

输出结果:

6
9 

隐含returnNone举例:

def showplus(x):
  print(x)
  
num = showplus(6)
print(num)
print(type(num))

输出结果:

6
None
<class 'NoneType'> 

0x02return语句位置与多条return语句

python函数使用return语句返回"返回值",可以将其赋给其它变量作其它的用处

所有函数都有返回值,如果没有return语句,会隐式地调用returnNone作为返回值

一个函数可以存在多条return语句,但只有一条可以被执行,如果没有一条reutrn语句被执行,同样会隐式调用returnNone作为返回值

如果有必要,可以显式调用returnNone明确返回一个None(空值对象)作为返回值,可以简写为return,不过python中懒惰即美德,所以一般能不写就不写

如果函数执行了return语句,函数会立刻返回,结束调用,return之后的其它语句都不会被执行了

举例1:

def showplus(x):
  print(x)
  return x + 1
  print(x + 1) #该语句会执行么
print(showplus(6))

输出结果:

6
7

举例2:

def showplus(x):
  print(x)    # 5
  return x + 1  # 6
  return x + 2  # 该语句也不会被执行
print(showplus(5))

输出结果:

5
6

举例3:

def guess(x):
  if x > 3:
    return "> 3"
  else:
    return "<= 3"
print(guess(10))
print(guess(2))

输出结果:

> 3
<= 3

举例4:

# for .. else .. 语句 (意外终止情况)
# 表示如果 for 语句段的内容正常循环结果才会执行 else 段的语句,如果 for 在循环过程中时被 break 或者 return 语句意外终止循环,就不会执行 else 段中的语句。
def fn(x):
  for i in range(x):
    if i > 4:
      return i
  else:
    print("{} is not greater than 4".format(x))
print(fn(3))
print(fn(6))

返回结果:

is not greater than 4
None

0x03返回值类型

无论定义的是返回什么类型,return只能返回单值,但值可以存在多个元素。

return[1,3,5]是指返回一个列表,是一个列表对象,1,3,5分别是这个列表的元素

return1,3,5看似返回多个值,隐式地被Python封装成了一个元祖返回

举例1:

def fn():
  return 3  #单值时,返回的是什么类型
   
print(fn())
print(type(fn()))

输出结果:

<class 'int'>    #int 整数类型

举例2:

def showlist():
  return [1,3,5]  #多元素,返回的是什么类型
print(type(showlist()))
print(showlist())

输出结果:

<class 'list'>
[1, 3, 5]    #列表类型

举例3:

def showlist():
  return (2,4,6)  #多元素,返回的是什么类型
print(type(showlist()))
print(showlist())
输出结果:
<class 'tuple'>    #元祖类型
(2, 4, 6)

举例4:

def showlist():
  return 2,4,6  #多值时,不指定类型
print(type(showlist()))
print(showlist())
输出结果:
<class 'tuple'>    #默认封装成元祖类型

0x04函数嵌套

函数有可见范围(内外可见关系),这就是作用域的概念。

内部函数不能被外部直接调用,会抛异常NameError。

举例1:

def outer():
  def inner(): #可以理解为内部函数
    print("inner") 
  print("outer")
outer()
输出结果:
outer

此时如果调用outer(),只会执行print("outer"),因为inner虽然在outer函数内,但它也是一个函数,函数如果要调用,就必须用'函数名()'方式。

举例2:
def outer():
  def inner():
    print("inner")
  print("outer")
inner()  #外部无法引用内部函数,内部函数只在本地作用域有效
输出结果,抛出异常:
Traceback (most recent call last):
  File "C:/python/return_value.py", line 6, in <module>
    inner()
NameError: name 'inner' is not defined

举例3:

def outer():
  def inner():
    print("inner")
  print("outer")
  inner()
outer()
输出结果:
outer
inner

此节介绍了函数的返回值、返回值的作用,指定与不指定返回值时的不同,返回值类型,以及函数嵌套时返回值的使用。

以上就是关于扣丁学堂Python培训之函数返回值的示例代码详解的全部内容,希望对大家的学习有所帮助,最后想要了解更多关于Python方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供Python学习视频教程共大家学习,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频直播课定能让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:279521237。

扣丁学堂微信公众号 


关注微信公众号获取更多学习资料 


 

查看更多关于"Python开发资讯"的相关文章>

标签: Python培训 Python视频教程 Python在线视频 Python学习视频 Python培训班

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号