2016-07-17 6 views
-1

私はコーディングが初めてで、少し混乱します。どのようにしてforループがまだ定義されていない変数を使用することができますか?例えばfor-loopはまだ定義されていない変数を使用することができます

demond = {'green':'grass', 'red':'fire', 'yellow':'sun'} 

for i in demond: 
    print(i) 

出力:

 
green 
yellow 
red 
+3

あなたの質問には、テキストエリアの右側に大きいオレンジ色**の書式設定**ボックスがあり、そこに有益な情報があります。また、書式設定支援ツールバー全体がありました。 ** [?] **ボタンを押すと書式設定のヘルプが表示されます。 *また、テキストエリアと投稿の質問ボタンの間にあるプレビューエリア(ボタンを見つけるために過去にスクロールする必要があるため、あなたがそれを見てみることを推奨します) 。私の編集した内容を確認して、次回の作業を知ってください。コーディングをお楽しみください! –

+0

ここでは、どの変数が正確に定義されていないと思いますか? –

答えて

0

Pythonでは、あなたは変数を宣言する必要はありません。 C/C++/JAVAなどでは、まず宣言してから使用する必要があります。

変数は、変数のデータ型に基づいて、メモリを割り当て、予約されたメモリに格納できるものを決定します。メモリ変数を明示的に宣言する必要はありません。宣言は、変数に値を代入すると自動的に行われます。

0

あなたが心に留めておく必要がある2つのものがあります。

  1. Pythonは弱い型付けされた言語であるため、明示的に特定のオブジェクトタイプに任意の変数を宣言する必要はありません。これはあなたがすでに知っているもので、どのようなタイプになるのかを知らずに物を割り当てることができます。

  2. ループ構成では、明示的に表示されないバックグラウンドで多くのことを行います。つまり、何かが定義されているように見えることはありませんが、それはです。念頭に置いて

、私はループが動作するために実際にどのように説明したいいけない、there are already answers available for thatので、しかし、主なポイントは、Pythonでループの次の擬似コードと同じであるということです。何がそれのキーに等しくなるように、あなたのコードでは、そのようfor i in demondセットiを行います

#set up your iterable 
demond = SOME_ITERABLE_OBJECT (this can be a list, string, dict, etc) 

#this 
for i in demond: 
    do_something(i) 

#is the same as this 
i = demond[0] # the first item in demond 
do_something(i) 
i = demond[1] # the second item in demond 
do_something(i) 
i = demond[2] 
... 
... 
.. 
i = demond[n] # the last item in demond 
do_something(i) 

今、あなたのフォローアップの質問は、このことができますか?さて、これはPythonの設計の一部であり、具体的にはどのようにしてdictの作業です。実際にforループが実行していることは、iterableジェネレータが完了するまでiterables next() functionを呼び出すことです。各iterableは、forループとは異なる結果を持つことができます(最初のリンクを参照)。

注: 私のコード例では、i = demond[some_index]を設定しています。これはリストインデックス取得のように見えますが、実際には何らかの順序でリストを反復していることを示すだけです。それはPSUEDOコードです。それを覚えておいてください。

関連する問題