| Python言語超入門    読書余滴  2008/06/05   戸張道也
 コンピュータ言語は経営の様々な場所で利用されています。どんな作用をするのかの超入門として記述しました。言語としてPythonを使います。
 参考書:Pythonで学ぶプログラム作法。アラン.ゴ−ドン著.松葉素子訳.ピアソン.エデュケ−ション:C言語超入門.藤森水絵著.技術評論社
 Pythonチュ−トリアル.(Rossum著.鴨沢真夫訳.オライリ−ジャパン)
 1・基本:コンピュータ言語とはどんなものか:Python:エレガントで実用性を兼ね備えた、シンプルで強力な本格的言語
 (*  赤:コマンド 青:入力文 黒:出力された結果 色区分は理解の便宜上)
 最初にでてくる有名な例
 >>> print "hello world";     # hello world と出力する一行の文
 hello world               実行結果。
 2・画面に出力するには    print 文文字列を出力する  ””か''で囲む。
 (1)文字:
 >>> print "good morning"; print "good evening"; print "good luck"
 good morning               実行結果。
 good evening
 good luck
 3.数値・変数・計算 (上から下に順次実行)三角形の面積を計算して出力する。
 >>> takasa = 3                 # 高さデータの入力式
 >>> teihen = 4                 # 底辺データの入力式
 >>> menseki = takasa * teihen / 2       # 面積計算式
 >>> print "高さは ",takasa ;print "底辺は ",teihen ;print "面積は ",menseki                    # 計算結果を出力する文
 高さは  3                   実行結果。
 底辺は  4
 面積は  6
 4.用語プログラム:コンピュ−タに仕事のやり方を告げる。
 文:コンピュ−タに命令を伝える単位
 式:コンピュータから値を得る式
 コマンド(命令語):print  if   while  forなど。
 デ−タ:情報の素となる材料
 変数:データの入れ物:takasa  teihen  menseki など。
 代入:変数にデータをいれること: =  代入演算子。
 演算子:*j乗算 /  割算 +足し算 − 引き算 >= == <= 関係
 コメント;#この演算子に続く文はコメント.メモ。
 プログラミング手順:プログラム記述>文法チェック>実行
 5.条件分岐 if もし ならば(真の判定) else でなければ(偽の判定)age = 77                           # 年齢入力式
 if age >= 75 :                       # 真条件判断文
 print "貴方は、後期高齢者です。"         # 結果出力文
 print  "枯れ葉マ−クをつけてください。"         # 結果出力文
 else :                                        # 偽条件判断文
 print  "貴方はまだまだ。”              # 結果出力文
 貴方は後期高齢者です。                          実行結果。
 枯れ葉マ−クをつけてください。
 6.繰り返し (1)while 決められた回数実行(2)for順番に終りまで 実行  (1) kaisu = 0                           # 回数カウンタ初期値。
 while kaisu < 3 :                             # 繰り返し条件文。
 print "All works and no play makes Jack a dull boy"    #出力文
 kaisu = kaisu + 1                          #カウンタ増加式。
 All works and no play makes Jack a dull boy    実行結果。
 All works and no play makes Jack a dull boy
 All works and no play makes Jack a dull boy
 
 (2) kazu = [0,1,2,3,4,5,6,7,8,9]             # リスト(配列)式。
 for item in kazu :                       # 内容取出し文。
 print item ,                     # 出力文。
 0 1 2 3 4 5 6 7 8 9                     実行結果。
 7.まとめ文の基本構造は.順次実行、条件分岐、繰り返しの三つです。
 コンピュ−タ言語は人工物です。すべて了解可能なもので成り立っています。決まりが重要です。誤りは許されません。想像力もありません。
 8.コンピュ−タ言語の利用方法(1)購入アプリ−ケ−ション:ソ−スプログラムは隠蔽されています。
 (2)日常業務:表計算、デ−タベ−ス等アプリケーションを使用。
 (3)専門プログラマ:C C++ Java,.. 大規模プログラムを作る。
 (4)Pythonを学ぶ:小さなデ−タベ−スを作る、言語の基本を学ぶ、頭の体操。
 (5)学び方1:言語の基本を覚える。小さな仕事をプログラム化する。
 (はじめてのプログラミングRubyを使ってChrisPine著西山伸訳.オ−ム社)
 (6)学び方2:プログラミングそのものを楽しむ:たのしいRuby.高橋征義、後藤       裕蔵著・まつもとひろゆき監修・ソフトバンククリエイティブ.
 (7 ) PythonもRubyも逐次実行する言語.インタ−プリタ.フリ−ソフト。
 9.少し実用的な短いプログラム(1)贈与税の計算 : 贈与税速算表(国税庁)
 print "万単位で入力してください。"
 zouyo = input()           贈与額の入力をもとめる関数。
 300                                実行結果 (贈与額万単位)
 zouyo = zouyo - 110                基礎控除110万円をさしひきます。
 if zouyo <= 110 :           以下速算表のとおりに条件分岐します
 zei = 0
 print zei
 elif zouyo <= 200 :          elif は条件分岐が多いとき、次条件
 zei = zouyo * 0.1         を記述するときに使います。
 print zei
 elif zouyo <= 300 :
 zei  = zouyo * 0.15 -10
 print zei                         以下3つのブロックの表示省略
 else:
 zei = zouyo * 0.5 - 225
 print zei
 18.5                  実行結果(贈与税額万円単位)
 (2)利回り計算   デ−タ:利回り、満期金、投資額  関数を作る
 def rimawari(manki,tousi,kikan) :        def ( ) : で関数を作成
 print ((manki-tousi)/kikan)/tousi*100   計算し%で printする
 >>> rimawari(120,100,3.0)                       関数呼出と引数入力
 6.66666666667                      実行結果(%)戻り値
 >>> rimawari(66,50,4.5)        関数を呼出し別の投資案のデ−タを入力
 7.11111111111              別の投資案の 実行結果(%)
 用語:関数:繰り返し実行する処理を関数としてまとめ、定義しておき、関数名で(例rimawari)呼出し、引数(66,50,4.5)を入力すると結果(戻り値)が得られる。
 書式:書式定義を加えるともうすこし解りやすい出力表現ができる。6.7%等
 (3) 株価水準の評価
 per = 16.27                     # 株価収益率 の入力式per
 ekiri=  (1.0 / per ) * 100      # 益利回り率の算式
 mgdp = 1.5                     # 成長率の入力式
 kitai = ekiri + mgdp           # 株主期待率 の算式
 kinri = 1.55                   # 長期金利率の入力式
 riskp = kitai - kinri          # リスクプレミアムの算式
 print riskp             # リスクプレミアムの出力文
 6.01                           実行結果。
 if riskp <= 5.5 :             #  真条件判断文
 print "株価は高め"        # 出力文
 elif 通riskp  <= 6.5 : "                     #  出力文
 else :                 #  偽条件判断riskp  <= 6.5 :          #  次条件判断文
 print "株価は普文
 print "株価は安め"         #  出力文
 株価は普通                      実行結果。
 リスクプレミアムが5%付近ならば株価水準は高い、6%付近ならば普通、7%付近ならば安い。山崎 元氏(週刊ダイヤモンド誌)の考え方を使いました。
 リスクプレミアムとは、リスクに応じて投資家が期待する上乗せ分の収益率です。
 (4)ディクショナリ構造 小さなデ−タベ−ス:例  電話帳です。
 >>> tel={'yamada':"833-4361",'suzuki':"811-5656",'oota':"822-3235"}
 氏名をキーとして電話番号を関連付ける。中カッコ{}で囲む
 >>> tel['suzuki']     鈴木さんの電話番号を取り出す、角カッコ[]で囲む
 '811-5656'              実行結果。
 >>> tel['yamada']          山田さんの電話番号を取り出す
 '833-4361'              実行結果。
 >>> tel['tobari']          戸張さんの電話番号を取り出す
 KeyError: 'tobari'  コレクションにないキーを指定したのでエラー表示が出た
 >>> tel ['tobari']="811-5252"  戸張さんの電話番号をコレクションに追加する
 >>> tel['tobari']        追加した戸張さんの電話番号取り出してみる
 '811-5252'                実行結果。
 >>>tel.items()         コレクションの内容を確認する。
 [('yamada','833-4361'),('suzuki','811-5656'),('oota','822-3235'),('tobari', '811-5252')]              実行結果。
 用語:ディクショナリ:キーとそれに関連付けられた値が格納されたデータ構造
 :キーをインデックス(索引)として使用する。
 以上ざっと眺めてください。範囲は情報学科の初期講義とほぼ一致しています。
 (みんなのPython.柴田淳著。ソフトバンククリエイティブ.第一章
 |