Python:リスト内包表記をやってみる

こんにちは、今日はリスト内包表記をやっていきます。

タプルをリストに変換するコードという、簡単なケースを例としてやっていきましょう。

通常の書き方

リスト内包表記を使ったやり方

メリット:空リストが不要、アペンドも不要

さらにif文にも対応できる

#普通のやり方

#内包表記の場合

メリット:空リストが不要、アペンドも不要、if文のネストも不要

さらに i , j の2変数になり、for文がダブルになった場合

#通常の場合

#リスト内包表記の場合

メリット:たったの1行で書けてしまう。
ただし、2変数を超える場合は見難くなるので、通常のfor文を使ったほうが解りやすいかもしれない。

さいごに

どうでしょうか、リスト内包表記。かなりパワフルな表現方法ではないでしょうか。
よく見かける書き方なのでぜひマスターしておきたいです。

Python:ラムダ式の使い方

こんにちは、今日はラムダ式についてまとめました。

使わなくてもコードは書けますが、コードがシンプルになる場合があるので、
覚えておいて損はないです。
また、よく見かける書き方なので、
他人のコードを理解するためにも知っておいたほうがよいでしょう。

理解する手順として、
1.通常の関数を使ったやり方
2.関数部分をラムダ式に置き換えて動きを理解する
3.さらに簡単にする

です。やっていきましょう。

例題として、文字で構成されるリストを用意して、
頭文字を大文字に書き換える関数を作ってみましょう。

通常の関数を使ったやりかた

ラムダ式でコードをシンプルにする

さらにシンプルにする

ってことで、どんどん使っていきましょう。

Python:インストーラーの作成 cx_Freezeモジュール

