-
-
女の心触れあうていて藤垂るる
牡丹昏れ夕べのひかり空に満つ
葉桜の夕べかならず風さわぐ
窓の雪女体にて湯をあふれしむ
ふところに乳房ある憂さ梅雨ながき
(桂 信子) 改訂中:20140302
-
第4章 変数と代入
-
Variables,変数 expressions式 statements文
-
(1)変数の定義
-
代入statement 名前objectRference=値value
-
変数:valuable ある値につけられた
-
名前。オブジェクトにつける名札,objectRference。 valueが保存されている場所を保持している、 >>> a = 3
>>> a
3
名前は a はvariable変数と呼ばれる。中身は変更できる。
valuableは value (3)を表示する。.
>>> s="葉桜の夕べ必ず風騒ぐ" >>> s '葉桜の夕べ必ず風騒ぐ'
変数に名前を付ける時は次のルール がある。 1) 1文字目は英文字かアンダーバー(_):日本語も可。
-
2) 2文字目以降は英数文字、アンダーバー:日本語も可。 3) 予約語は使用できない。 4) 大文字と小文字は区別される
5)名前の長さに制限はない。 6)変数名は利用の前に決めておかないとエラーになる。初期化しておく。
(http://www.pasteur.fr/formation/infobio/python/) ある値を変数に代入する。assign 変数にはオブジェクトが置かれてい る場所情報が格納されている。 変数はオブジェクトのコピーでなく、リファ レンスを保持する。 Pythonでは変数の型はデータ入力時点で決まる。 ほかのデータを代入すると元のデータは失われ、メモリ内から 消去される。 '
-
変数に名前を付けるときには、それが一目でなにを指している かわかるようにする。短くて内容を解りやすく示す。
変数名はpython3.0から日本語も使えるので、会計や税法分野では便利。
変数にpythonのkeywordは
-
-
変数への代入
書式 変数名 = オブジェクト 変数がオブジェクトを参照できるようにすることを、Pythonでは代入ステートメントと呼んでいる。代入ステートメントは「=」記号の右辺のオブジェクトへの参照を左辺の変数に格納。変数にオブジェクトを代入するという。 num = 10 name = "加藤" 変数の作成と使用
変数は、変数に何らかのオブジェクトを代入した時点で作成が行われる。作成された変数は、あたかも変数が参照しているオブジェクトのように式の中で使うことが出来る。
「print」関数の引数に文字列の代わりに変数を指定。式の中で変数を使用すると、変数が参照しているオブジェクトに置き換えられて使用される。「Hello」が出力される。 変数を利用すれば数値の演算結果や文字列を連結して作成された新しい文字列などへの参照を持しておき、後から利用することが可能になる。 オブジェクトが代入されていない変数を式の中で使用すると「NameError」が発生。
変数名の付け方
例 Pythonで定義されている予約語は変数名には使えない。 予約語 and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print 慣習的なものや実際に不都合がある変数名の例 先頭にアンダーバーが付いた変数名(_var) 先頭にアンダーバーが2つ続いた変数名(__var) 大文字で始まる変数名(Var)
変数はあくまでオブジェクトがどこにあるのかの目印なので、変数自体には型はない。あくまで変数が参照しているオブジェクト自身がどういった型のオブジェクトなのかということ。 変数は一度作成され、別のオブジェクトを代入する事ができる。新しいオブジェクトを代入するということは、新しいオブジェクトの参照が変数に保持されるということ。 var = 35 var = 50 上記では変数「var」に数値「35」を代入すると同時に変数「var」を作成。変数「var」に別の数値の「50」を代入すると。変数が参照できるオブジェクトは1つだけなので、新しいオブジェクト50を参照するようになれば、元のオブジェクトへの参照は出来ない。 新しいオブジェクトの型は異なることがでる。変数には型はなく、変数にはオブジェクトへの目印が格納されているだけ。 var = 25 var = "Hello" 式の中での変数の扱い 変数が作成されると、変数をあたかもオブジェクトのように式の中で使用することが出来る。 num = 10 sum = num + 7 変数はプログラムの実行時に、オブジェクトに対するのと同じように変数に対しても演算が行える。 *def()は自作関数を作成するときに使用。 >>> def msg(): msg = "今日は、" newmsg = msg + "良いお天気ですね!" print (newmsg)
-
>>> msg() 今日は、良いお天気ですね!
-
累算代入文
変数に対する演算では、変数に対して行った演算結果を改めて同じ変数に対して代入するということが行われる。変数に格納されている数値を1だけ増加させる。 >>> num=200 >>> damy=num+1 >>> damy 201 >>> num=damy >>> num 201 数値オブジェクトは一度作成されると変更が出来ないので、変数に対して数値の「1」を加算した新しい数値オブジェクトを作成し、そのオブジェクトを改めて変数に代入。 変数「num」に代入されているオブジェクトに対して1を加算した結果である「11」と言う数値オブジェクトを改めて変数「num」に代入。「=」は等しいと言う意味ではなく、あくまで右辺を左辺に代入するという意味で使用される。 累算代入文の使い方 何らかの演算を行った結果を変数に改めて代入することは頻繁に行われる。その為、特別な記述方法が用意されている。 例 num = 200 num = num + 1 これは次のように記述する場合がある
-
num = 200 num += 1 累算代入、拡張代入と呼ぶ。 記述方法 += -= *= /= //= %= **= >>= <<= &= ^= |= 使い方と意味 変数 += 式 # 変数 = 変数 + 式 変数 -= 式 # 変数 = 変数 - 式 変数 *= 式 # 変数 = 変数 * 式 変数 /= 式 # 変数 = 変数 / 式 変数 //= 式 # 変数 = 変数 // 式 変数 %= 式 # 変数 = 変数 % 式 変数 **= 式 # 変数 = 変数 ** 式 変数 >>= 式 # 変数 = 変数 >> 式 変数 <<= 式 # 変数 = 変数 << 式 変数 &= 式 # 変数 = 変数 & 式 変数 ^= 式 # 変数 = 変数 ^ 式 変数 |= 式 # 変数 = 変数 | 式
(2)変数のイメージ
-
-
-
会議室が使用中か、ある人が男か女か、卒業できるかどうか等
-
def grad(): phis=int(input("tennsu>>")) if phis>=60: print("ok") else : print("no") >>> grad() tennsu>>67 ok
-
-
-
def category(): code="010200" コード番号をきめる category=code[0:2] コード番号文字列から最初の2要素を分類標識として抽出する
-
-
-
[ ] はリスト構造を示す。0:2は最初から2項目 改良版
-
def category(): code="010200" category=code[0:2] print("コード ",code) print("カテゴリー ",category) >>> category() コード 010200 カテゴリー 01
-
-
-
代入演算子
代入:asaignment: 代入演算子 = を使う。
変数を作成するのは代入式
-
代入ステートメント左側は代入先、右側に代入対象オブジェクト 代入するとオブジェクトへのリファレンス(参照)がつくられる。
-
-
初期化 initialization
-
a=12, b=6のようにすること。
-
オブジェクト: プログラムで利用するデータ。
-
自己代入
-
>>> x=1 >>> x+=3 >>> x 4
-
>>> x=56 >>> y = 12 >>> x += y >>> x 68 >>> x -= y >>> x 56 >>> x *= y >>> x 672 >>> x /= y >>> x 56.0 >>> x %= y >>> x **= y >>> x 68719476736.0
多重代入
-
左右が複数値
-
>>> x,y,z =1,2,3 >>> x,y,z (1, 2, 3)
>>> x 1 >>> y 2 >>> z 3
- >>> x = 4,5,6
>>> x (4, 5, 6)
鶴亀算
-
漢字を変数名に使って。
求めるもの: 鶴と亀のそれぞれの数を求める。 データ :変数 鶴亀計 足の数計 方法 :算術演算子print関数 条件: 鶴と亀の数の合計は16、鶴と亀の脚の数は44とする。亀は何匹鶴は何羽です か。
鶴亀計,足の数計,亀の数,鶴の数は変数名です。
亀の脚を2本と仮定して計算する。
-
-
-
-
鶴亀計 = 16
足の数計 = 44
-
亀の数 = (足の数計 - 鶴亀計 * 2 ) / 2
鶴の数 = 鶴亀計 - 亀の数
print ('亀の数', 亀の数)
print ('鶴の数', 鶴の数)
亀の数 6
鶴の数 10
-
-
変数を使う
-
求めるもの: 文字列を出力 データ :入力 変数 stringOk name musician age height weight 方法 :print関数 条件:
変数に文字列を代入する
-
>>> name = 'パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー 、ポンポコナ'
>>> print ('私の名前は ', name, 'よ’)
私の名前は パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー 、ポンポコナ' よ
>>> print 'えっ!', name
えっ! パイポパイポ、シューリンガン、グーリンダイ、ポンポコピー 、ポンポコナ'
-
変数に別のオブジェクトを再代入し、指し示す先を変更する。
-
>>> musician = '千住真理子'
>>> print (musician + ' の演奏は素晴らしかった。')
-
千住真理子の演奏はすばらしかった。
>>> musician = 'ロンドンフィルハーモニック管弦楽団'
>>> print (musician + ' の演奏は素晴らしかった。')
ロンドンフィルハーモニック管弦楽団 の演奏は素晴らしかった。 name = "mitiya tobari" age = 78 height = 160 weight = 72 print ("name?",name) print ("age",age,"years old") print ("height",height,"cm") print ("weight",weight,"kg")
-
-
name,age,height,weightは変数
-
mitya tobari,78,160,72はリテラル
-
name? mitiya tobari age 78 years old height 160 cm weight 72 kg
-
-
変数を使った順次実行
-
求めるもの: 変数を使った順次実行の出力 データ :入力 変数 q v w xvar var1 var2 方法 :print関数算 術演算子 条件:書式 %d %s %
>>> 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
>>> print( '')
-
# 空白が出力。
-
-
例題 生産日報 生産品は 方法 :print int input関数算術演算子
日付=input('日付>')
print(日付)
箱=12 箱は12個入り
カートン=24 カートンは24箱入り
箱単価=1500
箱単価
バラ単価=95
1個単価
せんべい生産=input('本日生産高>') inputの値はstrngにな るのでintに変換
せんべい生産=int(せんべい生産)
せんべいの生産数
箱生産=int(せんべい生産/箱)
箱単位生産数・
バラ=せんべい生産 % 箱
バラは箱単位構成外の製品数
カートン生産=int(箱生産/カートン)
カートンの生産数。
箱バラ=箱生産 % カートン
箱バラはカートン構成外の箱単位 製品数。
print('本日のせんべい生産高=',せんべい生産)
print('箱単位製品数=',箱生産)
print('単位外製品個数=',バラ)
print('カートン単位製品数',カートン生産)
print('箱バラ単位製品数',箱バラ)
カートン価格=カートン生産*カートン価格
バラ価格=バラ生産*バラ価格
箱バラ価格=箱バラ生産*箱価格
合計生産価格=カートン価格+バラ価格+箱バラ価格
print('カートン販売価格=',カートン価格)
print('バラ販売価格=',バラ価格)
print('箱バラ販売価格=',箱バラ価格)
print('合計生産価格=',合計生産価格)
本日の生産販売日報 日付>2009/05/18 2009/05/18 本日生産高>3318 本日のcookes生産高= 3318 ボックス単位製品数= 276 単位外製品個数= 6 カートン単位製品数 11 ボックス単位製品数 12 カートン製品販売高= 300960 単品販売高= 570 ボックス製品販売高= 13680 販売高合計= 315210 >>>
|