2016-12-25 11 views
0

ユーザーが情報を更新しようとしています。 私はこのコード行を読んでいますが、if文の前にあるbioが何をしているのかまだ分かりません。この変数はif文の前で何を意味しますか? Python

varaibleバイオ入力

bio = data.get('bio', '')

user.bio = bio if bio else user.bio

P.S.から実際に

私はちょうど気付いた、これは省略形のようなことができますか?このようにして、ユーザーが入力フィールドを空にしようとすると、実際には機能しませんか?

+1

@MoinuddinQuadriああ! thx thxは、このようにして「三項演算子」を見るのに使われませんでした。何か新しいことを学んだ – Tsuna

+0

あなたはこれら二つの行を 'user.bio = data.get( 'bio'、user.bio)'と置き換えることができ、あなたは同じ結果を得るでしょう –

+0

ところで@MoinuddinQuadri、重複して本当に申し訳ありません。投稿を削除すると思いますか?私が最初にif elseを見たとき、私は他の場所があるかどうかを考え続け、pythonについてオンラインで検索しました。それは三項演算子ではないと思っていました。それを理解しようとする – Tsuna

答えて

2

これは、ifの後の式がtrueの場合、'bio 'は'user.bio'に割り当てられる必要があることを意味します。 ifの後の式がfalseを返す場合は、elseの後の式の結果を'user.bio 'に代入します。

これは、CおよびC++?:3項演算子の式に相当するPythonです。

関連する問題