【Python】キー入力でループを抜ける処理を解説

【Python】キー入力でループを抜ける処理を解説

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

Pythonwhile Trueなどの無限ループを記述したものの、キー入力でそのループを安全に終了する方法がわからず困った経験はないでしょうか。強制終了(Ctrl+C)以外の終了手段を知らないまま実装を進めると、プログラムが意図しない状態で終わるケースが生じます。

適切な終了処理を実装しないと、ループ中に蓄積したデータが保存されないまま失われたり、リソースリークが発生したりする恐れがあります。

この記事では、Pythonでキー入力によりループを抜ける処理を4つの方式に分けて解説します。ブロッキングとノンブロッキング型の違いや用途別の選択基準も整理しているので、自分のケースに合った方法を選べます。



Pythonのキー入力でループを抜ける処理の全体像

Pythonでキー入力によりループを抜ける処理は、大きく4つの方式に分類されます。ここでは、各方式の特性を比較しやすいよう「ブロッキング型」と「ノンブロッキング型」という2つの軸で整理します。

ブロッキング型とは入力が完了するまでプログラムの実行が停止する方式、ノンブロッキング型とは処理を止めずにキー入力の状態を確認できる方式のことです。

以下の比較表で、方式ごとの特徴を一覧で確認できます。

方式名 インストール OS対応 特徴
input()関数 ブロッキング型 不要(標準) 全OS Enter確定の行入力で処理が停止。対話式ループに適する
keyboardモジュール ノンブロッキング型 pip install keyboard Win: 基本動作 / Linux: root必須 / macOS: 実験的+root必須 キー押下をリアルタイム検知。ループを止めずにキー監視できる
KeyboardInterrupt例外 例外処理型 不要(標準) 全OS Ctrl+Cによる割り込み。try-finallyで後処理を実行できる
threadingモジュール ノンブロッキング型 不要(標準) 主要OS(Windows・macOS・Linux) 別スレッドでキー入力を監視。メインループを止めずに並行処理できる

ブロッキング型のinput()関数はEnter確定の行入力を待つ間ループ処理が停止するため、センサー監視のように処理を継続したい場面には向きません。そのような用途にはkeyboardモジュールthreadingモジュールが適しています。

それぞれの方法について、以下で詳しく解説していきます。

Pythonのinput関数でキー入力を受け取りループを抜ける方法

input()関数は、Pythonの標準ライブラリに含まれる行入力関数です。キー1つずつの押下をリアルタイムに検知するのではなく、ユーザーがEnterキーを押して確定した時点で入力文字列をまとめて返します。

以下の2つのパターンを順に解説します。

  1. while文とbreak文を組み合わせてループを抜ける
  2. 特定の文字列を入力してループを終了する

それぞれ用途が異なり、単純な一時停止には1つ目のパターンが、コマンド入力の終了制御には2つ目のパターンが適しています。それでは各パターンについて、詳しく解説していきます。

If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that.

出典:Python公式ドキュメント - Built-in Functions: input()

while文とbreak文を組み合わせてループを抜ける

while Trueで無限ループを作り、input()でユーザーの入力を受け取った後に条件判定でbreakするのが基本のパターンです。input()は前述の通りブロッキング型の関数であるため、Enterキーが押されるまで後続の処理が一切進みません。

以下のコードは、何も入力せずEnterを押した場合にループを終了し、何か文字を入力してEnterを押した場合はループを継続する実装例です。

count = 0

print("ループを開始します。空Enterでループを終了します。")

while True:
    print(f"カウント: {count}")
    count += 1

    user_input = input("続けるには文字を入力してEnter、終了するにはそのままEnterを押してください: ")
    if user_input == "":
        print("ループを終了します。")
        break

print(f"最終カウント: {count}")

このコードでは、何も入力せずEnterを押した場合(空文字列)にbreakが実行されます。それ以外のキーを入力してEnterを押した場合はループが継続するため、意図しない終了を防げます。

