• ホーム     戻る

    第4章 変数と代入  
         
     
  • 女の心触れあうていて藤垂るる

    牡丹昏れ夕べのひかり空に満つ

    葉桜の夕べかならず風さわぐ

    窓の雪女体にて湯をあふれしむ

    ふところに乳房ある憂さ梅雨ながき

    桂 信子 
  •  
  • 変数:プログラムの実行中に変化する可能性のある値に名前をつけて参照機能を持つ。代入されたデータはの存在する場所を参照する。

    代入:代入は  で行う
    変数:
    プログラムで利用する入れ物
  • 変数は代入などの実行文のに名前を定義する。
        が変化しても同じ式で表現できるようにする
    。 
  • >>> a=[1,2,3]
    >>> b=a
    >>> a
    [1, 2, 3]
    >>> b
    [1, 2, 3]
    >>> a[2]=100
    >>> a
    [1, 2, 100]
    >>> b
    [1, 2, 100]
    >>> a is b
    True
  • 鶴と亀の数の合計は16、鶴と亀の脚の数は44とする。亀は何匹鶴は何羽ですか。turukamekei,asikei,kamekazu,turukazuは変数名です。
    printは結果を出力する文です。
  • 代入変数データ格納することを代入といいます。
  • 亀の脚を2本と仮定する。
  • 例1
  • turukamekei=16
    asikei=44
    kamekazu = (asikei-turukamekei*2)/2
    turukazu=turukamekei-kamekazu
    print '亀の数',kamekazu
  • print '鶴の数',turukazu
    亀の数 6
    鶴の数 10
  •  
  •  
  • 変数とは(コンセプト)
  • 変数cattleと変数animalが同じオブジェクト’yahoo’を参照している。変数が保持しているのはオブジェクトへの参照であり、そのものではない
  •  :変数:variableデータにアクセスする手段。
              オブジェクトにつける名札。変数にはオブジェクトの置かれてい
              る場所情報が格納されている。pythonの変数はポインタ変数
              である。                    
              変数はコンピュータのメモリ内の特定の場所を指し、変  
              数に代入されたデータは、メモリ内の変数が
    指し示す場所
              に格納。変数名=オブジェクト:
    変数名は小文字英語使用                          。内容を自由に変更できる。 
               
             変数は利用する前に決めておく。:
    初期化
             Pythonでは変数のはデータ入力時点で決まる。
             ほかのデータを代入すると元のデータは失われ、メモリ内から
             消去される。 
    ローカル変数:特定のメソッド呼び出しやクラス定義、ファイル実行の中だけで
             利用できる。
  • オブジェクト プログラムで利用するデータ
    代入:asaignment:変数名にデータを保存する 。
    =    :      
    代入演算子 =  を使う。
  • グローバル変数:どこからでも参照可能な変数、多数のモジュールがその変数
              を通じて結合してしまうので、プログラムの保守性を下げる。大
              規模なプログラム可能な限り状態をオブジェクトのなかに閉じ
              込める。小規模なプログラムはグローバル変数は良き友         
      
             。(yugui・ruby)
  •  
  •  
  • 変数名:数字と英文字:英文字で始まる:予約語は使えない。:役割が連想され
         るもの

         名前の長さに制限がない。アルファベット、数字、アンダースコア(下
         線)を組み合わせる
  •      初めの1文字は、アルファベットまたはアンダースコア
  •      アルファベットの大文字小文字を区別する。
  •      メモリ上の記憶場所につけた名前。
         変数にはデータ型があるが、メモリにはない・
  •      事前に定義されていない変数は使えない。
  •      pythonでは変数の型を宣言する必要はない。変数名を決めて代入す
         るだけでよい。実行時に変数の型(変数の種類)が決まる。動的型付と
         いう。
  • 基本データ型: コンピュータで扱うことができる基本的なデータの種類。
              文字列:画面に表示できる文字の並び
              整数:integer:端数のない数値
     
              浮動小数点:小数点以下まで表示できる
              ブール値:
    真 
    True (1)と偽False(0)の二つの状態しかとるこ
                            とができない             
                            真理値ともいわれる。
    A and B      AとBの両方が真であれば 真、それ以外は偽
    A or B   AとBのいずれかまたは両方が真であれば真、ABの両方が偽の
            ときのみ偽
    A == B   AとBが等しいとき真
    A != B   AとBが等しくなければ真
    A <> B   同上
    変数の注意:変数がオブジェクトのコピーでなく、リファレンスを保持する。同じオブジェクトに対応するリファレンスの変更が他のリファレンスに影響する。 
                    
                 
    (1)変数を使う

    >>> stringok= '・・・..ただ一度の恋・・・'           
    >>> print stringok  
                
    ・・・.ただ一度の恋・・・
       
    >>> name = 'パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー
    、ポンポコナ'
    >>> print '私の名前は ',name, ''

    私の名前は  パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー
    、ポンポコナ'
      よ
    >>> print 'えっ!',name

    えっ! パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー
    、ポンポコナ'

     
  •  変数に別のものを再代入し、指し示す先を変更する。  
  • >>> musician = '千住真理子'                    
    >>> print musician + ' の演奏は素晴らしかった。'
  • 千住真理子の演奏はすばらしかった。
    >>> musician = 'ロンドンフィルハーモニック管弦楽団'
    >>> print
    musician + ' の演奏は素晴らしかった。'
    ロンドンフィルハーモニック管弦楽団 の演奏は素晴らしかった。
     
    (2) 変数を使った順次実行

    >>> 
    q = 7                  
     print q                
  •  7
    >>>  q = "sevn"  
               
     
    q に文字列sevnを代入すると、新たにsevnという文字型のオブジェクトが
     生成され、変数 q にアドレスが保持。
    >>>  print q
    sevn
    >>> v = 7                                             
    変数を使って計算
    >>> w = 18
    >>> x = v + w                        
    >>> print x
    25
    >>> print  "%d +%d = %d" % (v , w, x)      書式指定子をつかう

    7 +18 = 25
                    
                 
    >>> var = 5 * (1 + 2 )
    >>>var        
    15
    >>> var1  = 8
    >>> var2 = var1
    >>> print var1
    8
    >>> print var2               変数は参照する機能:オブ
                                      ジェクト8はそのまま保持されている

    8
    >>> print ''       
              # 空白が出力。    

  •  
  •  >>> cattle='yahoo'
    >>> len('yahoo')
    5
    >>> animal='yahoo'
    >>> animal
    'yahoo'
    >>> cattle==animal
    True

