python 3.x エラー 'generator' オブジェクトに 'next' 属性がありません。
2022-02-20 11:30:08
Pythonでフィボナッチ級数を生成する
def fab(max):
n,a,b=0,0,1
while n<max:
yield b
a,b=b,a+b
n=n+1
for n in fab(5):
print(n)
正常に動作する
以下の方法で実行した場合
f=fab(5)
f.next()
次のようなエラーが発生します。
トレースバック(直近の呼び出し)。
ファイル "<pyshell#32>", 行 1, in <module>
f.next()
AttributeError: 'generator'オブジェクトには'next'属性がありません。
この理由は、python 3.xでは、ジェネレータのnext(yieldキーワードがあればジェネレータ関数として認識される)が__next__になっており、以前のバージョンのpython 3.xではnextはメソッドであったためである
以下のように正常に動作します。
f=fab(5)
f.__next__()
関連
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Python 2.7 : LookupError: unknown encoding: cp65001 [重複]。
-
[解決済み] urllib2 HTTP エラー 400: 不正なリクエスト
-
[解決済み】押されたキーをpythonスクリプトで待たせる方法とは?
-
[解決済み] python flask ImmutableMultiDict(パイソンフラスク イミュータブルマルチディクト
-
[解決済み] str' オブジェクトには 'sort' 属性がありません。
-
[解決済み] SQLAlchemy のデフォルトの DateTime
-
[解決済み] このFlaskのコードにあるgオブジェクトは何ですか?
-
[解決済み] Seaborn点描画に凡例を追加
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】TypeError: zip 引数 #1 は繰り返しをサポートする必要があります。
-
python draw bar chart error ValueError: shape mismatch: Objects cannot be broadcast to the single shape causes and solutions
-
[解決済み] Spyder IDEでMatplotlibを使用してインラインまたは別ウィンドウでプロットする。
-
[解決済み] キーボード入力でタイムアウト?
-
[解決済み] NameError: 名前 'true' が定義されていません [終了] 。
-
[解決済み] リクエスト'を解決できません。このモジュールにはインテリセンスがない可能性があります。Visual Studio/Python
-
[解決済み] discordのリッチエンベッドでgifを埋め込む方法。
-
[解決済み] Python os.environがキーエラーを投げる?
-
LinearAlgebraError: SVDが収束しなかった(PYTHON)