特定の文字列を入力してループを終了する

input()で受け取った文字列が特定のコマンド("quit""exit"等)と一致する場合にbreakするパターンは、コマンドラインツールや対話型プログラムで広く使われる実用的な手法です。文字列の比較には==演算子またはin演算子を使い、複数のコマンドをまとめて受け付けることもできます。

以下のコードは、"quit"または"exit"を入力した場合にループを終了する実装例です。大文字・小文字を区別しないよう.lower()正規化しているため、"Quit""EXIT"でも終了できます。

print("繰り返し処理を開始します。終了するには 'quit' または 'exit' と入力してください。")

count = 0

while True:
    count += 1
    print(f"\n--- ループ {count}回目 ---")
    print("何らかの処理を実行中...")

    user_input = input("コマンドを入力してください (quit/exit で終了): ")

    if user_input.lower() in ("quit", "exit"):
        print("終了コマンドを受け付けました。ループを抜けます。")
        break
    else:
        print(f"入力 '{user_input}' を受け付けました。ループを継続します。")

print(f"\nプログラムを終了しました。合計 {count} 回実行しました。")

上記のコードでは、user_input.lower()で入力文字列をすべて小文字に変換してからin演算子でタプルと照合しています。elseブロックで入力値をそのまま表示しているため、終了以外のコマンドを将来的に追加しやすい構成です。

以下の表は、終了コマンドのパターンを拡張する際の判断基準をまとめたものです。

パターン コード例 用途
1語一致 user_input == "quit" 終了コマンドが1種類のみ
複数語一致 user_input.lower() in ("quit", "exit", "q") 略語・複数コマンドを受け付ける
前方一致 user_input.lower().startswith("q") "q"始まりの入力はすべて終了とみなす

対話型プログラムの終了コマンドとしては"quit""exit"の両方を受け付けるのが慣例です。略語として"q"も追加しておくと、ユーザーの操作コストを下げられます。

Pythonのkeyboardモジュールでキーを検知してループを抜ける方法

keyboardモジュールは、Pythonでノンブロッキングのキー入力検知を実現する外部ライブラリです。ただし、本ライブラリは現在メンテナンスが停止(unmaintained)されており、GitHubリポジトリもアーカイブ済みのため、業務利用では代替手段(threadingモジュールや標準ライブラリのcursesモジュール等)も検討してください。

keyboardモジュールを使用するには、事前に以下のコマンドでインストールが必要です。

pip install keyboard

keyboardモジュールはOSごとに動作条件が異なります。Windowsでは多くの場合追加権限なしで動作しますが、保護されたプロセスへのフックには管理者権限が必要な場合があります。

Linuxではroot権限(sudoでの実行)が必須です。macOSでは公式READMEで「実験的サポート(experimental)」と記載されており、root権限が必要なうえに一部の機能が制限される場合があります。

このH2では、以下の2つの使い方を解説します。

  1. keyboard.is_pressed()でキー押下を検知する
  2. keyboard.on_press()でコールバックを登録してループを抜ける

それぞれ動作の仕組みが異なるため、用途に応じて使い分けてください。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

keyboard.is_pressed()でキー押下を検知する

keyboard.is_pressed()は、引数に指定したキーが現在押されているかどうかをbool値で返す関数です。この関数は「押された瞬間」を検出するエッジ検出ではなく、「押されている状態」を返すため、ループの周期によっては同じ押下が複数回検出される点に注意してください。

以下のサンプルコードは、qキーが押されるまでループを継続し、qキーを押した時点でループを終了する実装例です。

import keyboard
import time

print("ループを開始します。'q'キーを押すと終了します。")

count = 0
while True:
    print(f"処理中... count={count}")
    count += 1
    time.sleep(0.5)

    if keyboard.is_pressed("q"):
        print("'q'キーが押されました。ループを終了します。")
        break

print("ループを抜けました。")

