找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2712|回复: 1

[求助] python 里面的 expression 和 statement有什么区别呢?

1

主题

1

帖子

1

积分

贫民

积分
1
tool_man_666 发表于 2020-9-28 10:51:34 | 显示全部楼层 |阅读模式
各位好,
本人初学Python,遇到教程里面说 def 函数定义是一个statement 而lambda函数定义是一个expression,那么statement和expression有什么区别的呢?
谢谢
回复

使用道具 举报

26

主题

84

帖子

84

积分

新手

积分
84
银发的index 发表于 2020-9-29 14:04:55 | 显示全部楼层
语句是一条执行命令,
表达式是一个结果。
语句可以单独存在,表达式必须赋值后才能存在
简单的例子
a=1是语句,a+b是表达式
前者可以独立存在,后者必须给a和b赋值后才能存在。
回到函数上来def定义的函数,def其实就是赋值语句,把返回值return赋值给def后面定义的函数,如果没有返回值就返回空
lambda是一个表达式,必须有一个变量接收它才能使用,比如a=lambda s:abs(s),一般是用参数来接受。
#仅仅是举个例子,实际上这么写完全没有意义,因为python本身可以直接传递函数,直接写a=abs就行了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表