定义一个函数:可以定义一个由自己想要功能的函数,以下是简单的规则:

(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语句的更多相关文章

  1. 高程(3):操作符、for、for...in循环、break/continue/return语句、函数等

    1.关系操作符 注意点:1)比较操作数是两个字符串,是比较字符串的字符编码值. 如:"a" > "b"  返回 false:"a" & ...

  2. 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)

    Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有r ...

  3. 0016 Java学习笔记-异常-如果try-catch-finally中都存在return语句会怎样?

    上午在搜索"System.runFinalization"的时候,搜到 http://www.cnblogs.com/Skyar/p/5962253.html ,其中有关于try- ...

  4. javascript简单的认识下return语句+2015的总结+2016的展望

    好久没更新博客了...自从有了mac之后世界变得简单了...日常么,除了研究代码,看别人的代码,写自己的代码.就那样.... 吐槽点:window配个nodejs的环境花了九头牛两只老虎的力气,mac ...

  5. 有return语句情况下,try-catch-finally的执行顺序

    重要结论: 1.不管有没有出现异常,finally块中代码都会执行 2.当try和catch中有return时,finally仍然会执行 3.finally是在return后面的表达式运算后执行的(此 ...

  6. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?

    这是一个很有趣的问题,我测试的结果是:是在return中间执行. 我在网上搜寻了一些资料,下面是参考代码: /** * */ package com.b510.test; /** * try {}里有 ...

  7. java finally中含return语句

    <java核心技术卷一>中提到过:当finally子句包含return 语句时(当然在设计原则上是不允许在finally块中抛出异常或者 执行return语句的,我不明白为何java的设计 ...

  8. Java异常处理中finally中的return会覆盖catch语句中的return语句

    Java异常处理中finally中的return会覆盖catch语句中的return语句和throw语句,所以Java不建议在finally中使用return语句 此外 finally中的throw语 ...

  9. javascript-函数的参数和return语句

    × 目录 [1]参数 [2]Arguments对象 [3]函数重载 [4]return 语句 ------------------------------------- 一.参数(最多25个) 可以动 ...

  10. 返回类型和return语句

    return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方.return语句有两种形式: return; return expression; 无返回值函数 没有返回值的return语句只 ...

随机推荐

  1. java一键搭建新项目(地址)

    构建地址:   https://start.spring.io 文档地址:https://www.cnblogs.com/ityouknow/p/5662753.html

  2. 一个web应用的诞生(6)

    之前登录注册的功能都已经完成,但是登录成功回到首页发现还是白茫茫的一片,对的,title一直都写得博客,那么最终目的也是写出一个轻博客来,但是,在发表文章之前是不是要先记录一下登录状态呢? 用户登录 ...

  3. HDU-3416-MarriageMatch4(最大流,最短路)

    链接: https://vjudge.net/problem/HDU-3416 题意: Do not sincere non-interference. Like that show, now sta ...

  4. 【leetcode】1217. Play with Chips

    题目如下: There are some chips, and the i-th chip is at position chips[i]. You can perform any of the tw ...

  5. HTML5测试(二)

    HTML5测试(四) 1.input 元素中,下列哪个类型属性定义了输入电话号码的控件? A.mob B.tel C.mobile D.telephone 答案:B 具有 type 属性的 input ...

  6. 那些10w+的公众号都在写什么?

    出于好奇,那些10w+的公众号都写了些什么,于是我写了几个脚本爬取了各行业Top的公众号文章,进行了关键词统计. 抓取数据.分析用到了3中语言:Node.js,Java,Python.废话不多说,直接 ...

  7. 完美解决safari、微信浏览器下拉回弹效果。

    完美解决safari.微信浏览器下拉回弹效果,只保留局部回弹效果. CSS代码 .box{ overflow: auto; -webkit-overflow-scrolling: touch; } H ...

  8. gdal test

    https://blog.csdn.net/hb_programmer/article/details/81807699 gdal/ogr是一个光栅和矢量地理空间数据格式的翻译库,由开源地理空间基金会 ...

  9. Mybatis学习笔记之---多表查询(2)

    Mybatis多表查询(2) (一)举例 用户和角色 一个用户可以有多个角色,一个角色可以赋予多个用户 (二)步骤 1.建立两张表:用户表,角色表,让用户表和角色表具有多对多的关系.需要使用中间表,中 ...

  10. 说下Java堆空间结构,及常用的jvm内存分析命令和工具

    Java堆空间结构图:http://www.cnblogs.com/SaraMoring/p/5713732.html JVM内存状况查看方法和分析工具: http://blog.csdn.net/n ...