#author("2023-10-09T11:43:28+09:00;2023-08-17T15:30:39+09:00","default:inoue.ko","inoue.ko") *第5回 Python プログラミング1 [[データサイエンス/2023]]|[[受講生一覧>https://design.kyusan-u.ac.jp/socialdesign/?%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9]]|[[汎用シート>https://docs.google.com/spreadsheets/d/1g-6TyzeQg3md55l9SGnqN-USBsoCNYOwSDDUOKVBJu8/edit?usp=sharing]] ~ ***CONTENTS #contents2_1 ~ ~ **はじめに ***Python 言語について 今回からは Python というプログラミング言語を使います。データサイエンスの世界では、スプレッドシートを用いた統計処理と並んで、Python言語による統計処理が主流となっており、インターネット検索でも、様々な手法を知ることができます。 Pythonはさまざまな分野のアプリケーションで使われている''インタープリタ型のプログラミング言語''です。クリーンで読みやすい文法、手続き型のコードによる自然な表現、直感的なオブジェクト指向、事実上すべてのタスクをこなせる広範な標準ライブラリとサードパーティのモジュール、アプリケーションに組み込んでスクリプトインタフェースとして利用することが可能・・など様々な利点があります。 開発環境を含めて__[[オープンソース>OpenSource]]__です。無償でダウンロード>インストールして利用することができます。 -詳細はこちら>__[[Python]]__ ~ ***Google Colaboratoryについて Python言語を使うには、パソコンに開発環境をインストールする方法もありますが、ここでは Python の学習環境として様々なテキストで紹介されている Google Colaboratory を使用します。 Google Colaboratory とは、Googleの仮想マシン上で動く [[Jupyter Notebook>https://jupyter.org]]((Jupyter Notebook は、ブラウザ上で Python のコードの編集とインタラクティブな実行ができるだけでなく、テキストドキュメントを挿入したノートとして情報共有する仕組みを実現したオープンソースのWebアプリケーションです。数値シミュレーション、統計モデリング、データの視覚化、機械学習などを得意とする、総合的なデータサイエンスツールです。)) をベースとした開発環境です。Googleアカウントがあれば、日常的に用いているブラウザから誰でも無料で利用できます。 -https://colab.research.google.com -詳細はこちら >__[[GoogleColaboratory]]__ ~ ~ **Python 初体験 ***Google にアクセスしてログイン -https://www.google.co.jp/ に、ご自身のアカウントでログインして下さい。 ~ ***Colaboratoryにアクセス #image(GoogleColaboratory/login.jpg,right,35%) -公式サイトにアクセス https://colab.research.google.com #clear ~ ***新規のノートブックを作成 #image(GoogleColaboratory/rename.jpg,right,35%) -Untitled0.ipynb というファイル名を以下に変更。このノートを学科サイト上でリンク公開することが今回の演習課題となります。 PythonBasics.ipynb #clear -コードセルが1つ表示されて、プログラムが書ける状態になっていることを確認して下さい。 #image(GoogleColaboratory/code_cell.jpg,,80%) #clear ~ '''では、はじめましょう''' ~ ***Jupyter Notebook の概要 [[Jupyter Notebook>https://jupyter.org]]には、コード(プログラム)を書くための''コードセル''と、テキスト(ノート)を書くための''テキストセル''の2つがあります。この2つのセルを使うことで、見出し・解説・プログラムを文字通り「ノート」のようにまとめることができます。 -''コードを追加する場合''は「+コード」をクリックします。 -新たなコードセルが追加されるので、そこにプログラムを書きます。 -コードを実行する場合は「▶」をクリックします。 -コードセルの直下に結果が表示されます(変数の値は保持されています)。 -''ノートを書く場合''は「+テキスト」> テキストセルが追加されます。 -[[Markdown]]記法を用いて、見出しや箇条書き等のスタイルが使えます。 -セルの上下(処理の順序)は、セルに付随して表示されるアイコン「 ↑ ↓ 」を使って変更することができます。 -ノートは [[GoogleDrive]] の ''Colab Notebooks''というフォルダに自動保存されるので安心です。 ~ ***対話処理の初期体験 -コードセル(▶のボタンのある枠内)に、以下のように書いてみて下さい。1行目は「 5 x 3 の計算結果を a に代入する」という意味で、2行目は「 a の内容を表示する」という意味です。 a = 5 * 3 a -▶(実行)のクリックでプログラムが実行され、処理結果が表示されます。 15 -「+コード」でコードセルを追加して、以下のように書いてみて下さい。 b = a *2 b -当該セルの▶のボタンをクリックすると処理結果が表示されます。なお、前のセルで定義した変数( a:15 )は、後のセルで使用できる前提です。 30 #image(GoogleColaboratory/result.jpg,,80%) -と、こんな感じで、対話的に作業を進めることができます。 //#image(GoogleColaboratory/save.jpg,right,40%) -マイドライブを確認してみて下さい。 ''Colab Notebooks''というフォルダにノートが保存されていることが確認できると思います。 #clear ~ ***Colaboratory 利用上の留意事項 Googleアカウントがあれば、誰でも無料で利用できますが・・ -連続使用が12時間を経過すると対話がシャットダウンされます。 -90分間アクセスがない場合もシャットダウンされます。 -シャットダウンされた場合、変数に記憶されたデータは初期化されます(次回ノートを開いた際は、最初のコードから順に処理することになります)。 -とは言っても、ノートに書かれたコードやテキストは GoogleDrive に保存されていますので、Pythonの学習目的での利用では問題ありません。 ~ ~ **入力・処理・出力 プログラムの基本は、以下の流れです。 データの入力 > 計算処理 > 結果の出力 ~ ***サンプルプログラム 以下のソースを「コード」として コピー&ペーストしてお試し下さい。 a = input( "a = " ) b = input( "b = " ) a = int( a ) b = int( b ) c= a*b print( "a x b = ", c ) ~ ~ ***変数について プログラミングの世界では「データを入れる器」のことを変数と言います。 Python の予約語以外であれば、自由な変数名を使うことができます。 x = 256 a = "hello" 変数には、数値・文字列・リストなど、様々なタイプがあります。 > 詳細:__[[Python/Syntax]]__ ~ ***コメントについて Python では # 記号以降はコメントとして扱われます。プログラム上で文の機能を一時的に無効にする(コメントアウト)場合にも利用可能です。 -インラインコメント #から行末までは実行時に無視されます。#より前のコードは有効です。 a = 1 # comment -ブロックコメント(行全体) 行頭に#を書くと、行全体コメントとなり、実行時には無視されます。 a = 1 # b = 2 # c = 3 d = 4 ~ ~ **演習5|Pythonプログラミングの基礎 ***学科サイトにリンク掲載 上記のプログラムのノートを、学科サイトの個人ページからリンクして下さい。以下、手順です。 -1. 自分のノートを開いた状態で、右上の「共有」をクリック -2. 共有設定を変更して、以下のように表示される状態にします。 このリンクを知っているインターネット上の全員が閲覧できます。 -3. 「リンクをコピー」をクリックして、そのアドレスを、以下の形式で、学科サイトの「Jupyter Notebooks」の部分に掲載して下さい。 -[[Python Basics>https://colab.research.go・・=sharing]] -4. 以下のようになればOKです。 https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/DataScience このようなファイルを作っておくと、今後ちょっとしたコードの動作確認を行うためのノートとして活用することができます。 ~ ~ ~