質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Brackets

Bracketsは、オープンソースで開発されているHTML/CSS/JavaScriptのコードエディターです。

Q&A

解決済

1回答

572閲覧

turtleモジュール系の単語?がflake8で未定義として判定されるのを直したい

liveasnotes

総合スコア1284

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Brackets

Bracketsは、オープンソースで開発されているHTML/CSS/JavaScriptのコードエディターです。

0グッド

0クリップ

投稿2018/02/04 15:14

flake8 が turtle系を undefinedとして判定してしまう

「みんなのPython第3版」を読みながらPythonを学習中です。Bracketsで、Python toolsというプラグインを入れて、flake8というLintをインストールしています。なんとかLintを入れるところまではできたのですが、「みんなのPython第3版」p.50のturtle2.pyを開いたところ、以下のキャプチャのように警告が出てしまいました。コードは参考書に記載の通りのものです。

できれば、この警告が表示されないようにコードを修正したいのですが、どのようにするべきでしょうか?あるいは、この警告は無視しておくべきもの(Lintのバグ等)なのでしょうか?

turtle系がundefined

  • コード

python

1from turtle import * 2 3degree = 1 # 角度の初期値 4distance = 50 # 距離の初期値 5 6for i in range(40): # 40回繰り返す 7 forward(distance) # distance分進む 8 right(degree) # degree分右に曲がる 9 degree += 2 # 角度に2を足す 10 distance -= 1 # 距離から1を引く 11 12input() 13

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Lintはよく知らないんですけど、警告内容から、ワイルドカード*を使っているのが原因だとわかります。

ワイルドカードを使った import (from <module> import *) は避けるべきです。なぜなら、どの名前が名前空間に存在しているかをわかりにくくし、コードの読み手や多くのツールを混乱させるからです。

引用元 : PEP 8

Python

1from turtle import *

これを

Python

1from turtle import forward,right

とすれば警告は消えると思います。

またはLintの設定を変えるか、でしょうけどLintについて私は全く知らないので回答は差し控えさせていただきます。

投稿2018/02/04 15:53

編集2018/02/04 16:04
namnium1125

総合スコア2043

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

liveasnotes

2018/02/04 16:04

回答ありがとうございます。 記述がおかしいというわけではないのですね。 たしか、flake8は記述スタイルのチェックと論理的なエラーチェックを行うやつだったので、スタイルチェックで引っかかってしまったということなのかもしれません。 lintの設定のいじり方も調べてみようと思います。
namnium1125

2018/02/04 16:07

まぁ、PEPを読む限り、今回の場合はLintに従ってコードを修正するだけでいいと思いますよ。 設定変更できるのか知りませんけど、変更しちゃったらLintの意味もないでしょうから。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問