Python

【Mac】PyAutoGUIが正常に動作しない場合の対応方法について

PyAutoGUIってご存知ですか。

PyAutoGUIは、PythonのGUI自動化モジュールです。
これを利用すれば、マウスとキーボードの動きをプログラムで制御することができるので、
マウスとキーボードで操作するものについては、ほぼ自動化することができます。

RPAツールを導入すれば、簡単にPCの自動化はできますが、PyAutoGUIならば無料で使うことができます。

動作確認環境

  • OS:OS X Mojave 10.14.3
  • Python: 3.6.3

続きを読む

【Python3】mysqlclientでMySQLに接続するとエラーが出てしまう

Python3でMySQLに接続する方法についてですが、mysqlclinetを使う方法が便利なのですが、実行してみたところ下記のエラーが表示されました。

Traceback (most recent call last):
  File "sample_mysql.py", line 1, in 
    import MySQLdb
  File "/Users/ME/.pyenv/versions/anaconda3-2.5.0/lib/python3.5/site-packages/MySQLdb/__init__.py", line 19, in 
    import _mysql
ImportError: dlopen(/Users/ME/.pyenv/versions/anaconda3-2.5.0/lib/python3.5/site-packages/_mysql.cpython-35m-darwin.so, 2): Library not loaded: libssl.1.0.0.dylib
  Referenced from: /Users/ME/.pyenv/versions/anaconda3-2.5.0/lib/python3.5/site-packages/_mysql.cpython-35m-darwin.so
  Reason: image not found

続きを読む

macによるpython3入門-その6-〜関数〜

プログラミングに関する原則の中で、DRY原則というのがあります。 DRYはDon’t Repeat Your Selfの略で、コードの重複はできる限り避けるべきです。

DRY原則に従う理由は、そもそも、書いたことがあるコードを再度記載するのは無駄な作業ですし、なによりコードが重複していると、コードが不必要に長くなり、プログラムの メンテナンス性・可読性が低くなるからです。

ですが、はじめからコードの再利用を念頭においてプログラミングをはじめてしまうと ロジックの抽象化が必要になりますので、普通にコードを書いているよりも時間がかかります。 一度しか使用しないロジックであれば、時間をかけてロジックを抽象化し、再利用を考えるのは基本的に無駄があります。

そこで、コードの再利用を考える基準として、マーチンファウラーが「リファクタリング -プログラムの体質改善テクニック-」で提唱している「Rule of three(3度目の法則)」に従うのが良いと思います。 重複した処理が3回出てきたら、コードの再利用を検討するのが良いでしょう。

コードを再利用するときの方法として、「関数」があります。 今回はPythonにおける「関数」について書きたいと思います。

続きを読む

【Mac】Python3(Anaconda)でTensorFlow環境を構築してみる

Python3でTensorFlow環境を構築してみましょう。

機械学習・ディープラーニングをしっかり理解することは難しいと思いますが、環境構築だけなら簡単です。

そもそも、環境構築しなければ、いろいろ試して勉強することもできないので、機械学習やディープラーニングの概念については、また考えるとして、とりあえず環境構築してみましょう。

TensorFlow環境の構築はいろいろ方法がありますが、今回は前回解説したAnacondaを使って環境構築してみたいと思います。

動作確認環境

  • OS:OS X Yosemite 10.10.5
  • pyenv 20150310
  • anaconda3-2.5.0

続きを読む

Python3における内包表記について

Python初心者にとってわかりづらい記法として「内包表記」があります。 for文などを使っても同じ処理を書くことはできますが、内包表記を使用すれば、よりPythonらしいコードを書くことができます。

内包表記は、ひとつ以上のイテレータからPythonデータ構造をコンパクトに作れる形式だ。内包表記を使えば、ループや条件テストを寡黙な構文で結合できる。内包表記が使えるかどうかは、Python初心者レベルを卒業できているかどうかの目印になる。 引用:入門Python3 Bill Lubanovic 著

一見、わかりづらそうですが、慣れると読みやすく、内包表記があるからこそPythonを使用しているプログラマもいるほどです。

Python初心者から卒業するためにも内包表記を理解しましょう。

動作確認環境

  • OS X Yosemite 10.10.5
  • Python 3.5.1

続きを読む

MacによるPython3入門 その5 〜if文 while文 for文〜

はじめに

これまでPythonのデータ構造について説明してきました。

今回からは他のプログラミング言語でお馴染みのif文・while文・for文の説明をしたいと思います。

これらの制御フローツールを使えるようになれば、データ処理するためのプログラムが記載できるようになります。

さっそく説明していきたいと思います。

続きを読む