本記事ではプログラミングの学習方法および入門直後にできそうなことを3つ紹介します。
ピックアップした3つは動きが分かりやすいもの(プログラミングをやっている感じがするもの)にしてみました。
少しでも参考になる部分があれば幸いです。
Step1 作りたいものを決める
まずは作りたいものをイメージします。
Pythonでできることと言えば、
- 機械学習
- 業務効率化
- Webアプリケーションの作成
- Web上の情報収集(Webスクレイピング)
- データ分析
- ゲーム作成
などがあげられます。
特に思いつくものがなければ今の業務を効率化できないか考えてみることをおすすめします。
以下が業務効率化の例です。
・メール送信の自動化
・SNSの運用・分析
・OCRで画像の文字を抽出し、抽出した文字をファイル名にする
・webサイトから情報を取得(スクレイピング)し、LINEやSlackなどに通知
関連記事
データセット
train-dog
train-bird
test-dog
test-bird
division
Step2 基礎を学ぶ
作りたいもの(方向性)が決まったら基礎を学んでいくことになります。
押さえたい基礎としては、
- 数値計算
- 文字列
- リスト、タプル
- 辞書、集合
- if
- for、while
- 関数
- クラス
- 例外処理
- モジュール
があげられます。学習にはGoogle Colabratoryを利用するのが簡単です。
Pythonを簡単に始めよう(Google Colabratory)
学習で使えるサービスとしては、
などがあります。
書籍に関してはこちらがおすすめです。
PC・タブレットで学習したい方はAmazonのKindle Unlimitedを利用するのもオススメ!!
また、基礎学習のモチベーション維持には以下の方法があります。
1.アウトプットする
学んだことを技術ブログにアウトプットすることを習慣化していました。
技術ブログのプラットフォームと言えば
- Qiita
- Zenn
が有名です。
アウトプットするメリットを1つ挙げるとすれば、誰かに見られるが故に間違ったことは書けないという気持ちが働くところです。
ただし、本来の「基礎を覚える」という主旨からは若干ずれるので、自分に合ってると思ったら是非試してみてください。
2.試験を受ける
PythonにはPython3エンジニア認定基礎試験という基礎文法を問われる試験があります。
試験範囲がPythonチュートリアル(公式ドキュメント)となっているため、上記の押さえたい基礎は全て押さえることができます。
また、模擬試験もあるので、問題を解きながら理解度を高めることができます。
試験について詳しく知りたい方はこちらをご確認ください。
Step3 実際に作ってみる
Step1で考えたものを作成してみましょう。いきなりゼロから作るのが難しい場合は写経をおすすめします。
写経とはプログラムを記述できるソフトに見本となるコードを書き写すことを指します。
メリットとしては、
- 真似すれば動く
- 応用ができる(自分なりの変化を加えることができる)
- 文の構造に慣れる
があります。
Pythonは技術ブログ・書籍・YouTubeなどが充実しているので、題材には困らないと思います。
参考までに以下で3つご紹介します。
RPA
RPAとは、PC上で行うマウスやキーボードの操作を自動化する仕組みのことを言い、入力作業・ルーチン業務の自動化ができます。(入力作業の場合、事前のデータ整形にPython(pandas等)が使えるので便利です。)
コード自体はシンプルで、初学者の方でも問題なく組めると思います。逆に、基本的にはブラウザの動作(ポップアップの場所や画面遷移のタイミング、スクロールの調整などなど)と睨めっこになると思います。
また、タスクスケジューラ(Windows)と組み合わせれば、お昼休みに業務を終わらせておくことができます。ショートカットキーもたくさん覚えるため、普段のパソコン業務も早くなります。
以下に基本的な操作をまとめておきます。更に詳しく知りたい方は公式ドキュメントをご確認ください。
関数名 | 説明 |
moveTo(x, y, duration=0) | マウスを座標 (x, y) に移動する duration 引数を使用して移動にかける時間を指定できる(秒単位) |
dragTo(x, y, duration=0, button=’left’) | マウスボタンを押しながら、座標 (x, y) にドラッグする duration 引数を使用してドラッグにかける時間を指定できる(秒単位) デフォルトのボタンは左ボタン |
click(x=None, y=None, clicks=1, interval=0.0, button=’left’, duration=0.0) | clicks 引数でクリック回数を指定でき、 interval 引数でクリック間隔を秒単位で指定できる button 引数で使用するボタンを指定でき、デフォルトは左ボタン duration 引数でクリックにかける時間を秒単位で指定できる |
doubleClick(x=None, y=None, interval=0.0, button=’left’, duration=0.0) | マウスボタンをダブルクリックする interval 引数でクリック間隔を秒単位で指定できる button 引数で使用するボタンを指定でき、デフォルトは左ボタン duration 引数でクリックにかける時間を秒単位で指定できる |
write(message, interval=0.0) | キーボード入力をシミュレートする message 引数に入力するテキストを指定する interval 引数で入力する文字の間隔を秒単位で指定できる |
press(keys, presses=1, interval=0.0) | keys 引数に押すキーを指定する presses 引数でキーを押す回数を指定できる interval 引数でキーを押す間隔を秒単位で指定できる |
hotkey(*keys, interval=0.0) | キーボードのホットキーを押す keys 引数に押すキーを指定する interval 引数でキーを押す間隔を秒単位で指定できる |
スクレイピング
スクレイピングとは、webサイトから必要な情報を抜き出す作業のことを言います。
(例えばレシピ掲載サイトからレシピを一括で取得したり、ウェブページに載っている画像を一括で保存することができます。)
スクレイピングを使うと効率的に情報を収集することができ、業務を効率化したり、ルーティン作業を自動化することができます。
ただしスクレイピングは禁止されている場合があります。また、禁止されていないとしても悪質な行為(サーバーに過度な負担をかけるなど)は法律違反にあたるリスクがあるので注意しましょう。
以下はAxrossRecipeに掲載したスクレイピングの基本を題材にした記事です。会員登録が必要ですが、興味があれば覗いてみてください。
公開されているAIモデルを使う
最後は「公開されているAIモデルを使う」です。AIモデルを1から作るとなると気が引けますが、今や世の中にはAIモデルが無料(有料もありますが)で公開されています。
OpenAI
GPT-4(有料)
GPT-4とは、OpenAIによって開発されたテキスト生成AIです。チャットbotや記事生成など、あらゆる場面での活躍が期待できます。
whisper(無料or有料)
OpenAIが開発している汎用的な音声認識モデルです。WEBから収集した68万時間分の音声データを学習しており、多言語の文字起こしと、英語への翻訳ができます。
Hugging Face
Stable Diffusion(無料)
stable diffusionとは2022年8月に無償公開された描画AIであり、テキストを指定するとそのイメージにあった画像を生成します。
rinna-gpt(無料)
こちらもGPT-4と同様にテキスト生成 AIになりますが、オープンソースのため無料で使うことができます。また、rinna株式会社は日本語に特化したモデルを公開しています。(2023年5月、日本語に特化した36億パラメータのGPT言語モデルを公開)
Ultralytics
yolo(無料)
“yolo” とは、コンピュータビジョン(コンピュータが画像情報から必要な情報を取り出す技術)におけるアルゴリズムの名前です。また、「You Only Look Once(一度しか見ない)」 の頭文字を取ったものになります。yoloはリアルタイムの物体検知ができるため、混雑状況の把握や在庫管理などに活用できます。
実際にいくつか触って動画や記事にしています。よろしければご参考にしてください。
おわりに
毎月プログラミング言語の人気度を公開している TIOBE Programming Community index によれば、2024年8月度ではPythonが1位です。
万能かつ初心者でも学びやすい言語ですので、これからプログラミングを勉強しようとしている方にはオススメです。
【図解】Python 基礎文法の教科書を執筆しました!
本書は、これからPythonを学ぶ方や初学者の方でも無理なく勉強を進められるように、図解や画像を豊富に使って説明をしています。
内容はPythonチュートリアル(公式のドキュメント)に準拠しているため、理解必須の部分をこの1冊ですべて網羅することができます。
・エンジニアを目指したい
・プログラミングを1から習得したい
・リスキリングしてスキルアップしたい
そんな方は是非ご活用ください。
関連記事
【難易度爆下げ】Python3エンジニア認定基礎試験 公式問題集レビュー
【テキストと動画で徹底解説】Python3エンジニア認定基礎試験をまとめました
コメント
アリカさん、ふくちです。目的地が決まって歩くことが出来るということ、当たり前ですけどそれが早道なのだな、と腑に落ちるました。
目的地を決めて、それを細分化して中継点を決めると歩きやすいかなって思ってます。
【難易度爆下げ】Python3エンジニア認定基礎試験公式問題集レビュー なのですが、リンク先でログインを求められますが、必要ですかログイン。 現在Python独学中で資料を求めて散策中にこちらにたどり着きました。認定試験があると言うことを知りました。もちろん受験に向けて動きます(副業のため)、、まだまだ散策中で資料集めと同時に、資料をそのまま勉強会資料つくりに生かしています。タグやリンクも活かしています。よろしければ初心者に向けて返信を願います。
コメントありがとうございます。リンクの件、お手数おかけして申し訳ありません。リンク先を間違えていたので修正いたしました。念のため、こちらにも記載させていただきます。https://arika-blog.com/python-work-book/