こんにちは かず まなぶ です。(´・ω・`)

今日は、前回tkinterで作成した電卓ソフトを題材にwindows向けインストーラーを作成する手順についてやっていこうと思います。

おおまかな手順

  1. cx_Freezeのインストール
  2. setup.pyの作成
  3. ビルドとmsi生成
  4. インストール

1.cx_Freezeのインストール

anacondaプロンプトで

うまくいかないときはpipをアップグレードしましょう。

2.setup.pyの作成

電卓ソフト本体の他にsetup.pyというものを作成する必要があります。

cx_Freezeのサイトに行くと下記のようなsetup.pyを作成しなさいと説明があります。

os.environについてはtclとtkの絶対パスを指定する必要がありますので、適宜書き換えてください。

Executableには電卓ソフト本体のファイル名として”calculator.py”を指定します。

あとはショートカットとか名称を変えられるので、好きにやってください。

3.ビルドとmsi生成

anacondaプロンプトを立ち上げます。

calculator.pyとsetup.pyをカレントディレクトリにいれ、anacondaプロンプト上で、

終わったら

をすると、カレントディレクトリ内にbuildディレクトリとdistディレクトリが生成されます。

このdistディレクトリにはインストーラーであるcalculator-1.0.0-amd64.msiファイルが入っています。

インストール

インストーラーmsiを実行してみましょう。インストールはprogramfileディレクトリで良いと思います。

スタートボタンを押して、アプリケーション一覧を見ると見出し”C”のなかにcalculatorが入っているはずです。

実行すれば、pythonが入っていないPCでも動きます。

以上でございました。

 

 

Python:tkinter はじめの一歩

こんにちは かず まなぶ です。(´・ω・)

今日はtkinterを触っていこうと思います。

tkinterはpythonをインストールすると最初から入っているpython用のGUIモジュールです。

他にもwxPythonとかKivyが気になるのですが、まずはtkinterで最低限のことをやれるようになってから、他のGUIにチャレンジしようと思います。

tkiniterのフレームワーク

まだまだ腑に落ちないところがありますが、とりあえずこれで最低限動きました。

応用:tkinterで電卓アプリを作ってみる

応用例として、簡単な電卓を作ってみました。

今後のtkinter勉強

私の最終ゴールは、画像処理アプリの作成です。

画像をカメラで取得し、リアルタイムで画像処理して表示するというところまでやっていきたいと思います。かず まなぶ (´・ω・)

python:classとmethodの作り方について

こんにちは、かずまなぶです。

最近マイクロソフトのホロレンズを試す機会をいただきました。VRとARは似て非なるもの。VRが「没入型、隔離型」なら、ARは「現実にちょっとした情報を上乗せしていく」ような感じでした。

それぞれ特徴があり、またどちらもわたくしの好奇心を激しく揺さぶるデバイスです。ホロレンズ2が出るとの噂があり100%買ってしまいそうです。またオキュラスクエストも発売が近いのではないでしょうか。VRの本命はクエストだと思います。ミラージュは・・・・・、もういいかな・・・。余談はこれくらいにして・・・。

今日の本題です。クラスの作り方とそのメソドの作り方、クラスの継承、オーバーライドをやっていきます。

クラスの使い方 レベル1

まずは最も基本の形です。オブジェクト指向の感覚を養いましょう。

 

クラスの使い方 レベル2

クラスを呼び出したときに勝手に実行される「初期化メソド」、クラスからつくったオブジェクトの変数である「アトリビュート」、おまけにメソドの中でもメソドをネストして使用できるよ、とう話です。

コンストラクタとコンストラクタ

クラスの継承 レベル4

クラスのオーバーライド(上書き)とスーパークラス レベル5

クラスのオーバーライド(上書き)とスーパークラスについてです

python:pandasの使い方 基本

pandasの使い方について、基本だけ載せておきます。

後日追記します。

 

Python :listの操作

こんにちは、今日はlistの操作をやっておこうと思います。
numpyばかり使っているとlistの操作方法を忘れてしまう今日この頃です。

list の操作 数値

list の操作 文字列

こちらは、

  1. li.strip :改行を削除する
  2. li.find :該当する文字列の最初の位置を見つける
  3. “__” in li :該当する文字列が入っているか
  4. li.replace :該当する文字列を置換する
  5. li.split(“○○”) :区切り文字で分割する
  6. “○”.li :指定の文字で繋げる

くらいでしょうか

 

OpenCV:python 画像追跡

こんにちは、かずまなぶです(*’ω’*) 

動画中の物体を追跡する方法を勉強しました。メモを貼っておきます。

https://ensekitt.hatenablog.com/entry/2017/12/19/200000

OpenCVで画像処理

こんにちは かずまなぶです(*’ω’*)

今日はOpenCVの使い方を学びました。ひたすらメモを残していきます!!

近日、この知識を元に、ラズパイカメラで寸法測定を行うということをやる予定です。

http://toyo-interest.com/rasbery-pi3-b%E3%81%A8opencv%E3%81%A7%e3%80%80%E3%81%99%E3%81%8D%E3%81%BE%E3%82%92%E6%B8%AC%E5%AE%9A%E3%81%97%E3%81%9F%E3%81%84-1/

以下、ひたすらメモ

SSHの使い方 誰かタスケテ

前回、ラズパイでSSHを試みたという話をしましたが、うまくいかなかった状況を記録します。↓うまくいかなかったやつ

========ここからは PC を操作する============
PuTTY をインストールする
https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.70-installer.msi

⑤ラズパイにリモート接続する
PuTTY を起動
Saved Sessionsのテキストボックスにpiと入力しSaveボタンを押す

Host Name of IP address に 192.168.1.81を入力する
Portは22のまま → Open

これで接続できるはずですが、Time out とエラーウィンドウが出て だめでした。

本来ならここでパスワードを打つ画面が出てくるはずです

下記はストリーミング用にいろいろやってみようと思っていたことのメモです。

いろいろ インストールする

エンコード、デコード用

sudo apt-get install -y cmake libjpeg8-dev

html,ストリーミング用

git clone https:github.com/jackaonliam/mjpg-atreamer.git mjpg-streamer→クローン
ls → mjpg-streamerディレクトリが入ったことを確認する
cd ./mgpg-streamer/mgpg-streamer-experimental/ →ディレクトリに移動する
make →ソースコードをコンパイル
sudo make install →コンパイルしたファイルをインストールする

webサーバーの作成用

sudo apt-get -y apache2 →アパッチをインストールする
systemctl status apache2 →アパッチのステータスを確認する active

これでインストールを完了

実行する

export LD_LIBRARY_PATH-.→環境変数を設定
mjpg_streamer -o “output_http.go” -w ./www” -i “input_uvc.go”←まちがってる?