Python 学習:見た目の前方参照(gotoで)

2014-03-25 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
2、3、2、0、2、 0、0、0、0、1(38)で、換算ポイント 61pt 。
「グルコサミン」今朝方、3位にアップ。
・-・ - -・

さて、本文。

前回(2014-03-24)の記事:
Python 学習:goto ( decorator ) 発見
から、(見た目の)関数・前方参照のコードを書いてみた。


その前に、・・・
2つの疑問点
 ・関数の中に関数を定義できるの?
 ・ローカル変数/グローバル変数はどうなるの?
は解消できたか?


1つ目:関数の中に関数は?

自然に出来るようですね。


2つ目:変数のスコープは?

「global」文ですか。

「Python 2.7ja1 documentation」の
プログラミング FAQ」の
Python のローカルとグローバル変数のルールは何ですか?
にある。

  Python では、関数の中で参照のみされる変数は
 暗黙のうちにグローバルになります。
  関数の本体のどこかで新しい値が変数に代入されたなら、
 それはローカルであるとみなされます。
  関数の中で新しい値が一度でも代入されたらその変数は
 暗黙のうちにローカルであり、'global' は
 明示的に宣言しなければなりません。
 ・・・・・

ですね。


それで、
見た目で(関数の)前方参照となるような、
<紙>流のコードを書いてみた。

# -*- coding: utf-8 -*-
from recipe_576944 import goto # goto decorator
# =============================================================
@goto
def k_Main():
goto .prologue # ----- 下記、前処理へ
label .start_Main # ----- ここから、主処理

global x, y, z # global変数宣言
x = 3; y = 4; z = 10

_ = xyz() # 関数 xyz は、見た目の前方参照。
print z # ---> 7

import sys
sys.exit() # プログラム終了


label .prologue # ----- 前処理

def xyz(): # 見た目の前方参照
global z # global変数宣言
z = x + y # x, y も global変数
# return 0 # 無くても良い

goto .start_Main # ----- 上記、主処理へ
# =============================================================
x = y = z = 0 # 関数内で使う為、global 変数宣言(ダミー定義)
k_Main() # 言語仕様的には、ここが始まり

こんな感じになるのかナ???


もっと(真面目に?)、Python の学習ダ。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140301
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク