君ならどうする – ls-lRシェル Python編

Slides:



Advertisements
Similar presentations
わんくま同盟 福岡勉強会 #4 yield について るーごん. わんくま同盟 福岡勉強会 #4 自己紹介 日本一人口が少ない県に住んでいます。 一昨年まで、ちょっと福岡に住みました。 仕事は主に dbMAGIC 。 プログラミング言語はよく分かりません。 好きなもの ポケモン、ファイブマン、ジェットマン、
Advertisements

オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
なぜ今Pythonか? Pythonをお薦めする18の理由
4章 制御の流れ-3.
プログラミング基礎I(再) 山元進.
プログラミング言語としてのR 情報知能学科 白井 英俊.
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
スレッドの同期と、スレッドの使用例 スレッドの同期 Lockオブジェクト: lockオブジェクトの生成
2008/03/01 D-BOF k.inaba はじめての initial D 2008/03/01 D-BOF k.inaba
最短路問題をGurobiで解こう! 流通最適化工学 補助資料.
プログラミングパラダイム さまざまな計算のモデルにもとづく、 プログラミングの方法論 手続き型 関数型 オブジェクト指向 代数 幾何.
Lightweight Language Weekend ls-lRシェル
最適化ソルバーのための Python言語入門
第2回ネットワークプログラミング 中村 修.
C言語 配列 2016年 吉田研究室.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
Ruby勉強会(第1回) 2006/06/29 竹内豪.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
Bottle/Pythonによる Webアプリ入門
2006/10/19 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井英二郎
ビューとコントローラ.
プログラミング 田浦健次朗.
の まとめ 2007/04/02 (Mon) / d;id:hzkr
第20章 Flyweight ~同じものを共有して無駄をなくす~
C#とC++とオブジェクト指向 上甲 健史.
ピカチュウによる オブジェクト指向入門 (新版)
スクリプト言語を用いたPHITSの連続実行
RMI ソフトウェア特論 第6回 /
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
YARVの ソースを 読んでみた (コンパイラ前段編)
第12回 2007年7月13日 応用Java (Java/XML).
プログラミング言語入門 手続き型言語としてのJava
プログラミング 2 ファイル処理.
独習Java ・ 8.1  例外処理 ・ 8.2  catch ブロックの検索  12月 5日    小笠原 一恵.
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
図書館職員のための アプリケーション開発講習会
B演習(言語処理系演習)第8回 評価器 田浦.
第10回関数 Ⅱ (ローカル変数とスコープ).
IMAQ Vision Builderを使用して、グリッドキャリブレーションを行う方法
Javaによる Webアプリケーション入門 第6回
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
メタ解法設計者のための Python超入門
変数,式,関数,クラス,コンストラクタ, クラスの属性アクセス,メソッド,親クラ スからの継承
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
コーパス言語学 ~バッチ処理~ 2013.10. 28.
画像処理プログラミング 知的画像処理研究室 M2 小林 佳奈美.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
アルゴリズムとデータ構造 2011年7月8日課題の復習
B演習(言語処理系演習)第2回 田浦.
ファイルの読み込み #!/usr/bin/env perl #Perlスクリプトの指定 open(FILE, "food.txt");
統計ソフトウエアRの基礎.
静的情報と動的情報を用いた Javaプログラムスライス計算法
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
オープンソースソフトウェアに対する コーディングパターン分析の適用
第4回 プログラム作成,情報検索 伊藤 高廣 計算機リテラシーM 第4回 プログラム作成,情報検索 伊藤 高廣
pf-5. 関数呼び出し,スコープ (Python プログラミング基礎を演習で学ぶシリーズ)
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
モジュール分割.
コンパイラ 2012年10月11日
演算子のオーバーロード.
プログラミング演習I 2003年6月11日(第9回) 木村巌.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
情報処理Ⅱ 第8回:2003年12月9日(火).
プログラミング 2 静的変数.
Presentation transcript:

君ならどうする – ls-lRシェル Python編 Template Method Composite cmd.Cmd Iterator LsShell Directory LSLoader Builder File PredBuilder Interpreter cmd.Cmd Python標準モジュール。シェルのような対話型アプリケーション用のフレームワーク。 LsLoader ls –lRの出力を読み込み、Directory/Fileオブジェクトを構築する。 LsShell cmd.Cmdを基底クラスとしたls-lRシェルの本体。 Directory ディレクトリ情報を保持する。 PredBuilder 検索コマンドの検索条件をコンパイルし、Pythonの関数オブジェクトを生成する。 File ファイル情報を保持する。 LL Weekend 君ならどうする ls-lRシェル Python編 2004/8/7 Atsuo Ishimoto 1/2

PythonのIteratorオブジェクト Generator関数 次の値を返すnext()メソッドを持つ next()で返すオブジェクトがなければ、StopIteration例外を送出する __iter__()メソッドを持ち、自分自身を返す class AlterIter: '''seq1, seq2内の要素を交互に返すイテレータ''' def __init__(self, seq1, seq2): self._seqs = (seq1, seq2) self._cur = 0 self._max = min(len(seq1), len(seq2)) def __iter__(self): return self def next(self): n, idx = self._cur % 2, self._cur//2 if idx >= self._max: raise StopIteration ret = self._seqs[n][idx] self._cur += 1 return ret for v in AlterIter([1,2],['a','b']): print v, 出力 => 1 a 2 b Generator関数 定義内にyield文を含む関数 呼び出されると Iteratorの一種であるgeneratorオブジェクトを返す generatorのnext()メソッドを呼び出すと、関数のyield文までを実行してその値を返す yield文に遭遇せずに関数が終了すると、StopIteration例外を送出する def fibonacci(): i = j = 1 yield i yield j while True: i, j = j, i+j for n in fibonacci(): print n, 出力 => 1 1 2 3 5 8 13 21 34 55 89 ... def AlterIter(seq1, seq2): _max = min(len(seq1), len(seq2)) for idx in range(_max): yield seq1[idx] yield seq2[idx] LL Weekend 君ならどうする ls-lRシェル Python編 2004/8/7 Atsuo Ishimoto 2/2