‘Python’ タグのついている投稿

【Python】デストラクタはプログラマの強い味方です

2023 年 7 月 31 日 月曜日 by tomokiy

デストラクタとは

言うまでもなく、コンストラクタの反対の役割を担うものです。

クラスインスタンスが破棄される際に必ず実行されます。 例外処理とは関係ないですが、tryexceptの例外処理のfinally句と似ています。 なので、何があってもクラスの終了時に必ず実行してほしいものを記述します。

どういう動きになっているか

以下のようなプログラムを実行してみると分かりやすいです。

class Test1:
    def __init__(self) -> None:
        print("Test1のコンストラクタを実行しました。")
        test2 = Test2()
    def __del__(self) -> None:
        print("Test1のデストラクタを実行しました。")
​
class Test2:
    def __init__(self) -> None:
        print("Test2のコンストラクタを実行しました。")
    def __del__(self) -> None:
        print("Test2のデストラクタを実行しました。")
​
test = Test1()
(さらに…)

【Python】VScodeではブロックコメントでマークダウン記法ができる

2023 年 7 月 31 日 月曜日 by tomokiy

概要

Pythonのブロックコメントをマークダウン記法で記述すると、VScodeのコードヒントを表示した時にいい感じに表示されます。

やり方

パッケージのコメント

上記のように自作パッケージにカーソルを当てると、コメントが表示されます。

(さらに…)

【Python】デコレータで引数の型チェックを実装する

2023 年 7 月 31 日 月曜日 by tomokiy

デコレータとは

一番よく目にするデコレータはプロパティのゲッターになるものですかね。

@property
def name(self) -> str:
    return self.__name

このメソッドの上に@propertyのように記述しているものをデコレータと言います。

(さらに…)

Pythonを使用したWebスクレイピング その1

2023 年 7 月 14 日 金曜日 by miedar

この投稿では、スクレイピングという技術について紹介していきます。
その1~その4でスクレイピングについての説明から実際にスクレイピングを行う方法までご紹介していきます。

スクレイピングとは?

スクレイピングとは取得したHTMLを抽出や加工することにより、Webサイト上からデータを取得することです。
近年は、データや情報の価値が高まるとともに、スクレイピングを利用し始める企業も増えているようです。
スクレイピングを行うことにより、大量のWebサイト上のデータを集める際に自動でデータを収集することで作業時間を大幅に削減することが可能です。

(さらに…)

改善点をネガポジ判定し、有用な改善点のみ抽出を行ってみる(検証編)

2022 年 1 月 11 日 火曜日 by itot

概要

当社では、日々終業後に、当日の業務内容を上司へメールで報告します。
週末には、個人が一週間に取り組んだ改善点もあわせて報告します。

前回、過去の改善点の中で「有用な改善点」のみを抽出することを目的として、ネガポジ判定の検証方法まで記載しました。
今回は、実際に仮説について検証した結果及び考察について、記載していきます。

(さらに…)

【変数】Python基礎の基礎 〜Part-1〜

2021 年 12 月 20 日 月曜日 by higakik

変数とは

変数とはコンピュータのメモリ上に用意された、データを入れる箱のようなものです。
以下参考プログラムです。

# 変数iに10という数値を代入
i = 10

# 変数sに「こんにちは」という文字列を代入
s = "こんにちは"

# print()という命令で、変数i、変数sの中身を出力
print(i)
print(s)

実行結果

10
こんにちは

変数の値を変更

変数の値はいつでも変更することができます。
例えば、変数iを利用して計算をした結果を、変数iの値に更新することが可能です。
以下参考プログラムです。

# 変数iに10という数値を代入
i = 10
# 変数iの値を出力
print("変数iの初期値は", i, "です")
# 変数iの値に10を足した値を変数iに代入
i = i  + 10
# 変数iの値を出力
print("計算後の変数iの値は", i, "です")

実行結果

変数iの初期値は10です
計算後の変数iの値は20です

ここで余談ですが、計算式がでてきたので、Pythonの計算式で使える記号を紹介します。

(さらに…)

【物体検知】来客を分析して、Teams通知(ヤクルトモデル構築編)

2021 年 11 月 30 日 火曜日 by uma

概要

前回のおさらい。

“ヤクルトレディGO!!(*)”の一連の流れを構築するための、環境構築・実装をした。
yolov5に元々ついているデフォルトモデルを使用して、分析してみた。
※ 詳しくは【物体検知】来客を分析し、Teams通知してみた(環境構築/実装編)
ご覧ください。

今回は、収集したヤクルトさん画像、社員画像を使って、「yakult」モデルを構築してみます。

(*) : ある方から「ヤクルトさんが来た!通知システム」の名前を頂戴しました。

モデル構築編

おおまかには、以下の手順で行います。

  1. 収集した画像を「ヤクルトさん OR 社員」にラベリング
  2. 分析に適したフォルダ構成に仕分け
  3. トレーニング(★学習モデル構築)
  4. トレーニング結果を使って、動作確認

順を追って説明します。

(さらに…)

【物体検知】来客を分析して、Teams通知(環境構築/実装編)

2021 年 11 月 5 日 金曜日 by uma

毎朝、弊社にはヤクルトさんが来られて、ヤクルトを売りに来てくれます。
購入頻度の高い部署は奥側にいるため、気が付いた人が、毎回声掛けしに行っています。

毎回面倒なので、ITっぽく解決してみよう、と思い立ちました。
今回は、写真撮影し、その結果が”ヤクルトさん”なら、Teamsに「ヤクルトさん来られました!」を
通知するシステムを構築してみます。
※ 撮影した写真がヤクルトさんである、という判定は”yolo”で行います

yolo : https://www.renom.jp/ja/notebooks/tutorial/image_processing/yolo/notebook.html

以下、簡単ですが今回作成する「ヤクルトさん通知システム」のシステム構成概要です。

(さらに…)

【Pythonライブラリ】sysとは?

2021 年 10 月 15 日 金曜日 by higakik

sysとはPythonのインタプリタや実行環境に関する情報を扱うためのライブラリです。
使用しているプラットフォームを調べるときや、
スクリプトの起動パラメータを取得する場合などに利用します。

(さらに…)

Jupyter Notebook 事始め

2020 年 11 月 16 日 月曜日 by egamit

こんにちは。

機械学習の分野でPythonがよく使われています。

今回、機械学習の分野でデータ分析のツールとしてよく名前が出てくるJupyter Notebookについての紹介です。

Jupyter Notebookは、ノートブックと呼ばれるファイル(.ipynb)にプログラムや説明の文章、実行結果を記録できるツールです。

システム開発で利用するEclipseなどのIDEと異なる点としては、「実行結果を記録する」という点で、例えば、以下のイメージのようにソースコードと実行結果をセットで記録できる(まさにノートブックのよう)ことができ、試行錯誤の結果をソースコードとともに他のメンバーに共有できる点だと思います。

 

以上、今回はJupyter Notebook 事始めということでまずは、Jupyter Notebookとはどういったものかということを説明いたしました。