上記のコードでは、while Trueの無限ループ内で0.5秒ごとにカウントを表示し、keyboard.is_pressed("q")がTrueを返した時点でbreakが実行されます。

keyboard.is_pressed()の主な特徴と注意点は、以下の通りです。

項目 内容
動作方式 ノンブロッキング(ループを止めずに検知)
引数形式 文字列で指定(例:"q"、"esc"、"space")
戻り値 押されていればTrue、押されていなければFalse
OS対応 Win: 動作 / Linux: root必須 / macOS: 実験的+root必須

time.sleep()の待機時間を短くすると応答性が上がりますが、CPU使用率も上昇します。処理を継続せずキー押下だけを待つ場合は、keyboard.wait("q")でブロッキング待機する方法も選択肢です。

keyboard.on_press()でコールバックを登録してループを抜ける

keyboard.on_press()は、キーが押されたときに実行されるコールバック関数を登録するメソッドです。コールバック関数とは、ある事象(ここではキー押下)が発生したときに自動的に呼び出される関数のことです。

フラグ変数を使ってコールバック内でループ停止の意思を伝え、メインループ側でそのフラグを確認してbreakする設計が広く採用されています。

以下のサンプルコードは、escキーが押されたらフラグを立て、メインループを終了する実装例です。なお、keyboardモジュールは内部的に別スレッドでコールバックを呼び出します。

この例のような単純なboolフラグの更新は多くの場合問題なく動作しますが、より厳密にスレッド間の同期を管理したい場合はthreading.Eventの利用を推奨します。

import keyboard
import time

# ループ停止フラグ
stop_flag = False

def on_key_press(event):
    """キーが押されたときに呼ばれるコールバック関数"""
    global stop_flag
    if event.name == "esc":
        print(f"\n'esc'キーが押されました。ループを終了します。")
        stop_flag = True

# コールバックを登録する
keyboard.on_press(on_key_press)

print("ループを開始します。'esc'キーを押すと終了します。")

count = 0
while not stop_flag:
    print(f"処理中... count={count}")
    count += 1
    time.sleep(0.5)

# コールバック登録を解除する
keyboard.unhook_all()

print("ループを抜けました。")

コールバック関数on_key_pressは、押されたキーの情報をevent.nameで取得できます。event.nameが"esc"と一致した場合にグローバル変数stop_flagをTrueに変え、メインループの継続条件while not stop_flagが偽となってループを抜けます。

ループ終了後はkeyboard.unhook_all()を呼び出してコールバック登録を解除することを推奨します。通常のスクリプト実行ではプロセス終了時にフックも解放されますが、対話型シェル(REPL)やJupyter Notebookなどの長期実行環境ではコールバックが残存する場合があるためです。

keyboard.is_pressed()keyboard.on_press()の使い分け基準は、以下の通りです。

方式 向いている場面 向いていない場面
is_pressed() シンプルなループで即座に停止したい ループの処理間隔が長く応答性が必要な場面
on_press() 複数キーへの対応や複雑な条件が必要 シンプルな1キー検知のみで済む場面

単純なqキーでの停止ならis_pressed()で十分ですが、複数キーの組み合わせや処理の優先度を細かく制御したい場合はon_press()のコールバック方式が適しています。なお、macOSやLinuxでroot権限を付与できない環境では、標準ライブラリのcursesモジュールがノンブロッキングのキー入力検知の代替として利用できます。

PythonのKeyboardInterrupt例外でCtrl+Cによりループを抜ける方法

KeyboardInterruptとは、ターミナルでCtrl+Cなどの割り込みキーを押下したときにPythonが発生させる例外です。Unix系ではSIGINTシグナル、WindowsではCTRL_C_EVENTとして扱われ、どちらもPythonインタプリタによってKeyboardInterruptに変換されます。

KeyboardInterruptは通常のExceptionではなくBaseExceptionを直接継承しているため、except Exceptionでは捕捉されません。except KeyboardInterruptと明示的に記述する必要があります。

