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

(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. 通过shell监控网页是否正常,然后促发邮件告警

    最近在网上找了下通过shell编写一个脚本来监控网页是否正常,如果不正常则促发邮件告警,修复后有一个修复的通知邮件:但一直没有找到全面的,所以自己研究了下,写了一个linux对接邮箱和通过shell写 ...

  2. pandas Series和dataframe

    DataFrame是一个表格型数据结构,与Series不同的是,DataFrame可以含有一组或者有序的列,每列可以使不同的值的类型,它可以被看做成Series的字典.

  3. 【leetcode】Find Largest Value in Each Tree Row

    You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ \ 5 3 ...

  4. 计时器 GC垃圾回收 demo

    计时器: public void start() { //定义计时器 Timer timer=new Timer(); //定义运行间隔(数字越小,速度越快) int interval=30; //创 ...

  5. 函数中的this与 this.prototype

    函数中的this添加函数是加在对象上,而this.prototype是添加在原型上,通过prototype的指向来一级一级查找 prototype是构造函数访问原型对象,__proto__是对象实例访 ...

  6. luogu P1083 借教室 x

    P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...

  7. 计蒜客 A1607 UVALive 8512 [ACM-ICPC 2017 Asia Xi'an]XOR

    ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来 ...

  8. sh_10_嵌套打印小星星

    sh_10_嵌套打印小星星 # 需求 # # 在控制台连续输出五行 *,每一行星号的数量依次递增 # * # ** # *** # **** # ***** # 开发步骤 # # 1> 完成 5 ...

  9. 【Leetcode】最长回文子串

    启发 1)做题前一定要读懂题目 在本题中,首先要清楚地定义回文子串的概念,然后才能设计算法查找它. 如中心扩散法,其主要思想在于找到一个回文子串的定义——两侧互为镜像.进一步分为奇数长度和偶数长度进行 ...

  10. android和网络连接相关的类URL,URLConnection,HttpURLConnection,HttpClient

    这几个类都是用于和服务器端的连接,有些功能都能够实现,关系是: 一.URL URL标识着网络上的一个资源:该类包含一些URL自身的方法,如获取URL对应的主机名称,端口号,协议,查询字符串外,还有些方 ...