点数
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):
pass
import my_class
car1 = my_class.Car('トヨタ', 'アクア')
print('メーカー:', car1.maker, ', 車種: ', car1.model)
コメント