2012-01-18 8 views
1

私はDjangoアプリケーションを作成しています。私はPythonのバックティック演算子を使って整数を文字列に変換することがよくあります。私のDjangoアプリケーションでバックトリック文字列変換が散発的に動作するのはなぜですか?

最近、私のアプリケーションのフォームが壊れていたことがわかりました。いくつかのバッククォートをstr()に書き直した後、アプリケーションは修正されました。もちろんオブジェクトである

は、具体的には、私は、アプリケーションを修正するstr(course.id)

`` course.id

を変え。

バックティックオペレータはいつ動作するのですか?ありがとう。

+1

可能な複製:[バックティックはPythonインタプリタに何を意味するのですか: 'num'](http://stackoverflow.com/questions/1673071/what-do-backticks-mean-to-the-python-interpreter-num ) –

答えて

5

バックチックはrepr()のエイリアスであり、str()ではエイリアスではありません。 repr()str()が同じ値を返すタイプがあります。そのため混乱します。ユーザーの出力には、常にstr()を使用する必要があります。バックチックはおそらく全く使用すべきではありません。Python 3.xで削除されたのは誤っていると考えられたからです。

+1

+1彼らは(バックティック)コードゴルフをするときに便利ですが、それはあなたがその使い方で逃げる唯一の場所です。それらを他の場所で見ることは非常にまれです。 – ChristopheD

+2

そしてdjangoではstr()ではなくunicode()を使用するべきでしょう –

+0

なぜunicode()ですか? – dangerChihuahua007

関連する問題