Raised when the user hits the interrupt key (normally Control-C or Delete). During execution, a check for interrupts is made regularly.

出典:Python公式ドキュメント - Built-in Exceptions: KeyboardInterrupt

この方法はPython標準機能のみで実装できるため、追加のライブラリインストールは不要です。センサー監視や定期実行バッチなど、長時間動作するプログラムの停止処理として広く使われています。

本H2では以下の2つのパターンを解説します。

  1. try-exceptでKeyboardInterruptを捕捉してループを抜ける
  2. try-except-finallyで後処理を含めてループを抜ける

それぞれのパターンについて、コピペで動作するサンプルコードとともに解説していきます。

try-exceptでKeyboardInterruptを捕捉してループを抜ける

while Trueのループ全体をtryブロックで囲み、except KeyboardInterruptでCtrl+C押下を捕捉します。exceptに終了メッセージの表示など、ループ停止後に実行したい処理を記述します。

import time

print("処理を開始します。Ctrl+C で停止できます。")

try:
    count = 0
    while True:
        count += 1
        print(f"実行回数: {count}")
        time.sleep(1)  # 1秒ごとに処理
except KeyboardInterrupt:
    print("\nCtrl+C が押されました。ループを終了します。")

print("プログラムを終了しました。")

このコードを実行するとカウントを1秒ごとに表示し続け、Ctrl+Cを押した時点でexcept節のメッセージを表示してループを終了します。

KeyboardInterruptを捕捉せずにCtrl+Cを押した場合はトレースバックが表示されてプログラムが強制終了しますが、except KeyboardInterruptで捕捉することによって終了メッセージの表示など丁寧な終了処理を実装できます。

KeyboardInterruptは予測不能な地点で発生し得るため、捕捉は最小限に留め、必要な後処理のみを行って速やかに終了するのが望ましいです。

動作 捕捉なし except捕捉あり
終了方法 強制終了(エラー表示) 正常終了(メッセージ表示)
トレースバック 表示される 表示されない
後続コードの実行 実行されない(finally句がある場合を除く) 実行される

ループの後に続くコード(上記サンプルの「プログラムを終了しました。」の行)は、except KeyboardInterruptで捕捉した場合にのみ実行されます。

try-except-finallyで後処理を含めてループを抜ける

finally句は、tryブロック内の処理が正常終了・例外発生のどちらの場合でも実行されるブロックです。

ただし、os._exit()による強制終了やプロセスのkillなど、Pythonの例外処理機構が介入できないケースでは実行が保証されない点に注意してください。

ファイルのクローズやデータベース接続の解放など、プログラムの終了前に行うべきリソース解放処理をfinally句に記述します。なお、実務ではファイル操作にwith(コンテキストマネージャ)を使うことで、例外の有無を問わずリソースを自動で解放できるため、try-finallyよりも推奨されます。

以下のサンプルではfinally句の動作を明示的に示すためにopen()close()を使用していますが、実務ではwith open(...) as f:の形式を使用してください。

import time

log_file = open("sensor_log.txt", "w")

print("センサー監視を開始します。Ctrl+C で停止できます。")

try:
    count = 0
    while True:
        count += 1
        log_line = f"計測 {count} 回目: 温度 25.{count % 10} ℃\n"
        log_file.write(log_line)
        print(log_line, end="")
        time.sleep(1)
except KeyboardInterrupt:
    print("\nCtrl+C が押されました。監視を停止します。")
finally:
    log_file.close()  # Ctrl+C でも正常終了でも必ず実行される
    print("ログファイルをクローズしました。")

print("プログラムを終了しました。")

このコードはセンサーの計測値をsensor_log.txtに書き込み続け、Ctrl+Cを押すとexcept節で停止メッセージを表示し、finally節でファイルをクローズします。

finally句を使わずにファイルクローズをexcept節だけに書くと、KeyboardInterrupt以外の例外が発生した場合にファイルが閉じられないリスクがあります。finally句に後処理をまとめることによって、通常の例外処理が働く範囲ではリソースを解放できます。

