数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发数据库服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

体彩七星彩开奘结果:Python 函数返回值的示例代码

来源:脚本之家  责任编辑:小易  

河北20选五开奖结果 www.vhmyd.cn 0x 00 返回值简介

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

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

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

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

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

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

指定 return 返回值函数举例:

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

输出结果:
6

隐含 return None 举例:

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

输出结果:
6
None
<class 'NoneType'>

0x 02 return 语句位置与多条 return 语句

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

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

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

如果有必要,可以显式调用 return None 明确返回一个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

0x 03 返回值类型

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

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

return 1,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'>    #默认封装成元祖类型

0x 04 函数嵌套

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

内部函数不能被外部直接调用,会抛异常 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中闭包closure函数作为返回值的方法示例
  • python使用threading获取线程函数返回值的实现方法
  • python 详解基本语法_函数_返回值
  • python读取oracle函数返回值
  • python函数返回值实例分析
  • python中用函数作为返回值和实现闭包的教程
  • python获取android设备的gps信息脚本分享
  • python实现的二叉树算法和kmp算法实例
  • python运维开发之psutil库的使用详解
  • python中的configparser??槭褂孟杲?/a>
  • python中用altzone()方法处理时区的教程
  • 解决python3捕获cx_oracle抛出的异常错误问题
  • python连接sql server乱码的解决方法
  • flask sqlalchemy一对一,一对多的使用方法实践
  • python中偏函数partial用法实例分析
  • python根据文章标题内容自动生成摘要的实例
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 河北20选五开奖结果 - 频道导航
    Copyright © 2017 河北20选五开奖结果 www.vhmyd.cn All Rights Reserved
  • 首页 春城壹网 七彩云南 一网天下 2019-05-25
  • 莫用“安保”挡了巡视组的路—顾仁的博客—强国博客—人民网 2019-05-25
  • “吉林援疆旅游专列”19日首发 2019-05-25
  • 阵容新老更迭新帅复兴变革 斗牛军团能否重回巅峰 2019-05-24
  • 央行:按国民待遇原则逐步放开股比和业务牌照限制 2019-05-24
  • 宫颈癌疫苗接种引关注专家为你释疑 2019-05-23
  • 强势发力体育营销 世界杯中国企业改变“旁观”窘状 2019-05-23
  • [微笑]也不用担心房价会崩盘,因为亏损太多,没人会卖,只有炒房的才会急于套现会有全社会占比较小的抛售…… 2019-05-22
  • “隐形器官”与大脑关联密切  2019-05-22
  • 在粪坑里优胜的是蛆虫,在不公正的社会里优胜的是蛀虫。 2019-05-22
  • 山西省互联网违法和不良信息举报中心——黄河新闻网 2019-05-21
  • 天然气批发价改革将致气价上涨? 专家:影响不大 2019-05-21
  • 女性之声——全国妇联 2019-05-21
  • 穿防弹衣的和平鸽 艰难地站在朝美之间 2019-05-21
  • 高清:俄罗斯世界杯揭幕战即将打响 球馆外戒备森严 2019-05-20
  • 425| 42| 959| 531| 683| 103| 707| 76| 674| 915|