Python也是提供了接口让开发者运用Python语言去自行开发函数的,而这个接口的载体就是def,接下来就让我们通过几个例子看下这个def的一些常用的用法。

请看下面这段代码:

def add(num1,num2):

result=num1+num2

return(result)

add(1,2)

###系统返回的结果:

3

在上面的代码中我们通过def定义了一个add函数,让它成为将传入它的两个参数相加的函数,当然了不仅支持加法,其他算数运算也是都支持的,比如下面这段代码:

def add1(num1,num2,num3):

equal=(num1+num2)*num3

print("("+str(num1)+"+"+str(num2)+")"+"*"+str(num3)+"="+str(equal))

add1(1,2,3)

###系统返回的结果:

(1+2)*3=9

也可以直接调用参数且顺序可以打乱:

def printinfo(name,age):

print ("名字: ",name)

print ("年龄: ",age)

printinfo("Lihua",22)

###系统返回的结果:

名字: Lihua

年龄: 22

细心地同学可能一经发现到了,以上def语句最后显示函数计算结果的语句有用print的,也有用return的,那么在def中这两者到底有什么不同呢,下面就让我根据我自己试验的一些结果来为大家揭晓答案,噔噔噔噔噔~

我们先看下这段代码:

def add(num1,num2):

result=num1+num2

return(result)

add(1,2)

def add1(num1,num2):

result=num1+num2

print(result)

add1(1,2)

###系统返回的答案:

3

3

没毛病,都是给到一个2+1的值,我们再来看看这个:

def add(num1,num2):

result=num1+num2

return(result)

print(result)

add(1,2)

###系统返回的答案:

3

诶,这就奇怪了,只返回一个,明明def里有一个return和一个print,那么这个3,是哪个返回的呢?我们接着看以下这段代码:

def printinfo(name,age):

return ("名字: ",name)

print ("年龄: ",age)

printinfo("Lihua",22)

###系统返回的结果:

("名字: ", "Lihua")

函数只返回了return的结果而后面的print语句就直接被忽略了,由此我们可以得出结论def函数其实运行完return之后其实就结束了,上个def的3其实也是return(1+2)的返回,后面的print(1+2)并未被执行,return就是def的终点,其实按照字面意思来理解,return翻译过来就是返回的意思,而print仅仅是打印的意思,一个函数的作用按道理来讲当然是应该要返回一个值,而不是打印一个值,是吧?

那如何将print也执行呢,这还不简单么,既然return是def的终点,那直接将print指令放在return指令的前面不就结了

def printinfo(name,age):

print ("名字: ",name)

return ("年龄: ",age)

printinfo("Lihua",22)

###系统返回的结果:

名字: Lihua

("年龄: ", 22)

从二者返回的值也可以看出来,return返回的值是处于一种待引用的状态,而print返回的值就是直接呈现的结果,不信咱们再举一个例子:

def add(num1,num2):

result=num1+num2

return(result)

c=add(1,2)

print(c)

###系统返回的结果:

3

add函数return了1+2的值,然后赋值给c,所以print(c)的结果就是3

def add(num1,num2):

result=num1+num2

print(result)

c=add(1,2)

>>>3

print(c)

>>>None

而在这个def中,因为用的是print,所以c=add(1,2)按下回车后就直接会打印一个3,并不会返回一个可以饮用的值,所以后面print(c)就是一个None,表示c并没有被赋予什么值。怎么样,是不是也挺简单的,下次再使用def的时候记得分清这两者用法的区别,别犯错哦~

python中def和return是必须使用吗-闲话Python之def中傻傻分不清的print和return相关推荐

  1. Python 中print 和return 的区别

    1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...

  2. python中返回值为ture表达式_python return逻辑判断表达式(21)|python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 一.return逻辑判断表达式 and and:遇假则假,所以前面为假就不执行和判断后面直接返回假:前面为 ...

  3. python def函数报错详解_【python】详解python函数定义 def()与参数args、可变参数*args、关键参数**args使用实例...

    Python内置了很多函数,可以直接调用.Python内置的函数可以通过官方文档查看.也可以通过help()查看帮助信息.函数名是指向函数对象的引用,把函数名赋给变量,相当于给函数起了别名. 1. 定 ...

  4. python计算运动会某个参赛选手的得分。数据保存在文件中_Python基础教程之第二章---变量和字符串(1) 搬运...

    Python变量及其使用 无论使用什么语言编程,其最终目的都是对数据进行处理.程序在编程过程中,为了处理数据更加方便,通常会将其存储在变量中. 形象地看,变量就像一个个小容器,用于"盛装&q ...

  5. 【Python教程】 print 和return 的区别

    1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...

  6. f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码

    f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...

  7. 计算一个list中数据的平均数、中位数和众数【python实现】

    一个数列的平均数的定义为,所有数值求和再除以数列长度 中位数定义为,将一个数列排序后位于中间的数值(数列长度为奇数时,取正中间的数,长度为偶数时,去中间的两个数的平均) 众数定义为,在一个数列中,出现 ...

  8. python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)

    在python中减去两个字符串(Subtract two strings in python) 我应该计算两个不同列表的元素之间的差异. 这是我的代码: import operator a = ['5 ...

  9. python在工厂中的应用_什么是工厂函数?Python 中工厂函数怎么理解?

    其实谈工厂函数前必须首先把嵌套作用域和闭包讲清楚 python有一个很有意思的地方,就是def函数可以嵌套在另一个def函数之中.调用外层函数时,运行到的内层def语句仅仅是完成对内层函数的定义,而不 ...

最新文章

  1. nyoj------203三国志
  2. startActivities的使用
  3. linux 搭建.net运行环境,.net core运行环境搭建 linux + windows
  4. Java 设计模式之 State 状态模式
  5. Scrapy爬虫抓取ZOL手机详情
  6. aws php sns,PHP中的AWS SNS HTTP订阅确认
  7. 2019-05-22 SperScan扫描器;SperScan附属工具
  8. javaScript中的Object类型
  9. 2017年程序员必看的纪录片
  10. android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
  11. outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理
  12. Pascal 英语句子语法解析器
  13. 【html5基础学习速成】
  14. Unity_粒子特效
  15. 朋友千千万,知己有几人。转些短句。
  16. 使用梯度上升法求解 PCA 问题
  17. 【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考
  18. 今天在5460同学录的留言
  19. ERP的工单(MO)
  20. KY35 最简真分数

热门文章

  1. IntPtr 转 string
  2. mysql建立联合索引_mysql之联合索引
  3. linux判断redis是否启动成功_查看linux上面是否有安装redis,redis启动
  4. 重庆11中学校计算机比赛,重庆大学第十七届“树声前锋杯”程序设计大赛成功举办...
  5. python爬虫爬取武汉房价信息
  6. 欧几里得范数(L2范数)
  7. scala map排序
  8. 从0到1学SpringCloud——08 通过fegin实现微服务之间请求调用
  9. openssh windows10 download 下载与安装
  10. docker安装以及部署