実行タイミング 主な用途
try 通常処理(ループ本体) メインのループ処理
except Ctrl+C押下時のみ 停止メッセージの表示
finally 通常終了・例外発生の両方で実行 ファイル・接続のクローズ

実務でのリソース管理にはtry-except-finallyの3句構成を採用することによって、KeyboardInterruptだけではなく予期しない例外が発生した場合でも後処理が実行されます。

Pythonのthreadingモジュールで並行してキー入力を監視しループを抜ける方法

threadingモジュールは、Pythonに標準搭載されているライブラリで、追加インストールなしに主要なデスクトップOS(Windows・macOS・Linux)で利用できます。

このモジュールを使うことによって、メインスレッドでループ処理を走らせながら、別のスレッドでキー入力を待ち受ける並行処理のプログラム構成が実現できます。

ここでは、以下の2つのパターンを解説します。

  1. threadingとinput()を組み合わせてループを抜ける
  2. threading.Eventで複数スレッドのループを同時に停止する

どちらのパターンも、前述の通りinput()関数がブロッキング型であるという性質を、スレッドの分離によって回避する設計です。それぞれについて、詳しく解説していきます。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

threadingとinput()を組み合わせてループを抜ける

threadingモジュールのThreadクラスを使い、入力待ちのinput()を別スレッドで実行するパターンです。スレッドとは、1つのプログラム内で複数の処理を並行して実行するための仕組みのことです。

メインスレッドはループを継続し、デーモンスレッド(メインスレッドが終了すると自動で停止するバックグラウンドスレッド)がキー入力を待ち受けます。

入力が確認されると共有フラグ変数を更新し、メインスレッドのループがそのフラグをチェックして処理を抜ける仕組みです。前述のkeyboard.on_press()節で触れた通り、単純なboolフラグの更新は多くの場合問題なく動作しますが、より厳密にスレッド間の同期を管理したい場合は次節のthreading.Eventを推奨します。

import threading
import time

stop_flag = False

def wait_for_input():
    global stop_flag
    input("Enterキーを押すとループを終了します...\n")
    stop_flag = True

# デーモンスレッドとして起動(メインスレッド終了時に自動停止)
t = threading.Thread(target=wait_for_input, daemon=True)
t.start()

count = 0
while not stop_flag:
    count += 1
    print(f"ループ実行中: {count}回目")
    time.sleep(1)

print("ループを終了しました。")

上記のコードでは、daemon=Trueを指定することによって、メインスレッドが終了した際にサブスレッドも自動で停止します。ただし、デーモンスレッドではファイルのフラッシュやネットワーク接続のクローズなど、リソースの安全な解放が保証されない点に注意してください。

また、サブスレッドのinput()プロンプトとメインスレッドのprint()出力がターミナル上で混在し、表示が乱れる場合があります。

このパターンの用途と特徴をまとめると、以下の通りです。

項目 内容
入力方式 Enterキー押下(標準入力)
ライブラリ threading(標準ライブラリ、追加インストール不要)
ブロッキング メインスレッドはノンブロッキングで継続
OS依存性 主要デスクトップOS(Windows・macOS・Linux)で動作

メインスレッドのループが停止を待たずに処理を継続できる点が、単純なinput()によるブロッキング待ちとの最大の違いです。センサー監視やデータ収集など、ループを止めずにユーザーの停止操作を受け付けたい場面に適しています。

threading.Eventで複数スレッドのループを同時に停止する

threading.Eventは、スレッド間でシグナルを送受信するためのオブジェクトです。event.set()を呼び出すことによって停止シグナルを送り、各スレッドはevent.is_set()をチェックしてループを抜けます。

複数のスレッドで並行処理を行っている場合に、1回の操作で全スレッドを同時に停止できる点が特徴です。

