そういえばオブジェクト思考って??
オブジェクトとは、
英語ではObject、対象という風に訳されますが、これはプログラミングにおいてどのような意味を持つのでしょうか。
僕なりの答えとしては、輪郭をもった存在です。
ここでは輪郭を持っている事が重要であると考えられます。すなわち、クラスなどの概念を導入する理由としては、各役割をもった処理を明確に区別したいという理由が挙げられます。この区別の意味を持つのが輪郭です。
プログラミングにおいて、ある部分を修正したい際に、全体のコードをいじるのは効率が悪く、また、次々にミスを形成することになりかねないと考えられます。
したがって、存在を一つ一つ明確に分けて考えることにより、効率化、そして見やすさを追求するのがオブジェクト思考のプログラミングであると思います。
Ruby ブロック
ブロックは、メソッドの引数の一つで
通常の引数よりも理解が難しい。
メソッド名 do |ブロック引数|
処理
end
上記の記述によりメソッドの引数が定義されており、メソッドが呼び出される際に、引数として受け継いでいることになる。
この引数の処理を通常のメソッド内で行うには、定義文内でyieldを用いる。
def メソッド名
yield
end
先ほども記述した以下の宣言は、メソッドの実行の宣言であり、実行の際に渡される変数がブロックである。
メソッド名 do |ブロック引数|
処理
end
また、以下のように、引数に&をつけてメソッドに渡すことでブロック引数
の存在を明示する事ができる。callメソッドを付与することでブロック引数内の処理を実行する事ができる。
def メソッド名(&block)
block.call
end
C++を用いた3Dゲーム開発
Visual Studio を用いてC++を記述していく。
これからは、まずWindowを作成する。
作成にあたり。アプリのメインファイルと、エンジンのファイルを作成した。
次にclassを作成し、エンジンのフォルダーないのC ++のファイルに適用されるようにした
(#include)
1、
Window.h の名前のclassの中にコンストラクタ、デストラクタ、メンバ関数を定めた。
publicとして定めると、クラス外からもアクセスができるようになる
privateならば、クラス外からはアクセスができない。
protectedならば、クラス外からアクセスできないが、継承されたクラスからならアクセスできる
コンストラクタは、クラスがオブジェクトとして呼び出される際に、最初に効果が発動されるメソッドである。
条件の初期化を行ったりする。また、メモリの使用開始の合図でもある。
デストラクタは、クラスのオブジェクトが破棄される時に効果が発動される。メモリの使用終了の合図でもある。
データ処理をPython で記述 1
データ処理の流れは、
データの収集、データの加工、データの保存がある。
データの加工とデータの保存の順番は場合によって異なるが、主にこの3つの手順が必要となる。
今回は、データの収集についてpythonでどのようにコードを書けばいいのか、独自の考え方で考えてみる。
まず、データをどこから抽出するのか、という問題が思いつく。
powerpoint, pdf, excel, IoT, sensor, website, などなど、
データのソースがどこなのかによって抽出の方法が異なる。
*powerpoint からデータ(今回は文字列データ)を抽出することを考える。
必要となるコードを考える。すると、以下の事柄が挙げられる。
1、必要なライブラリの導入
2、扱うpowerpointファイルを特定
3、各スライドから文字列を取り出す処理
4、取り出した文字列を保存するファイルの作成
1について、、、
これは思いつくなんてことはできないのでインターネットで検索してみる。
「python read powerpoint text」と入力して検索してみると、
python-pptxというライブラリが活用できるとわかる。
また、データフレームの作成に必要なpandasライブラリも導入する。
2について、、、
これは、コンピューター内、または、クラウド内のファイルのパスを指定して変数に格納する。
3について、、、
「各スライド」というので繰り返し処理を行う事がイメージできる。これはfor文である。また、スライドが必ずしもテキストを持つとは限らないので持たない場合の処理として、次のスライドにすすむという処理が考えられる。
4について、、、
pandasを用いてデータフレームを作成し、3で収集したデータを格納する。この時、格納する前にコラムを作成しておく必要がある。コラムの作成方法はpandasのメソッドがあるのでそれを用いる。
データプラットフォーム
データの管理として初めに思いつくことは、データベースにデータを保存する方法であると思われる。
しかし、多様な種類のデータを一つのデータベースに保存することはできないので複数のデータベースを作ることになる。
すると今度は、これらのデータベースの集まりを管理する必要が生じる。
この時に登場するのが、、、
データレイクとデータウェアハウスである。
データレイクでは、加工前の生のデータが保存されている。
ここでは加工の目的が定められていない状態である。
一方データウェアハウスでは加工後のデータが保存されている。
ここではデータ加工の目的が決められている状態である。
パワーポイントから文字情報取得
必要なライブラリ
pandas/ python-pptx/
これらを用いて処理を行う。
処理のイメージとしては、
1、パワーポイントファイル内の各ページに対して、文字があったら抜き出して、保存する。
2、保存した文字情報を新しいファイルとして保存する。
1の処理としては、
ーenumerateメソッドを用いて、for文で各ページに対して処理がなされるようにする。
ー1スライドを認識する。
ースライド内に文字があるかどうかを認識
ー文字があれば、それを読みとり、事前に用意してある配列に貼り付ける。
2の処理としては
ー1の処理により、文字情報の配列ができたのでこれをカラムとするために、pandasのデータフレームメソッドでデータフレームを作成する。
ー作成したデータフレームをファイルとして保存する。
データ処理(Python) 1
python を書く際に、例えばgoogle colaboratoryにデフォルトでインストールされていないライブラリを用いるには、
!pip install (ライブラリ名)
と記述してライブラリをインストールする必要がある。
その後、
import (ライブラリ名)
を用いてライブラリをインストールする。
enumerate()このメソッドは、for文で用いられる。
そもそもenumerate は数えあげるという意味である。
enumerate()メソッドの引数としては、数えられる対象と、数え初めの数字を渡す必要がある。
具体的には、
for count, page in enumerate(pages, start= 1):
for文にenumerateは必要ではなく、for文の構文としては、
for i in range(n):
for i in ["","",""]
などのように、記述することができる。