第3回目 変数の型と演算

ページ名:第3回目 変数の型と演算

このページの変更記録

  • 7/29 11:10 に公開
  • 7/29 11:33 誤字訂正
  • 7/29 21:52 課題報告の仕方修正

第3回課題実施報告の締め切りは,8/4 とします。
(締め切りに遅れても受付はします)


課題報告メールの件名は
A-303xxxx-03 名前(漢字名がのぞましい)
のように,してください。名前以外は,必ず,半角文字を使用してください。
最初は,A or B で,クラス(A, B は,大文字で半角文字を守ること)
次の数字は,学生番号(y303xxxx) なら,303xxxx の7桁とすること
最後は,報告する授業の回数です。01 から 15 まであります。
間の - は,半角のマイナス記号です。



教科書『Python Pocket Reference』
⇒ 教科書 p.数字,と書いてあれば,そこをみて,印をつけておくことをおすすめ。
この講義では,自分のために役立つプログラムを作成できるようにする。料理でいうと,自炊ができるレベルを目指す。


初期化プログラム

Python の動かし方


#初期化プログラム。動作確認を含めて,プログラム作成のとき1度実行しておく
#初期化プログラムは,今回はなし


ベクトル(数字を組みで扱う)は,Tuple 型,List 型が基本


次のプログラムを動作させる
Python の動かし方



#数字を組みで扱うとき(ベクトル,数列)などは,基本は,Tuple 型,List 型を使う
A = (3, 4, 10) # Tuple 型
B = 2, -1, 1.5 # ( ) がなくてもよい。
C = [3, 4, 10] # List 型, ( ) のかわりに,[ ] を使う


print(type(A), A)
print(type(B), B)
print(type(C), C)


個別の項の指定方法


# 個別の要素を指すときは,[数] を使用する。
# 数列の添字に相当
#Python の世界では,初項は,第1項でなく,第ゼロ項,となる
print(A[0], A[2], A) #A の最初の初項,三番目の項,全体を表示
print(C[0])


Tuple 型と List 型の使い分け



#Tuple 型は,要素の変更ができないことを確認する
# 次のエラーとなる
# TypeError: 'tuple' object does not support item assignment
# 訳すると,型エラー: タプル変数(オブジェクト)は,項の代入はサポートされない。
A[1] = 5
print(A)


次,List 型で確認しよう。


#List 型は,項の値が変更ができることを確認する
C[1] = 5
print(C)


項の値の変更が必要なときに,List 型変数を使い,値の変更がないときは,Tuple 型変数を利用する。
Tuple 型変数の方が高速に処理され,バグが発生しにくい。


ベクトル演算があるときは,numpy.array 型変数を使う

Tuple 型(List 型も)は,定数倍など,ベクトル演算ができない。



# Tuple 型, numpy.ndarray 型のベクトル演算の乗算を見る
import numpy #初期化プログラムを動作させていないとこれが必要
N1 = numpy.array( (3, 4, 10) )
N2 = numpy.array(B) #ベクトルを使うと ( ) が一重で済む
print(A, A * 3) # Tuple 型は,データ項数が増え,ベクトル演算をしない
print(N1, N1 *3) # numpy.array 型は,定数倍のベクトル演算をする
print(N1, N2, N1 + N2)


課題

適当な数字を4つ,タプル型変数に代入し,それを * 3 をしてみる
また,その4つの数字を numpy.array変数に代入し,* 3 をしてみる


課題報告は

  • 課題を実施した感想,あれば質問

それに加えて


ベクトル(数字の組)は,Tuple 型,List 型や numpy.array 型で扱うことができ,
演算に違いがあることを理解した


と書き
試したプログラムも書いてください。


(投稿された他の学生のものはコピーして修正しないこと。これをやると伝言ゲームのようにだんだんおかしなプログラムになる)



登場した用語


質問と返答

講義への質問は,suehiro3721p@gmail.com まで


講義メモ(先生のための覚え書き)

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

トップページ

https://wiki3.jp/MathPython 内で書かれていることは,ご自由にご利用ください。管理者により改変されることもあります。工学部学生のための Python 入門(大学のプログラム入...

Python の動かし方

Jupyter Notebook を使うほぼ互換の Google Colaboratory を使うGoogle ドライブの中で,「新規」の「その他」の中で,Google Colaboratoryを選ぶ...

第14回目 課題実装例

このページの変更記録09/19 執筆中第14回目の課題はありません。今後の Python 利用 Pyrhon プログラムの料理でいうと自炊レベルとは,必要に応じて,自分専用の関数を作れることといってい...

第11回目 辞書型

このページの変更記録08/24 公開09/27 課題報告メモを削除09/27 サンプル一部変更教科書『Python Pocket Reference』⇒ 教科書 p.数字,と書いてあれば,そこをみて,...

第15回目 単位課題

このページの更新記録1019 質問への返答追加08/12 00:15 準備運動のようにキーボード練習をする,を追加08/13 13:16 質問への返答追加。締め切りについて。09/19 16:49 課...

第10回目 インストール

このページの変更記録08/16 17:12 公開08/31 15:07 分子コードの例を追加,文章の言い回し一部訂正インストールAnaconda(アナコンダ)をインストールする 2020年夏現在,Py...

第5回目 For ループ

このページの変更記録08/01 09:09 公開 08/01 09:15 訂正 08/01 12:19 サンプルプログラムに行が余分に空いて表示されると書く08/01 12:54 用語に,「ブロック」...

py3Dmol で画像が出ない。

ブラウザのキャシュエラーキャシュをクリアをする。Ctrl キー押しながら,更新ボタンをおすまたは,キャシュクリアーするツールを起動するChromebook だとhttp://atomurl.net/c...

第8回目 CSVファイル

このページの変更記録08/07 17:52 公開08/07 18:08 誤字訂正,言い回し変更08/08 00:32 サンプルプログラムに「#確認用表示」のコメントを追加08/08 00:36 課題文...

モジュール

ソースプログラムの保管単位 Python 言語の仕様上最初から入っているもの標準モジュールインストール時にいっしょに入るもの外部モジュール組込みモジュール,標準モジュール でないモジュール。組込みモジ...