![見出し画像](https://assets.st-note.com/production/uploads/images/114056054/rectangle_large_type_2_c7eba4bbcc5d458e3b4c650221fc3466.png?width=1200)
Google Colabを一段階進化させるための方法
Google Colab(以下Colab)で以下の画像のように、Formの入力ができる項目やドロップダウン(複数の選択肢からものを選ぶ)、スライドバー、チェックボックスの設定ができます。
![](https://assets.st-note.com/img/1692703844338-KRvp0UIJ3R.png)
このFormを使用することで例えば、プログラムを触ったことのないユーザーが簡単に試せるように、Formに値を入力し実行するだけで結果が得られるようにするなど。
では、ColabのFormの使い方について。
サンプルコード
サンプルコード触りながら、実際に使ってみるのがいいと思います。
フォームの追加方法
「挿入」▶「フォームの項目の追加」
![](https://assets.st-note.com/img/1692706910457-D6u3VX1NzK.png?width=1200)
「フォームの項目の追加」を押すと追加するフォームの項目が表示されます。
![](https://assets.st-note.com/img/1692706955143-WZFrb8nIJc.png?width=1200)
「フォーム フィールド タイプ」には4つの項目があります。
ドロップダウン▼
![](https://assets.st-note.com/img/1692707618425-ASo4loGKOK.png?width=1200)
入力▼
![](https://assets.st-note.com/img/1692707601511-0pLdC5uodb.png?width=1200)
スライダー▼
![](https://assets.st-note.com/img/1692707637388-wj7bFrm337.png?width=1200)
マークダウン▼
![](https://assets.st-note.com/img/1692707647430-gUHlvrIlU5.png?width=1200)
各フォームの使い方
セルにタイトルを入れる
# @title
![](https://assets.st-note.com/img/1692711054582-hpFTs4kO0c.png)
入力フォーム
文字の入力
string
コンピュータが理解できるように、入力した文字を変換して値ににする。例えば、日本語を入力するとUnicodeに変換されます。
raw
入力されたものをそのまま値にする。
text = "" # @param {type:"string"}
raw = None # @param {type:"raw"}
![](https://assets.st-note.com/img/1692708917326-60Vg5GyXn5.png)
数値の入力
number
整数以外も使える
integer
整数だけ
number = 0 # @param {type:"number"}
integer = 1 # @param {type:"integer"}
![](https://assets.st-note.com/img/1692708936866-hYhSRg4TR4.png)
日付の入力
date = "2023-08-17" # @param {type:"date"}
![](https://assets.st-note.com/img/1692708950005-1fbZQpyayp.png)
チェックボックス
check = False # @param {type:"boolean"}
![](https://assets.st-note.com/img/1692708991715-lKghSDGex2.png)
ドロップダウン
通常のドロップダウン
dropdown = "one" # @param ["one", "two", "three"]
![](https://assets.st-note.com/img/1692709810312-kQDHoHmqyd.png)
入力ありのドロップダウン
dropdown_input = "" # @param ["one", "two", "three"] {allow-input: true}
![](https://assets.st-note.com/img/1692709874396-bPKMDWy9dt.png)
「raw」を組み合わせたドロップダウン
rawに入力された値をraw_dropdownにある同一名のrawに値が反映される
raw = None # @param {type:"raw"}
raw_dropdown = raw # @param [1, "raw", "False", "'string'"] {type:"raw"}
![](https://assets.st-note.com/img/1692710146294-g5ko8dz4DC.png)
スライダー
min
スライドの最小数値
max
スライドの最大数値
step
スライドを動かすときに増える数値
slider = 0 # @param {type:"slider", min:0, max:100, step:1}
![](https://assets.st-note.com/img/1692710250775-IcvSsF6mcA.png)
マークダウン
通常のマークダウンの記述方法と変わらない
# @title マークダウン フィールド
# @markdown # 見出し
# @markdown マークダウン
# @markdown - 箇条書き
# @markdown - 箇条書き
# @markdown [リンク]()<br>
# @markdown [リンク]()
![](https://assets.st-note.com/img/1692710460055-KcJnFexq2Z.png)
displayモード
# @titleに{ display-mode: "form" }を追記することでデフォルトでフォームだけになる
# @title { display-mode: "form" }
![](https://assets.st-note.com/img/1692710715868-0vbj1P6x4V.png)
自動実行
# @titleに{ run: "auto" }を追記することで自動出力する値の変更ができる
一度対象のコードセルを実行しておく必要があります。
# @title 自動実行 { run: "auto" }
![](https://assets.st-note.com/img/1692710948307-eTvI0HEZwH.png?width=1200)
Jupyter Widgets
Colab自体でFormが使えるので、このnoteを書いている時は、Jupiter widgetを私的に使う利点はあまり感じませんが、Colabで使えるので一応書いています。
Jupiter widgetをColabで使う「ドキュメント」
クリックするたびに「Button clicked.」とメッセージを出力する
# @title Jupyter ウィジェット
import ipywidgets as widgets
from IPython.display import display
button = widgets.Button(description="Click Me!")
output = widgets.Output()
def on_button_clicked(b):
# 出力するメッセージ
with output:
print("Button clicked.")
button.on_click(on_button_clicked)
display(button, output)
![](https://assets.st-note.com/img/1692711644176-e3KflsV8j7.png)