【独学】建築設計でかんたんPython入門!:サヴォア邸の情報で理解するデータ型 その1

Python建築

ノンプログラマーのための「建築で理解するPython入門」の基礎編5回目です。今回からPyCharmを使ってPythonプログラミングを始めましょう!

読者像に建築業界の方をイメージしているので、建物のはなしが出てきます。ちょっととっつきにくいプログラミングを建築を通して見ることで親近感を持ってもらえたら嬉しいです!

スポンサーリンク

建築情報でざっくり分かるデータ型のはなし!その1

プログラミングを始める方にとってはデータ型なんて言われてもピンとこないと思います。今回は建築業界で見る情報(データ)をデータ型に当てはめながら、実際にPythonでプログラミングしてみましょう。

ざっくり解説、データ型ってなんだろう

データ型をデータと方に分けて、まずはデータから考えてみましょう。

建築業界でよく目にするデータでいうと、部材の「名称」だったり、部屋の「面積」だったり、家具の「個数」などがデータに当たります。建物を設計したり建てたりしようとするとき、無意識のうちに建物をデータ化しています。

仮に名前が付けられなかったり、数字が使えなかったりしたら建物の生産活動ってとっても大変そうですよね。(想像するだけで怖いです…

プログラミングの世界では、コンピュータがそのデータたちを操作しやすいように【型】に当てはめて扱います。データ型には例えば次のような種類があります。

型の名前型の説明例えばこんなもの
int型整数1, 100, 365
float型浮動小数点型:
今は難しく考えずに
小数ってことでOK
0.05, 3.25
str型文字列“東京タワー”, “エッフェル塔”
ダブルクォーテーション ” もしくは、
クォーテーション ‘ で囲む
bool型真偽:
正しいか正しくないか
みたいな感じ
true, false
list型リスト:
色んな型のデータに
順番を付けて
箱にしまったもの
(あとで補足説明)
[0, 1, 2], [“東京タワー”, “エッフェル塔”]
角かっこ[ ]で囲む!
dict型辞書型:
キーとバリューのセット
(あとで補足説明)
{“名前”:”たろう”, “年齢”:20}
キー:バリューのセットを波かっこ{ }で囲む

データ型はまだまだたくさんありますが、いったん基本的なところを理解しましょう。

建築の情報をデータ型に当てはめてPythonで書いてみる

表だけ見てもあまり分からないかもしれないので、実際にPythonでコードを書いてイメージしてみましょう。

皆さんご存知のサヴォア邸のデータに焦点を当てて考えてみることにします。データ型の説明に必要になる簡単なデータを整理してみました。

サヴォア邸のデータについて
  • 設計者 – ル・コルビュジェ、ピエール・ジャンヌレ
  • 住所 – 82 , rue de Villiers, 78300 , Poissy
  • ヴィラ面積 440m2
  • 用途 – 専用住宅

画像とデータ:wikipedia(外部サイト)

まず、PyCharmを起動してください。

既に作成しているPyCharmプロジェクト「PyArchi」を開きましょう。次の画像のようにPyArchiフォルダを右クリックして、Pythonファイルを作成します。

Pythonファイルの名前は「DataType」として新しく作成してみましょう。

PyArchiフォルダに「DataType.py」が作成されました。ウィンドウ下側にある「Terminal」をクリックして下さい。

すると、PyCharmからコマンドプロンプトを立ち上げられます。立ち上げたコマンドプロンプトはウィンドウの下側に出てくると思います。

今、DataType.pyは中身がないので、この中にPythonスクリプトを書いて、立ちあげたコマンドプロンプトから実行してみましょう。

ここからいよいよデータ型の説明に入ります。まずは、str型からです。

建築で理解するstr型!

str型は文字列を表すものだと先ほどの表に書きました。Pythonでは、ダブルクォーテーション「”」もしくは、シングルクォーテーション「’」で囲むことで文字列を表現します。サヴォア邸の設計者をstr型(文字列)であらわしてみましょう。

このコードを「DataType.py」にコピーペーストして上書き保存してください。そして、コマンドプロンプトに次のコードを打ち込んでEnterキーを押して実行しましょう。

実行すると、次のようにコマンドプロンプトに表示されます。

おめでとうございます!
Pythonを使ってstr型のデータを表示できました。

数字はstr型にならないの?

サヴォア邸のデータの中には住所があります。住所には数字がありますね。

住所のデータ型は何になるのでしょうか。

住所は文字列なのでstr型として扱います。

住所の数字を使って足し算や引き算をしないですよね?数字は数字でも、文字列として数字が使われています。ですので、住所に使われている数字は、一般的にはstr型として扱われます。

ちょっとここで休憩をかねて寄り道をします。str型のデータを表示する方法が分かったのですが、建物の名前と設計者が変わったらどうしますか?そこで便利な機能があります。

変数を使ってstr型を表示してみよう

Pythonだけでなくプログラミングには変数というデータ領域があります。ちょっと意味不明なのでざっくりと説明します。

変数はデータに名前を付けて扱いやすくするものとイメージしましょう。

先ほど表示した文字列を見てみます。

サヴォア邸の設計者はル・コルビュジェとピエール・ジャンヌレである。

この部分で固有名詞が3つ出てきます。次の3つですね。

  • サヴォア邸
  • ル・コルビュジェ
  • ピエール・ジャンヌレ

この3つの固有名詞はどのように区別できますか?私は次のように区別しました。

  • 建物名:サヴォア邸
  • 設計者名01:ル・コルビュジェ
  • 設計者名02:ピエール・ジャンヌレ

この書き方で先ほどの文章を見てみると、次のようになります。

【建物名】の設計者は【設計者名01】と【設計者名02】である。

建物名や設計者名のデータを入れ替えることで、なんとなく使いまわせそうですよね。ここで、Pythonに戻って「コードを使いまわせそうな感じ】に書き換えてみようと思います。

データに名前を付けて書き換えてみると次のような感じです。

▽変更前▽

▽変更後▽

建物が変わった時に使いまわせるようにデータを整理しようとすると、データを格納したりデータの在りかを示す【変数】を使用するのが便利です。簡単に言い換えると、変数とはデータに名前を付けて扱いやすいようにするイメージとお話ししました。

ここでは、「サヴォア邸」というstr型のデータを「architecture_name」という変数に代入して、print関数で表示させています。

変数はただデータを代入しているだけなので入れ替えられます。数学と一緒ですね。データの在りかを示す変数を使うだけで、データはとっても扱いやすくなります。

変数はとっても便利!

「print()」とは、括弧の中に書いたデータを表示してくれる関数*でした。括弧の中には、変数やデータをそのまま入れることができます。次の例では、どちらのprint関数も「ル・コルビュジェ」と表示します。

*関数はある処理をまとめたもの。print関数はデータを表示する処理を行う。また別の記事で詳しく解説します。

この場合であればどちらを使ってもいいでしょう。では、設計者名がめちゃめちゃ長い場合はどうでしょうか。世界一長い名前はファーストネームとミドルネームだけで次のようになるようです…フルネームは700文字以上あるらしい…

「Adolph Blaine Charles David Earl Frederick Gerald Hubert Irvim John Kenneth Loyd Martin Nero Oliver Paul Quincy Randolph Sherman Thomas Uncas Victor Willian Xerxes Yancy Zeus」

世界一 長い名前|note:外部サイト

この長い名前を表示させたいときに毎回打っていたら間違えてしまいますよね…?そういう時は変数に代入して扱うと便利です!

この段階で説明できる内容だけでも変数の便利さは十分理解できると思います。

サヴォア邸のstr型以外のデータのデータ型をみてみよう

長い寄り道をしました。str型以外のデータについても見ていきましょう。

  • 面積 440m2

面積はどのようなデータ型に含まれるでしょうか。面積を表すデータには、整数が使われています。整数を表すデータ型はint型と呼ばれています。「DataType.py」の中身を消して次のように書き換えてみましょう。

このコードは、「変数areaにはint型で440というデータが代入されている」という意味を持ちます。int型なので、計算に使用できます。例えば、面積440㎡の建物が2棟ある場合の面積の合計値を求める場合、次のようになります。

次の型の説明に移ります。サヴォア邸の用途に関するデータは次の通りです。

  • 用途 – 専用住宅

ここで謎の質問ですが、「サヴォア邸の用途は【専用住宅】ですか?」と聞かれたら答えは「正しい」ですよね。では、「サヴォア邸の用途は【工場】ですか?」と聞かれたら「間違っている」となります。

この「正しい」「間違っている」を、Pythonでは「true」「false」というデータとして扱います。この真偽を示す「true」「false」というデータの型をbool型と呼びます。

bool型の素晴らしいところはまた別の記事に書いていますので、今はそういうものだと覚えましょう。真か偽のどちらかしかないので覚えやすいですね。

データ型についてはあとは「list型」と「dict型」の説明を行います。長くなってきたので次の記事にまとめることにします。

サヴォア邸の情報とデータ型の関係その1のまとめ

その1では、次のサヴォア邸の情報をもとに次のデータ型について説明しました。

  • str型:文字列型。住所とかなら数字があっても文字列型になる。
  • int型:整数型。計算に使える。
  • bool型:正しいか間違っているかを示すtrueとfasleの2パターン。

データ型の説明の中で変数についても話しました。

  • 変数:データを格納したり代入したりするデータ領域
    • 感覚的に言えばデータに名前を付けて扱えるようにするかんじ
    • 変数名は自由に決められる(あんまり長いのは好まれない)
    • 変数は代入しているだけなので値を入れ替えられる
    • 関数の中にいれて扱う事ができる:print(変数)で変数を表示するなど

「【独学】建築設計でかんたんPython入門!」シリーズのほかの記事はこちらからどうぞ。

コメント

タイトルとURLをコピーしました