• 返回值是函数才有的概念;
  • 语句:statement,用来执行,本身自然无的含义;
  • 表达式:expression,可以有表达式值
  • Python 中:赋值(=)为语句 assignment statement
  • C 中:先有的赋值表达式(assignment expression),赋值表达式+; ⇒ 赋值语句;

Python 中的赋值语句

在 Python 中,赋值为语句(statement),不具有值(value)的含义;

# Python
>>> a = b = 3
>>> a = (b=3)File "<ipython-input-38-da144da09871>", line 1a = (b=3)^
SyntaxError: invalid syntax>>> print(a = 1)
TypeError: 'a' is an invalid keyword argument for this function# 更加地错不可言# 此时的 a=1 不仅不是赋值表达式,# 赋值语句都不是,# 从函数的观点,a 是关键字参数,1是传递进来的该参数的值

C/C++ 的赋值表达式

// C
int a, b, c;
// 以下的两条语句等价
a = b = c = 3;
a = ( b = (c = 3));

赋值(=)在 C 语言中有着较为丰富灵活的用法;

  • 由于赋值运算符的右结合性(右结合返回左值),赋值符=右侧的表达式也可以是一个赋值表达式
int a, b, c, d, e;
a = b = c = d = e = 5;
// 根据赋值运算的右结合性,实际上等效为
e = 5;
d = e;
c = d;
b = c;
a = b;
// 或者写为
a = (b = (c = (d = (e = 5))));

因为赋值表达式的右结合性,也即 a = b = c = 5 ⇔\Leftrightarrow a = (b = (c = 5)),在变量的声明中,不允许连续赋值,

int a = b = 5;// 错误,// int a = (b = 5);// 此时 b 未定义

References

[1] 为什么在python3里b=a=1是合理表达式,而print(a=1)却不是。a=1为什么没有返回值?

[2] C语言赋值语句详解

语句乎?表达式乎?(Python/C)相关推荐

  1. python使用函数的优点-Lambda表达式在Python中的优点和缺点

    学过python的人,相信都接触过Lambda表达式.本文就来谈谈Lambda表达式在Python中的优点和缺点.一方面,Lambda函数的减少了代码的行数,方便又简洁.另一方面,Lambda表达式有 ...

  2. [转载] python中的且语句_简单探讨python中的语句和语法

    参考链接: 在Python中解包:并行分配之外 python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了, ...

  3. python非法表达式_下列哪个表达式在Python中是非法的?

    [单选题]20.分析前的质量保证不包括 [单选题]关于import引用,以下选项中描述错误的是 [单选题]在正常人血清蛋白质醋酸纤维素薄膜电泳图谱中区带最深的是 [单选题]以下选项中,不是Python ...

  4. python判断语句_详解Python判断语句的使用方法

    本篇介绍Python判断语句的使用,主要讨论简单条件语句.多重条件语句和嵌套条件语句,在讲解的每个案例中都配有流程图和代码说明.通过本篇的学习,可以达成如下目标. ● 掌握判断语句的使用规则 ● 判断 ...

  5. “输入字符不是 MATLAB 语句或表达式中的有效字符”的解决办法

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 问题描述: 输入字符不是 MATLAB 语句或表达式中的有效字符 原因分析: 标点符号:采用了中文的标点符号 解决方案: ...

  6. 代码之谜(二)- 语句与表达式

    虽然文章标题是『语句与表达式』,在这篇文章中,我将陈述一个观点 每个表达式都有一个值.在此之外,也会继续表述这个『代码之谜』系列的主题--数学与计算机之间被经常忽略的矛盾. 简单的讲 "表达 ...

  7. Oracle的CASE语句和表达式

    http://space.itpub.net/15203236/viewspace-534849 Oracle的CASE语句和表达式 上一篇 /下一篇  2009-01-09 23:19:46 / 天 ...

  8. JS把命令式语句转换为表达式

    本文来自CCTV5直播[www.cctv5zb.net]:原文地址 www.cctv5zb.net/Article/198131.html 转载注明来源 js教程在表达式运算中,求值是运算的核心.由于 ...

  9. Kotlin入门与进阶:语法(二)类成员,运算符,语句,表达式

    上一篇文章着重介绍了Kotlin中的常量与变量,函数和Lambda表达式(点我补课),这一篇文章专注于类成员,运算符,各种语句和表达式. 类成员 包括属性和方法. 属性:也就是成员变量,是指类范围内的 ...

  10. 哪些语句在python中非法_下列语句中,在Python中是非法的

    下列语句中,在Python中是非法的 答:x=(y=z+1) 优学院: 大学生作为改革创新的生力军,应从()起步 答:学习扎实系统的专业知识 马克思.恩格斯在( < >)中充分肯定了资本主 ...

最新文章

  1. Android数据存储之GreenDao 3.0 详解
  2. 小芭比linux怎么装win7_小户型再怎么装也是小?看完我闭嘴了
  3. cnpm 没反应_世界上“最蠢”的鱼, 被吃了一半还没反应, 但永远不会灭绝
  4. lisp成套电气设计_关于成套设计转电气设计问题?
  5. Ubuntu对CPU进行测试
  6. C语言版:二叉树叶子结点和非叶子结点求法
  7. t450加固态硬盘教程_联想 thinkpad t450s 加装固态硬盘及内存图解
  8. SitePoint Podcast#175:版式
  9. E4A双击返回键退出程序源码
  10. ImageLoader加载图片闪烁
  11. php英文验证码,php 中英文验证码程序
  12. mac mysql版本_mac mysql安装哪个版本
  13. mht转换html delphi,delphi – 创建*. Mht文件(网络档案)
  14. 使用copy con命令创建批处理文件
  15. HDU 1495 非常可乐(数论)
  16. Generalizing to Unseen Domains: A Survey on Domain Generalization 论文分享
  17. [网络安全]数据安全领域关键技术总结
  18. 华为不能升级鸿蒙的手机怎么办,华为宣布鸿蒙将出,这几款手机无法升级鸿蒙系统,看看有没有你的...
  19. SolarWinds安装、配置、使用手册
  20. 10Wqps 超高并发 API网关 架构演进之路

热门文章

  1. knife4j--api请求参数不一致问题
  2. Kafka核心概念及核心机制
  3. flex接收java返回集合,前台的的flex对Java返回list类型的处理
  4. ue4蓝图运行顺序_UE4蓝图解析(四)
  5. Watermaker水位线/水印
  6. LeetCode 94. 二叉树的中序遍历(递归)(迭代)(颜色标记法)
  7. Qt面试题(一)Qt信号槽第五个参数
  8. 浅析error LNK2001: unresolved external symbol public: __thisc...
  9. 二叉搜索树+快速排序 查到文本中出现频率最多的100个词 【留学生作业】
  10. 给postmessage加上callback方法