在Python中模擬C中的 運算子

2021-06-03 16:54:21 字數 835 閱讀 4385

references: 

首先我們需要在python裡面用乙個語句達到下面的效果:

if a:

return b

else:

return c

用list,我們可以這麼表示:

[c, b][bool(a)]
這個是什麼意思呢?

首先[c, b]建立了乙個含有[c, b]的list

去這個list裡面的元素的第bool(a)個,我們知道false轉成int是0, true轉成1。所以a為false的時候,取[0],也就是c;true的時候,取[1],也就是b。

還有一種寫法是如下:

(a and [b] or [c])[0]

我們還可以這個表示:

a and b or c
這個看到,python裡面的boolean operator是下面這麼定義的:

x or y

if x is false, then y, else x

(1)x and y

if x is false, then x, else y

(1)not x

if x is false, then true, else false

(2)

所以當a為true的時候,就會返回b。如果a為false的時候,就會返回c。

但是這個用法的乙個限制就是當b為false(或者可以轉化成false)的時候,就會返回c。所以還是推薦使用list version。

在C 中實現矩陣運算

在c 中實現矩陣運算 環境 主機 xp 開發環境 vs2008 功能 在c 中實現矩陣運算 源 using system using system.collections.generic using system.componentmodel using system.data using syst...

6 1 2 1 在 C 中模擬自定義運算子

6.1.2.1 在 c 中模擬自定義運算子 在 c 中,雖然可以過載現有的運算子,但是,不能宣告新的運算子。然而,在某種程度上,使用擴充套件方法,可以實現相同的模式。擴充套件方法是 c 3.0 中的一項新功能,下面我們簡要介紹一下。擴充套件方法 extension methods 在 c 中,每個方...

python運算子中 Python中的運算子

python中的運算子 數 算符 比較運算子 邏輯運算子 賦值運算子 1.數 算符 乘法 除法 取模 取餘 求餘數 整除 冪運算 1 和數學中的功能一模一樣,沒有區別 print 1 1 print 1 1 print 1 1 注意 的結果是浮點數。print 1 1 1.0 print 5 2 2...