共有フラグ変数と比較した場合、Eventはevent.wait(timeout)でブロッキング待機ができるため、ポーリングによるCPUリソースの浪費を防げます。また、複数スレッドへの一括通知や状態のリセットといった制御が標準メソッドで行える点もEventの利点です。

import threading
import time

stop_event = threading.Event()

def worker(name):
    """複数スレッドで並行して動作するループ処理"""
    count = 0
    while not stop_event.is_set():
        count += 1
        print(f"[{name}] ループ実行中: {count}回目")
        time.sleep(1)
    print(f"[{name}] ループを終了しました。")

def wait_for_input():
    """Enterキーを受け取ったら停止イベントをセットする"""
    input("Enterキーを押すと全スレッドを停止します...\n")
    stop_event.set()

# 2つのワーカースレッドを起動
t1 = threading.Thread(target=worker, args=("Worker-A",), daemon=True)
t2 = threading.Thread(target=worker, args=("Worker-B",), daemon=True)
t_input = threading.Thread(target=wait_for_input, daemon=True)

t1.start()
t2.start()
t_input.start()

# 全スレッドの終了を待機(タイムアウトは例示のため5秒に設定)
t1.join(timeout=5)
t2.join(timeout=5)

# タイムアウト後にスレッドが停止していない場合の確認
if t1.is_alive() or t2.is_alive():
    print("一部のスレッドが停止を完了していません。")
else:
    print("全スレッドを停止しました。")

上記のコードでは、worker関数を2つの独立したスレッドで実行しています。stop_event.is_set()がループの継続条件となっており、Enterキーが押されてstop_event.set()が呼ばれると、両スレッドが次のループチェックのタイミングで同時に停止します。

join(timeout=5)は、スレッドが終了するまで最大5秒待機するメソッドです。join()の戻り値は常にNoneのため、タイムアウト後にスレッドが停止したかどうかはis_alive()で確認する必要があります。

threading.Eventと共有フラグの違いをまとめると、以下の通りです。

比較項目 共有フラグ変数 threading.Event
安全性 単純なboolフラグの更新は多くの場合動作するが、厳密な同期にはEventを推奨 内部にロック機構を持ち、複雑な状態管理にも対応
複数スレッドへの通知 各スレッドが同じ変数を参照 event.set()で一括通知
ブロッキング待機 不可(ポーリング必須) event.wait()で可能(CPU負荷を抑制)
リセット 手動で変数を書き換え event.clear()で再利用可能

複数のスレッドを協調して動作させる場合は、共有フラグ変数よりもthreading.Eventを使う方が設計上の意図が明確です。wait()によるブロッキング待機でCPU負荷を抑えられるほか、スレッド数が増えてもコードの構造を変えずに対応できるため、規模が大きくなる処理での採用が推奨されます。

Pythonのキー入力によるループ終了処理に関するよくある質問

keyboardモジュールをインストールできない場合の対処法は?

pip install keyboardが失敗する場合は、標準ライブラリのみで代替できます。入力待ちでよい場合はinput()関数とbreak文の組み合わせ、Ctrl+Cによる停止でよい場合はKeyboardInterrupt例外の捕捉を選択してください。

macOSやLinuxでキー入力を検知するにはどうすればよいですか?

keyboardモジュールはLinuxではroot権限(sudo実行)が必須で、macOSでもroot権限が必要なうえに公式READMEで「実験的サポート」と記載されています。権限を付与できない環境では、標準ライブラリのcursesモジュールが代替として利用できます。

cursesはmacOSやLinuxでノンブロッキングのキー入力を取得できますが、Windows標準環境では利用できないため、Windowsではmsvcrtモジュールが代替となります。

ループを抜けた後にリソースを確実に解放するにはどうすればよいですか?

with文(コンテキストマネージャ)を使うのが最も推奨される方法です。with文が使えないリソースに対しては、try-finallyブロックのfinally節にクリーンアップ処理を記述してください。

詳細は本文のKeyboardInterrupt節のtry-except-finallyパターンを参照してください。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する