いちSEのつぶやき

エンジニアとして、気になることを残していきます。

勉強会

今日からPythonです。

教材は、まずは基本からということで、Python チュートリアル
id:c9katayamaさん、提供ありがとうございます。


今日はこの中から以下の内容をやりました。

1. Python への意欲を高める
o 1.1 ここからどこへ
2. Python インタプリタを使う
o 2.1 インタプリタを起動する
+ 2.1.1 引数の受け渡し
+ 2.1.2 対話モード
o 2.2 インタプリタとその環境
+ 2.2.1 エラー処理
+ 2.2.2 実行可能な Python スクリプト
+ 2.2.3 ソースコード文字コード方式 (encoding)
+ 2.2.4 対話モード用の起動時実行ファイル
3. 形式ばらない Python の紹介
o 3.1 Python を電卓として使う
+ 3.1.1 数
+ 3.1.2 文字列
+ 3.1.3 Unicode 文字列
+ 3.1.4 リスト
o 3.2 プログラミングへの第一歩
4. その他の制御フローツール
o 4.1 if 文
o 4.2 for 文
o 4.3 range() 関数
o 4.4 break 文と continue 文と ループの else 節
o 4.5 pass 文
o 4.6 関数を定義する
o 4.7 関数定義についてもう少し
+ 4.7.1 デフォルトの引数値
+ 4.7.2 キーワード引数
+ 4.7.3 任意引数リスト
+ 4.7.4 引数リストのアンパック
+ 4.7.5 ラムダ形式
+ 4.7.6 ドキュメンテーション文字列
目次より

■文字列操作
・raw指定
 文字列全体にエスケープが適用される

  hello =r"This is a rather long string contraining \n"
  print hello ⇒ This is a rather long string contraining \n

・"""指定
 HTMLのpreタグっぽい使い方
  ⇒\nはキチンと改行される

・文字連結

 word = "Help"
 print word * 5 ⇒HelpHelpHelpHelpHelpHelp

・文字列中の文字の抽出

 word = "HelpA"
 print word[4] ⇒ A
 print word[0:2] ⇒ He
 print word[2:4] ⇒ lp

・文字列はimmutableで、変更しようとするとエラーとなる
・文字の抽出は文字位置指定だとエラーにあるが、範囲指定だとエラーにならない。

■配列
・配列もかけ算で増やせる

 a =['spam','eggs',100,1234]
 print 3*a[:3] ⇒ ['spam','eggs',100,'spam','eggs',100,'spam','eggs',100]

・配列に別の配列をネストすると参照が入る(ポインタ型)
 ただし、値を入れるとコピーが入る
 ⇒Javaでこれをやると循環参照

■式
 一行で複数代入可能
  a,b = 0,1

■制御系
 ・if文
  "elif"とした気持ちはわかる気がする

 ・for文
  for文を使うためには、一回配列形式にするといい。
   ⇒Iteratorのイメージ

■関数
 ・メソッドのオーバーロードができない
 ・キーワード引数はいままで見た言語の中にはない
  **keywordで受けるやつはやりすぎな感じがする。
   ⇒まぁ、*argsくらいなら使うかもしれないが。

 ・ラムダ形式
  FunctionをNewする感じ


結構入りやすい言語でした。
チュートリアルによるとUnitTestライブラリとかも
あるみたいですし、楽しめそうです。