概要
MySQL勉強まとめ3の続きです。
個人的な勉強のまとめなので、もし修正があればご指摘いただけるとありがたいです。
目次
- モジュールの設定
- ライブラリの設定
モジュール
モジュールを使おう
モジュールとは、Pythonのコードが書かれたファイルのことです。
別ファイルをモジュールとして読み込むことでそこに書かれたコードを利用することができます。
今までコードを記述していたscript.pyもモジュールです。ここでは関数の定義部分をscript.pyからutils.pyに移します。
(progateの説明より)
import
importを使うことでモジュールを読み込むことができます。
モジュールを読み込んで使いたいファイルに、「import モジュール名」と書くことで読み込むことができます。
モジュール名はファイル名から拡張子(.py)を取り除いたものとなります。
(progateの説明より)
import utils
# utils.py をモジュールとして読み込んでください
print('じゃんけんをはじめます')
player_name = input('名前を入力してください:')
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
player_hand = int(input('数字で入力してください:'))
# utils モジュール内の関数 validate を呼び出してください
if utils.validate(player_hand):
computer_hand = 1
if player_name == '':
# utils モジュール内の関数 print_hand を呼び出してください
utils.print_hand(player_hand)
else:
# utils モジュール内の関数 print_hand を呼び出してください
utils.print_hand(player_hand, player_name)
# utils モジュール内の関数 print_hand を呼び出してください
utils.print_hand(computer_hand, 'コンピュータ')
# utils モジュール内の関数 judge を呼び出してください
result = utils.judge(player_hand, computer_hand)
print('結果は' + result + 'でした')
else:
print('正しい数値を入力してください')
# 3つの関数のコードを貼り付けてください
def validate(hand):
if hand < 0 or hand > 2:
return False
return True
def print_hand(hand, name='ゲスト'):
hands = ['グー', 'チョキ', 'パー']
print(name + 'は' + hands[hand] + 'を出しました')
def judge(player, computer):
if player == computer:
return '引き分け'
elif player == 0 and computer == 1:
return '勝ち'
elif player == 1 and computer == 2:
return '勝ち'
elif player == 2 and computer == 0:
return '勝ち'
else:
return '負け'
このようにモジュールは別ファイルにコードを置いて、コードをシンプルにするための方法です。
呼び出す時はモジュール名.関数名
で記述する。
ライブラリ
先程は自分でモジュールを作りましたが、Pythonには便利なモジュールがいくつか用意されています。これらのあらかじめ用意されているモジュールは標準ライブラリと呼ばれ、importを用いて読み込むことで便利な関数を利用できるようになります。
(progateの説明より)
ライブラリについては上記の通りです。
import utils
import random
# random モジュールを読み込んでください
print('じゃんけんをはじめます')
player_name = input('名前を入力してください:')
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
player_hand = int(input('数字で入力してください:'))
if utils.validate(player_hand):
# randint を用いて 0 から 2 までの数値を取得し、変数 computer_hand に代入してください
computer_hand = random.randint(0,2)
if player_name == '':
utils.print_hand(player_hand)
else:
utils.print_hand(player_hand, player_name)
utils.print_hand(computer_hand, 'コンピューター')
result = utils.judge(player_hand, computer_hand)
print('結果は' + result + 'でした')
else:
print('正しい数値を入力してください')
random.randint(0,2)で0〜2の数値をランダムで取得する。