python中def和return是必须使用吗-闲话Python之def中傻傻分不清的print和return
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相关推荐
- Python 中print 和return 的区别
1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...
- python中返回值为ture表达式_python return逻辑判断表达式(21)|python教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 一.return逻辑判断表达式 and and:遇假则假,所以前面为假就不执行和判断后面直接返回假:前面为 ...
- python def函数报错详解_【python】详解python函数定义 def()与参数args、可变参数*args、关键参数**args使用实例...
Python内置了很多函数,可以直接调用.Python内置的函数可以通过官方文档查看.也可以通过help()查看帮助信息.函数名是指向函数对象的引用,把函数名赋给变量,相当于给函数起了别名. 1. 定 ...
- python计算运动会某个参赛选手的得分。数据保存在文件中_Python基础教程之第二章---变量和字符串(1) 搬运...
Python变量及其使用 无论使用什么语言编程,其最终目的都是对数据进行处理.程序在编程过程中,为了处理数据更加方便,通常会将其存储在变量中. 形象地看,变量就像一个个小容器,用于"盛装&q ...
- 【Python教程】 print 和return 的区别
1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...
- f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码
f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...
- 计算一个list中数据的平均数、中位数和众数【python实现】
一个数列的平均数的定义为,所有数值求和再除以数列长度 中位数定义为,将一个数列排序后位于中间的数值(数列长度为奇数时,取正中间的数,长度为偶数时,去中间的两个数的平均) 众数定义为,在一个数列中,出现 ...
- python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)
在python中减去两个字符串(Subtract two strings in python) 我应该计算两个不同列表的元素之间的差异. 这是我的代码: import operator a = ['5 ...
- python在工厂中的应用_什么是工厂函数?Python 中工厂函数怎么理解?
其实谈工厂函数前必须首先把嵌套作用域和闭包讲清楚 python有一个很有意思的地方,就是def函数可以嵌套在另一个def函数之中.调用外层函数时,运行到的内层def语句仅仅是完成对内层函数的定义,而不 ...
最新文章
- nyoj------203三国志
- startActivities的使用
- linux 搭建.net运行环境,.net core运行环境搭建 linux + windows
- Java 设计模式之 State 状态模式
- Scrapy爬虫抓取ZOL手机详情
- aws php sns,PHP中的AWS SNS HTTP订阅确认
- 2019-05-22 SperScan扫描器;SperScan附属工具
- javaScript中的Object类型
- 2017年程序员必看的纪录片
- android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
- outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理
- Pascal 英语句子语法解析器
- 【html5基础学习速成】
- Unity_粒子特效
- 朋友千千万,知己有几人。转些短句。
- 使用梯度上升法求解 PCA 问题
- 【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考
- 今天在5460同学录的留言
- ERP的工单(MO)
- KY35 最简真分数
热门文章
- IntPtr 转 string
- mysql建立联合索引_mysql之联合索引
- linux判断redis是否启动成功_查看linux上面是否有安装redis,redis启动
- 重庆11中学校计算机比赛,重庆大学第十七届“树声前锋杯”程序设计大赛成功举办...
- python爬虫爬取武汉房价信息
- 欧几里得范数(L2范数)
- scala map排序
- 从0到1学SpringCloud——08 通过fegin实现微服务之间请求调用
- openssh windows10 download 下载与安装
- docker安装以及部署