変数cattleと変数animalが同じオブジェクト’yahoo’を参照している。変数が保持しているのはオブジェクトへの参照であり、そのものではない

  • (3)まとめ
  • >>> print'名前のつけ方'
    名前のつけ方
    >>> print '変数の名前です'
    変数の名前です
    >>> print '変数とは何ですか'
    変数とは何ですか
    >>> ans =raw_input('>')
    >'変数とは、データの置かれている場所を指し示す名札と考えます'
    >>> print ans
    '変数とは、データの置かれている場所を指し示す名札と考えます'
    >>> print '変数の命名の規則はありますか'
    変数の命名の規則はありますか
    >>> print 'あります。内容を想像できるようにつける。英文アルファベット小文字とする。'
    あります。内容を想像できるようにつける。英文アルファベット小文字とする
    >>> print '変数について何か注意がありますか'
    変数について何か注意がありますか
    >>> ans =raw_input('>')
    >'定義していない変数を使うとエラー表示がでます。ときどき失敗します'
    >>> print ans
    '
    定義していない変数を使うとエラー表示がでます。ときどき失敗します'
  • 下記はIDLENEWWINDOWを開いてプログラムを書き、PYTON25のディレクトリに保存しておく。次にこのプログラムをIDLEシエルから呼び出し実行する。呼び出しは
    >>>turukamezan()
  • とする。何度でも呼び出して使える。

  • 鶴亀算

     def turukamezan():
       
       
     print '
    鶴亀算です'
  •  print '鶴と亀が合わせて10匹いる。足の数が合わせて28で    
        ある。鶴は何匹、亀は何匹
    ?'
     print '鶴の数をx、亀の数をyとする。y=10-x、x*2+y*4   
        =28'
     print 'この連立方程式のx、yはpython言語の変数と同じですか?'
     ans =raw_input('yes or no >')
        
     if ans =='yes':
         print '違います'
         if ans =='no':
             print 'そうです。pythonの変数とは異なります'
             
  • ・・・・・するには(文法)
  • (1)a に 1 を代入するには
  •                       = 
  • >>> a = 1
    >>> a
    1
     
    (2)同じ変数に別の型を代入するには
  •                                単に変えるだけ
  • >>> a='hello'
    >>> a
    'hello'
  • (3)同時に複数の変数に同じ値を代入するには
                                   単に並べるだけ
  • >>> a=b=1
    >>> a
    1
    >>> b
    1
  •  
  • (4)代入文をつなげて書いて値を代入するには
  •                               カンマで区切るだけ
  • >>> c,d = 3,5
    >>> c
    3
    >>> d
    5
    (5)変数の値を交換するには
  •                              変数を入れ替えるだけ
  • >>> a='hello'
    >>> b=7
    >>> a,b=b,a
    >>> a
    7
    >>> b
    'hello'
  • (6)累積代入するには 
  •                                        += 、 *= 、/=
  • >>> a=100
    >>> a+=9
    >>> a
    109
    >>> b=20
    >>> b*=3
    >>> b
    60
    >>> c=120
    >>> c/=6
    >>> c
    20
    >>> >>>
  • (7)変数の値が同じかどうか確認するには
  •                         is
  • >>> a=[1,2,3]
    >>> b=a
    >>> a
    [1, 2, 3]
    >>> b
    [1, 2, 3]
    >>> a is b
    True
    >>>
  • (8)生成された値がどこからも参照されなくなると
  • 自動的に破棄される。                ガーベッジ・コレクション
  • 問題
    (1)三角形の面積を求めるプログラム。
    (2)地球の体積はいくら。
  • (3)pythonスクリプトで鶴亀算ができるか。 
  • ホーム     戻る