Re: [問題] 關於 if else 的問題
※ 引述《apua (左右開攻)》之銘言:
: 我最近學到在 python 上使用如下的語法
: (element1) if (condition) else (element2)
: eg1:
: ...
: 0 0 0 0 0 1 0 0 0 0
: eg2:
: [0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
: 這種語法真的很好用, 而且跟英文文法也蠻像的
: (抱歉好像有點扯遠了)
: 我想請問一下, C++ 是否也有類似這種語法呀?
: 還是說應該是在別的程式語言有類似的語法?
這是 Python 的 conditional expression。
作為 Pythonista,我很想說對對對,其它語言「也有」這種表示式。
不過摸著良心講,conditional expression 是從 C 學過來,
而且還是很晚 (2.5) 才加進來的語言元素:
http://docs.python.org/whatsnew/pep-308.html
C 一直都有 conditional expression:
var = (condition) ? [var for true] : [var for false]
順序和 Python 定義的不太一樣,我常常忘記;Python 的比較好記。
在 Python 裡,
以下的 expression 常常被用來當作 conditional expression 的代用品:
condition and var_for_true or var_for_false
它可以「作出」conditional expression 的效果,不過不是等價的!
這個 logical construct 如果遇到 var_for_true 評估為假的時候就會破功。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 164.107.248.238
※ 編輯: yungyuc 來自: 164.107.248.238 (03/21 20:31)
※ 編輯: yungyuc 來自: 164.107.248.238 (03/21 20:32)
推
03/22 01:08, , 1F
03/22 01:08, 1F
→
03/22 01:10, , 2F
03/22 01:10, 2F
推
03/28 13:11, , 3F
03/28 13:11, 3F
→
03/29 03:57, , 4F
03/29 03:57, 4F
→
03/29 03:57, , 5F
03/29 03:57, 5F
→
03/29 03:58, , 6F
03/29 03:58, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章