タグ付けされた質問 「python-2.x」

言語のバージョン2.xに固有のPythonプログラミングに関する質問。質問がバージョン固有でない場合は、より一般的な[tag:python]タグを使用してください。

10
Pythonで浮動小数点を整数に変換する最も安全な方法は?
Pythonの数学モジュールには、floor&などの便利な関数が含まれていますceil。これらの関数は、浮動小数点数を取り、その下または上にある最も近い整数を返します。ただし、これらの関数は答えを浮動小数点数として返します。例えば: import math f=math.floor(2.3) 今すぐf返します: 2.0 丸めエラーのリスクを冒すことなく(たとえば、フロートが1.99999に相当する場合)、このフロートから整数を取得する最も安全な方法は何ですか?

7
ジェネレータから1つのアイテムだけを選択する方法(Python)?
次のようなジェネレーター関数があります。 def myfunct(): ... yield result この関数を呼び出す通常の方法は次のとおりです。 for r in myfunct(): dostuff(r) 私の質問、好きなときにいつでもジェネレータから要素を1つだけ取得する方法はありますか?たとえば、私は次のようなことをしたいと思います: while True: ... if something: my_element = pick_just_one_element(myfunct()) dostuff(my_element) ...

4
「1 ..__ truediv__」とは何ですか?Pythonには..(「ドットドット」)表記構文がありますか?
私は最近、Pythonを学んだときに見たことのない構文も、ほとんどのチュートリアルでも、..表記法は次のようになります。 f = 1..__truediv__ # or 1..__div__ for python 2 print(f(8)) # prints 0.125 私はそれが(もちろんそれがより長いことを除いて)まったく同じであると考えました: f = lambda x: (1).__truediv__(x) print(f(8)) # prints 0.125 or 1//8 しかし、私の質問は次のとおりです。 どうすればそれができますか? 2つのドットは実際にはどういう意味ですか? (可能な場合)より複雑なステートメントでどのように使用できますか? これはおそらく私に将来多くのコード行を保存するでしょう... :)


6
エンコード/デコードの違いは何ですか?
str / unicodeのデコードとエンコードの違いを理解していることを確信できませんでした。 私はそれstr().decode()が特定の文字エンコーディングを持っていることがわかっているバイトの文字列を持っているときに、そのエンコーディング名がUnicode文字列を返すことを知っています。 unicode().encode()与えられたエンコーディング名に従ってユニコード文字をバイトの文字列に変換することを知っています。 しかし、私は何str().encode()を理解していないのかunicode().decode()。誰かが説明できますか、そしておそらく私が上で間違っている他の何かを修正することもできますか? 編集: いくつかの答え.encodeは文字列で何が行われるかについての情報を提供しますが、誰.decodeもがユニコードで何が行われるのかを知りません。

2
Python 2はstringとintをどのように比較しますか?リストが数値より大きいと比較し、タプルがリストより大きいとなぜですか?
次のスニペットは、出力で注釈が付けられます(ideone.comに表示されます): print "100" < "2" # True print "5" > "9" # False print "100" < 2 # False print 100 < "2" # True print 5 > "9" # False print "5" > 9 # True print [] > float('inf') # True print () > [] # True 誰かが出力がそのようなものである理由を説明できますか? …

14
Pythonを使用したWebスクレイピングJavaScriptページ
シンプルなWebスクレイパーを開発しようとしています。HTMLコードなしでテキストを抽出したい。実際、私はこの目標を達成しましたが、JavaScriptがロードされている一部のページでは、良い結果が得られなかったことがわかりました。 たとえば、JavaScriptコードがテキストを追加する場合、それを表示できません。 response = urllib2.urlopen(request) 追加されたテキストなしで元のテキストを取得します(JavaScriptがクライアントで実行されるため)。 だから、私はこの問題を解決するためのいくつかのアイデアを探しています。

10
変数がPython 2および3互換の文字列かどうかを確認する方法
私が使用できることは承知しています:isinstance(x, str)python-3.xでもpython-2.xでも何かが文字列かどうかを確認する必要があります。ウィルisinstance(x, str)のpython-2.xので期待どおりに動作しますか?または、バージョンを確認して使用する必要がありますisinstance(x, basestr)か? 具体的には、python-2.x: >>>isinstance(u"test", str) False とpython-3.xにはありません u"foo"




3
Python:Unicodeエスケープ文字列での.format()の使用
Python 2.6.5を使用しています。私のコードでは、「以上」記号を使用する必要があります。ここに行く: >>> s = u'\u2265' >>> print s >>> ≥ >>> print "{0}".format(s) Traceback (most recent call last): File "<input>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265' in position 0: ordinal not in range(128)` このエラーが発生するのはなぜですか?これを行う正しい方法はありますか?.format()関数を使用する必要があります。

6
デフォルトのエンコーディングがASCIIの場合、なぜPythonはUnicode文字を出力するのですか?
Python 2.6シェルから: >>> import sys >>> print sys.getdefaultencoding() ascii >>> print u'\xe9' é >>> 「é」文字はASCIIの一部ではなく、エンコーディングも指定していないため、printステートメントの後に意味不明またはエラーが発生するはずです。デフォルトのエンコーディングであるASCIIが何を意味するのか理解できません。 編集 編集を[ 回答]セクションに移動し、提案どおりに承認しました。


12
Python除算
私は-100から0までの数値のセットを10-100の範囲に正規化しようとしていて、変数がまったくない場合でも、これが期待どおりに評価されないことに気づくだけの問題がありました。 >>> (20-10) / (100-10) 0 フロート除算も機能しません。 >>> float((20-10) / (100-10)) 0.0 部門のどちらかの側がフロートにキャストされた場合、機能します。 >>> (20-10) / float((100-10)) 0.1111111111111111 最初の例の両側は、intとして評価されています。つまり、最終的な回答がintにキャストされます。0.111は.5より小さいため、0に丸められます。私の見解では、それは透過的ではありませんが、私はそれがそうであると思います。 説明は何ですか?
133 python  math  python-2.x 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.