第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 まで


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