return语句
定义一个函数:可以定义一个由自己想要功能的函数,以下是简单的规则: (1)、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。 (2)、任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 (3)、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 (4)、函数内容以冒号起始,并且缩进。 (5)、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None 语法: def functionname( parameters ): "函数_文档字符串" function_suite return [expression] PS:默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。 函数调用: 定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。 这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。 有return: def printme( str ):
"打印任何传入的字符串"
print(str)
return #----------------------------------- def printm( str ):
"打印任何传入的字符串"
print(str)
return if __name__ == "__main__": printme('')
printme('') 执行结果: 12345
1234567 ================================================================ 无return: def printme( str ):
"打印任何传入的字符串"
print(str) #----------------------------------- def printm( str ):
"打印任何传入的字符串"
print(str) if __name__ == "__main__": printme('')
printme('') 执行结果: 12345
1234567 ================================================================ 都有return: def printme( str ):
"打印任何传入的字符串"
print(str)
return #----------------------------------- def printm( str ):
"打印任何传入的字符串"
print(str)
return print(printme(''))
print(printm('')) 执行结果: 12
None
12345
None ================================================================= 没有return: def printme( str ):
"打印任何传入的字符串"
print(str) #----------------------------------- def printm( str ):
"打印任何传入的字符串"
print(str) print(printme(''))
print(printm('')) 执行结果: 12
None
12345
None ================================================================= python中print函数需要返回值,如果你在print函数中所放的函数没有返回值,那么print将会return None 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。 因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return 在Python中return函数返回值return,函数中一定要有return返回值才是完整的函数,如果你没有定义Python函数返回值, 那么得到的结果是None对象。 return 在语法上只会出现于函数定义所嵌套的代码,不会出现于类定义所嵌套的代码。 如果提供了表达式列表,它将被求值,否则以 None 替代。 return 会离开当前函数调用,并以表达式列表 (或 None) 作为返回值。 当 return 将控制流传出一个带有 finally 子句的 try 语句时,该 finally 子句会先被执行然后再真正离开该函数。
return语句的更多相关文章
- 高程(3):操作符、for、for...in循环、break/continue/return语句、函数等
1.关系操作符 注意点:1)比较操作数是两个字符串,是比较字符串的字符编码值. 如:"a" > "b" 返回 false:"a" & ...
- 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)
Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有r ...
- 0016 Java学习笔记-异常-如果try-catch-finally中都存在return语句会怎样?
上午在搜索"System.runFinalization"的时候,搜到 http://www.cnblogs.com/Skyar/p/5962253.html ,其中有关于try- ...
- javascript简单的认识下return语句+2015的总结+2016的展望
好久没更新博客了...自从有了mac之后世界变得简单了...日常么,除了研究代码,看别人的代码,写自己的代码.就那样.... 吐槽点:window配个nodejs的环境花了九头牛两只老虎的力气,mac ...
- 有return语句情况下,try-catch-finally的执行顺序
重要结论: 1.不管有没有出现异常,finally块中代码都会执行 2.当try和catch中有return时,finally仍然会执行 3.finally是在return后面的表达式运算后执行的(此 ...
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?
这是一个很有趣的问题,我测试的结果是:是在return中间执行. 我在网上搜寻了一些资料,下面是参考代码: /** * */ package com.b510.test; /** * try {}里有 ...
- java finally中含return语句
<java核心技术卷一>中提到过:当finally子句包含return 语句时(当然在设计原则上是不允许在finally块中抛出异常或者 执行return语句的,我不明白为何java的设计 ...
- Java异常处理中finally中的return会覆盖catch语句中的return语句
Java异常处理中finally中的return会覆盖catch语句中的return语句和throw语句,所以Java不建议在finally中使用return语句 此外 finally中的throw语 ...
- javascript-函数的参数和return语句
× 目录 [1]参数 [2]Arguments对象 [3]函数重载 [4]return 语句 ------------------------------------- 一.参数(最多25个) 可以动 ...
- 返回类型和return语句
return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方.return语句有两种形式: return; return expression; 无返回值函数 没有返回值的return语句只 ...
随机推荐
- 微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结
前言 很久以来,一直想写一篇微信支付有关的总结文档:一方面是总结自己的一些心得,另一方面也可以帮助别人,但是因种种原因未能完全理解透彻微信支付的几大支付方式,今天有幸做一些总结上的文章,也趁此机会,将 ...
- 随机发送n位数字+字母的验证码
''' 随机发送n位数字+字母的验证码 ''' import random def get_verified(length): code = '' for i in range(length): nu ...
- 【30分钟学完】canvas动画|游戏基础(7):动量守恒与多物体碰撞
前言 一路沿着本系列教程学习的朋友可能会发现,前面教程中都尽量避免提及质量的概念,很多运动概念也时刻提醒大家这不是真实的物体运动.因为真实的物体运动其实跟质量都是密不可分的,而且质量的引入自然必须提及 ...
- Python:查看解释器的位置
以前学Python时,有时出现这样的情况:明明记得装了scipy包,怎么打import scipy报错说我没这个包? 问题出在,你的电脑上安装了不止一个Python... 而每安装一个包,仅仅在这个P ...
- 【shell】awk的next用法
awk的next相当于循环中continue的作用,next后面的语句将不再执行. 例如,下面的例子中,包含数字3的那行的print语句没有被执行. [root]$ seq | awk '{print ...
- C#调用Python(二)
python文件中有引入其他包.模块 一.源码 1.1 python源码,源码.python 打包方法,以及打包后的程序文件.请移步https://www.cnblogs.com/zhuanjiao ...
- GO语言学习笔记3-int与byte类型转换
1.主机字节序 主机字节序模式有两种,大端数据模式和小端数据模式.在网络编程中应注意这两者的区别,以保证数据处理的正确性.例如,网络的数据是以大端数据模式进行交互,而我们的主机大多数以小端模式处理,如 ...
- SQL 使用分区方法
- POJ 2289 多重二分匹配+二分 模板
题意:在通讯录中有N个人,每个人能可能属于多个group,现要将这些人分组m组,设各组中的最大人数为max,求出该最小的最大值 下面用的是朴素的查找,核心代码find_path复杂度是VE的,不过据说 ...
- SQL的积累
SQL的积累学习(不常用的经常会忘记,所以以后用到的就会记在下面): --新增字段alter table t_Student add Test varchar(200)--删除字段alter tabl ...