語句乎?表示式乎?(Python C)

2021-07-10 00:25:06 字數 1069 閱讀 5436

在 python 中,賦值為語句(statement),不具有值(value)的含義;

# python 

>>> a = b = 3

>>> a = (b=3)

file "", 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

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

a = (b = (c = 5)),在變數的宣告中,不允許連續賦值,

int a = b = 5;

// 錯誤,

// int a = (b = 5);

// 此時 b 未定義

[1] 為什麼在python3裡b=a=1是合理表示式,而print(a=1)卻不是。a=1為什麼沒有返回值?

[2] c語言賦值語句詳解

表示式語句

語句分為簡單語句和復合語句,簡單語句由乙個單獨的邏輯行構成。多條簡單語句可以存在於同一行內並以分號分隔。表示式語句屬於簡單語句。表示式語句用於計算和寫入值 大多是在互動模式下 或者呼叫乙個過程 過程就是不返回有意義結果的函式。在 python 中,過程的返回值為 none 表示式語句會對指定的表示式...

Python中的語句 表示式語句 表示式

前面幾篇文章,介紹了python中的核心物件型別 有數字 字串 列表 字典 元組等。python中除了這些核心型別外,還有一項重要的基礎 語句。那麼語句是什麼呢?語句就是寫出來句子來告訴python應該去幹什麼。程式由模組構成 模組包含語句 語句包含表示式 表示式處理物件整個邏輯就是 使用語句來實現...

表示式與語句

表示式是由運算子和運算元組合構造成。最簡單的表示式是乙個單獨的運算元,以此作為基礎,結合語言自身支援的操作符,就可以建立複雜的表示式。下面是一些表示式 4 53.14 9 a b 7 30 b 5 從這裡可以看到,運算元可以是資料常量 4,5 變數 a,b 或者是二者的組合 b 7 每乙個表示式都有...