点数
70点
感想
最初の入門書としてはいいのかもしれないが、内容は薄かった。
pythonで何かを作るには、他の情報が必要になると思う。
配列操作
names = ['鈴木', '山本', '高橋', '小林']
names.append('山田')
names.insert(3, '山田')
names.pop(2) # インデックス指定で削除
names.remove('山田') # 値指定で削除
names3 = names + ['佐藤'] # 連結
print(names3)
print('山田' in names) # 値があるかチェック"辞書(連想配列)
person = {
  id: 1,
  name: '山田',
  age: 20,
}
person.pop('age') # キー指定で削除
person.clear() # 全てのキーを削除タプル(読み取り専用配列)
tuple = ('aaa', 'bbb')セット
- 順番を持たない、かつ重複した値を許さない配列。
- ある値が既に存在するかどうかをチェックしたい場合に利用する。
names = {'山田', '田中', '鈴木'} # セットの作成
names2 = set( ['山田', '田中', '鈴木', '山田']) # 配列からセットを作成(重複は削除される)
names.add('山本') # 追加
names.remove('田中') # 削除
print('山田' in names) # True(in演算子によるチェック)
names.clear() # 全削除mathモジュール
import math
print(math.floor(12.34))datetimeモジュール
- モジュールでは、関数だけでなくデータ型(クラス)も定義することができる
- datetime.date, datetime.time, datetime.datetimeはデータ型である
- datetime.date(2000, 1, 1)のようにモジュール名.型名(引数)で値を生成する
- datetime.date.today(),- datetime.datetime.now()のようにクラスメソッドで生成することもある
- datetime.date型同志を演算子で加減算するとdatetime.timedelta型を返す
- datetime.timedelta(days=xx)でdatetime.timedelta型の値を生成することができる
- 文字列にする場合はstr()関数で変換するprint('今日は' + str(datetime.date.today()))
import datetime
today = datetime.date.today()
print(today)
print(today.year)
print(datetime.date(2020, 12, 31))
print(type(datetime.date)) # <class 'type'>
print(type(today)) # <class 'datetime.date'>
delta = today- datetime.date(2020, 12, 31)
print(delta)
print(type(delta)) # <class 'datetime.timedelta'>
print(today + datetime.timedelta(days=30))
theTime = datetime.time(9, 11, 30)
print(theTime) # 09:11:30
print(theTime.minute) # 11
theDateTime = datetime.datetime(2021, 11, 4, 15, 10, 3)
print(theDateTime)
print(theDateTime.year)
print(datetime.datetime.now()) # ミリ秒まで
print(datetime.datetime.now().replace(microsecond = 0)) # ミリ秒削除ファイル操作
- withブロックを利用すると、ブロック終了時に自動的に閉じられるwith open('hoge.txt', 'w', encoding='UTF-8') as file : print(file.read())
- 末尾の改行コードは.rstrip('\n')で除去できる
- open()で返されるファイルオブジェクトをループさせて行単位で取得することもできるwith open('hoge.txt', 'r', encoding='UTF-8') as file :
 for line in file:
 print(line.rstrip('\n'))
file = open('hoge.txt', 'w', encoding='UTF-8')
file.write('[' + str(datetime.datetime.now().replace(microsecond = 0)) + ']\n')
file.close()
with open('hoge.txt', 'r', encoding='UTF-8') as file :
  lines = file.readlines()
  print('先頭行:', lines[0].rstrip('\n'))クラス
- クラス名はパスカルケース、ファイル名はスネークケースとする
- コンストラクタは__init__関数として定義する
- コンストラクタ、メソッドの最初の引数はselfでなければならない
- クラスメソッドを定義する場合は、@classmethodデコレータを付与する。第1引数はclsでなければならない。
- 継承したクラスはclass クラス名(親クラス名)で定義する
- passは空のブロックであることを表す
class Car:
  def __init__(self, maker, model) :
    self.maker = maker
    self.model = model
  def print_maker(self):
    print(self.maker)
class Bus(Car):
  passimport my_class
car1 = my_class.Car('トヨタ', 'アクア')
print('メーカー:', car1.maker, ', 車種: ', car1.model)
