とらりもんHOME  Index  Search  Changes  Login

python入門

 ここでは, 計算機プログラミングとそれに関する数学を学ぶ。機械学習(人工知能; AI)などの最新の情報処理技術を学ぶための基礎づくりである。このページは, 筑波大学生物資源学類「基礎数学」「実用解析I」の教材を元に作ったページである。(2018年度から開始; 随時改訂中)

pythonの初歩

目標: プログラミング言語pythonがどういうものか(オープンソース, オブジェクト指向)基本的な操作(実行環境, スクリプト, 変数, リスト, ループ)を理解し, 自力で扱えるようになる。

レポート課題

おまけ: pythonの魔法のコマンドはhelp()。なんかわからないオブジェクトがあったら, help(なんか)と打つと, それに関する詳細が表示される。

pythonのモジュールと関数

目標: pythonのnumpyモジュールやmatplotlibモジュールを用いて, 数学処理・グラフ描画ができるようになる。

レポート課題

pythonで行列計算・画像

目標: pythonで行列(画像)を扱うスキルを学び, それを用いて, 空間的な数学処理ができるようになる。

レポート課題

pythonで微分・積分・微分方程式

発展課題

お薦めテキスト:

  • ウェブ教材: https://www.python.jp/train/index.html
  • Pythonについて
    • 森巧尚「Python1年生」翔泳社 ... 簡単。プログラミング初心者に良い。
    • 柴田敦「みんなの Python」SBクリエイティブ ... 中くらいの難易度。私はこれが好き。バランスが良い。
    • 柴田望洋 「新・明解Python入門」SBクリエイティブ ... 高い難易度。細かいこともきちんと書いてある。ちゃんと理解したい時に役立つ。

こころがまえ

  • プログラミングはスマートなものではなく泥臭いです。初心者はもちろん, 上級者でもガンガン間違えるしガンガン失敗します。エラーがガンガン出ます。
  • だからうまくいかなくても「自分はプログラミングに向いていない」とか自信を無くしてはダメです。誰がやっても間違うのが普通です。打ってはエラー, 打ってはエラー, の繰り返しです。
  • 諦めずに色々試すうちに工夫を覚えます。エラーがどういうときに出るかわかり始めます。みんなそうやって上達するのです。
  • 受験慣れした人は「間違えることを恐れる」「正解をすぐに欲しがる」「正解は一つに決まると思っている」という傾向がありますが, これらはプログラミングではマイナスです。プログラミングはガンガン間違えるし(むしろ間違えずに一発で動くのは奇跡), 正解は一つではないし(同じような機能のプログラムも, 組む人によって千差万別), 自分で試行錯誤して作っていくものです。むしろプログラミングを学ぶことで受験慣れを卒業し, 一歩「大人」になるのです。
  • 几帳面さが必要です。言葉や記号を丁寧に扱いましょう。プログラミング言語には記号ひとつひとつに意味があり, ちょっとでも間違えたら動きません。
    • ドットとコンマの区別
    • コロンとセミコロンの区別
    • 大文字と小文字の区別
    • スペースの有無
    • スペルの打ち間違い

こういう細かいところでミスを頻発すると疲弊します。

  • 決まった「正解」があると思わないようにしましょう。プログラミングは「ひとつの目的にも多くのアプローチがある」ものです。決まりきった答を探すのでなく, 自分で考え, 見つけるのです。「ちゃんと動く」ことが正義であり正解です。
  • 人に聞こう。わからなくて煮詰まったときは, 人のアドバイスが劇的に事態を打開することがあります。聞き方に注意しよう!→ https://qiita.com/seki_uk/items/4001423b3cd3db0dada7
  • 人に「答」を教わろうとしない。↑これと矛盾するようですが, あなたの組んだプログラムの正解はあなたが見つけるのです。
  • ChatGPTに聞くのも良いかもしれません。
  • 丸暗記しないでよい。プログラミングは暗記するものでなく言語です。使って慣れて理解していくもの。
  • 粘り強くやろう。粘り強さは決定的に重要です。組んだプログラムが一発で動くことはほとんどありません。動くまで頑張る・粘るのです。

メモ: PythonもRも, 「オープンソース」です。オープンソースの開発者がどういう人たちで, 何を考えているのか, こちらの記事を読んでみて下さい!!

Last modified:2023/07/21 00:44:54
Keyword(s):
References:[SideMenu] [とらりもんHOME] [機械学習入門: レポート課題1] [機械学習入門: 概要]