Python3関連のことを調べてみた2021年01月02日

Python3関連のことを調べてみた2021年01月02日
目次

Pythonでクラスの引数や戻り値の型アノテーションに自己のクラスを指定する

## 型アノテーションに自己のクラスを指定できない “`Python:list_node.py class ListNode: def __init__(self, val: int, next: ListNode): self.val = val self.next = next “` 上記(片方向連結リストのコンストラクタ)のように型アノテーションを書いたところ、ListNodeが定義されていないと警告が表示された。 > undefined name ‘ListNode’ ## Python3.7以上の場合: `from __future__ import annotations`を使用する “`Python:list_node.py from __future__ import annotations class ListNode: def __init__(self, val: int, next: ListNode): self.val = val self.next = ne
元記事を表示

一対比較法における一意性の検定

#一対比較法における一意性の検定 実際にどのようにして検定を行うのか、自分用メモ 一対比較法について[^1] >順位法では、感覚や好みの強さを測るのに、全ての試料を一度に評価して順位付けする必要があります。 試料数が多くなると、一度に順位付けすることが困難になることがあります。 そのような場合、2つの試料を対にして比較します。これを全ての対について行う方法が一対比較法です。 ### 一対比較法における試験の主な種類 + 一意性の係数 + 一致性の係数 + ブラッドレイの一対比較法 + サーストンの一対比較法 + シェフェの一対比較法 etc.. 今回は一意性の係数を取り扱う 例えば3つの試料A、B、Cがある時、A>B、B>Cならば、A>Cであるはず。 では実際に、このようになっているかを検定する。 ## 手法について 人間の好みや匙加減を測るときには、以下のような状況が生じる可能性がある。 例えば、A、B、Cの3つの試料の評価時に、実際に評価を行うとA=Cや、A>Cと評価されてしまい、一貫した評価がなされない状況が生じる。 このような3者間で順位がつけられない状態を一巡
元記事を表示

PythonとりあえずマスターRTA

既にC/C++やFortranといった古い言語を知っている人に向けたPythonテキストです。 やりたいことは各自あるけれども、そのやりたいことを「Python やりたいこと」で検索しても、そもそも読めないから理解できないという人に向けて、最速で最低限を学ぶことを目指します。 ### 目指す最低限ライン – 環境構築(RTA版) – 変数とクラスとメソッド – コンソール出力 – リストと辞書 – numpy (便利なモジュール) – 【おまけ】その他の構文 これらをマスターするのではなく、何となく知っている感をつかむのが目標です。ですので、C/C++やFortranの知識で互換性があるものは省略しています。 ***出力内容とか、環境によって微妙に違うかもしれません。本質的でない出力命令も書いてません。情報の選択は個人的見解に基づきます。他の人は別な点を学ぶよう勧めるかもしれません。細かいことは気にしないでください。*** # 環境構築(RTA版) [Anaconda(リンク先)](https://www.python.jp/install/anaconda/index.h
元記事を表示

tkinterでサイコロを作ろう

#始めに ふと自分のオリジナルアプリをpythonで作ってみようと思い、tkinterを使ってみました。しかし、ボタンの押された時の処理がなかなか分からず苦労したので記事にしました。tkinterでボタンが押された時の処理をどう書けばいいのか分からない人や、ラベルの内容の変更方法の知りたい方は読んで下さい。 #ソースコード “` python # 必要なライブラリーを読み込む import tkinter as tk import random # 画面の設定 root = tk.Tk() root.title(“Dice.app”) root.geometry(‘200×150’) # ボタンが押された時の処理 def dice(event): # ランダムな整数を生成して、labelの内容を書き換える value[“text”] = random.randint(1,6) value = tk.Label(text=”0″,font=(“”,80)) value.pack(fill = ‘x’, padx=20, side = ‘top’) #
元記事を表示

【Python】PyCharmの環境設定(インストール、インタプリタ設定、パッケージの追加)Mac環境

こんにちは、かをるです。

今回は、GUIツールである【PyCharm】をつかってPythonの環境構築を行なっていきます。

PyCharmとは、Pythonの統合開発環境です。

様々なパッケージをインストールした環境を作成したら、その中のパッケージのリストをr

元記事を表示

Pythonでメソッドチェーンを実装する

Q. 楽にメソッドチェーンを実装したいか? A. はい。 ## 実装 “`python class MyList(list): … def method(defined_type): def wrap(f): def wrapper(*args, **kwargs): return defined_type(f(*args, **kwargs)) return wrapper def decorator(f): setattr(defined_type, f.__name__, wrap(f)) return decorator @method(MyList) def map(l, func): return [func(el) for el in l] print(MyList([1, 2, 3]).map(lambda x: x+1).map(lambda x: x+2)) # [4, 5, 6] “`
元記事を表示

importの使い方

“`opposite_ai.py import math # 反対向けのAI class Oppai: #処理 pass “` “`hent_ai.py #つかむ動作のAI class Hentai: #処理 pass “` “`app.json.py import hent_ai from hent_ai import Hentai #Hentai()でインスタンス作成できる import opposite_ai as oppai #oppaiでopposite_aiが使える。 import opposite_ai.math #oppai.mathと書かなくてよくなる。 try: setai=__import__(“set_ai”)#詳細設定。有無が except Exception as e: print(e) class classproperty(property): pass class PropertyMeta(type): def __new__(cls, name, bases, n
元記事を表示

pyenv-virtualenvによる仮想環境の構築/Python(インストール、環境設定、パッケージ)Mac環境

こんにちは、かをるです。 今回は、pyenv-virtualenvの構築についてご紹介していきます! パッケージのインストール方法については前回の記事をご覧ください。 【Python パッケージ(ライブラリ)のpipコマンドを使ったインストール方法】 同じバージョンで別の環境構築をしたい場合に、virtualenvというプラグインを使用しPyhonの仮想環境を構築することができます。 ブログに投稿しました。 https://kaworublog.com/pyenv-virtualenv/
元記事を表示

自作言語で数当てゲームを作ろう!

# 自作言語のお時間です! 友達と集まる予定だったのが某ウイルスのせいでキャンセルになり落ち込んでるdangomushiです。 某ウイルス許すまじ。 ## またまたまた作りました。 今回は完成度高いと思ってます。 個人的には今年一番の出来です。 苦労したのは、関数とかで一連の処理をまとめるところかな。とにかく悩みました。~~でもゆーて一週間ぐらいでできた~~ あ、そういえばついった始めました。なんか記事のミスとか「もっとこうしたらいいんじゃないの」とか「この処理はこうしたほうがいいだろ」とかゆうのは遠慮なくコメントかついったで教えてください。 URLはマイページにあると思います。 コードはこちらー>https://github.com/pythonmaster1027/Omega-version0.2.3/tree/main # 開発の一連の流れ 何気に皆さん説明したりしてなかったりしてるんですよね。(筆者の都合により、pythonで開発することを前提としております。ただし、もしあなたの主言語がpythonでなくても「できるかもしれん」とか「やってやらぁ」とかやる気があればぜ
元記事を表示

コマンドラインによる環境開発よりもこういったツールを使いこなすことで、

元記事を表示

分割されたtsファイルを合体させるスクリプトを書いてみた

# 分割されたtsファイルを合体させたい 複数の分割されたtsファイルがあったとして、そのままだと見にくいので1つのmp4ファイルにしたい。 # 作ってみた https://github.com/MasatoHanayama/cat_ts (MITライセンスです) # 必須要件 1. Windows (開発環境は10 20H2) 2. Python3.x 3. ffmpeg # 使用方法 1. 1つのフォルダに合体させたいtsファイルを保存します 2. ts_cat.pyを実行します (ここでffmpegに食わせるts_cat.txtが生成されます) 3. cat.batを実行します (先に生成されたts_cat.txtを元にffmpegをたたきます) 4. output.mp4ができあがります
元記事を表示

macOSでpythonを使えるようにした

### 背景 macOS BigSurでpythonをつかおうとおもった。 (CuteRというコマンドを使いたかった:[CuteRでQRコード画像をつくった](https://qiita.com/hann-solo/items/fe0e031b3d0b5be7e0cd)) ところが、`pip`をつかうと “`bash $ pip install dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python Reason: image not found Abort trap: 6 “` CuteRでQRコード画像をつくった
### 背景 年賀状にQRコードを貼ろうとおもった。ふつうのじゃおもしろくないし、真ん中にロゴが入っているのもちょっと違うし。CuteRというpythonで書かれたコマンドがおもしろそうなので、使えるようにしてみた。 ↑ こんなかんじのQRコードがつくれるらしい! ほかでも遊べそうw ### pythonのインストール 別記事でまとめた ⇒ [macOSでpythonを使えるようにした](https://qiita.com/hann-solo/items/674140a69bcb48aba38c) ### CuteRのインストール 作業ディレクトリを作成して移動 “`bash $ mkdir CuteR $ cd CuteR “` つくったディレクトリに`venv`で仮想環境をつくり、アクティベート “`bash $ python3.9 -m venv .venv $ . .ven
元記事を表示

【Python】社会人一年目マンの日記を分析して、社会人生活のポジネガ判定とかをした

# はじめに 皆さんこんにちは。 2020年4月より社会人になった者です。 社会人生活がスタートしたのを機に、**日記を付けるようになりました。** 毎日行った事や感じた事を日記として残すことで、将来楽しかった事や辛かった事を見直したらニヤニヤできるんじゃないかなと思ってます。 折角日記を書くのだったらと、データ分析がしやすいフォーマットにして日記を書き続けました。 約80日分の日記があるので、これらを定量評価・定性評価してみた結果を共有させていただきたいと思います! # 目的 日記の中身を定量的&定性的に分析する事で、社会人生活の満足度(=ポジネガ度)[^1]を多面的に評価する。 [^1]: 「社会人生活の満足度」の定義はふわふわしてますが、ポジティブに日々を過ごせているかということです。ポジティブなら日々を楽しく過ごせています。ネガティブならそれを改善するべきです。ネガティブスコアで高い値が出てしまうのなら、転職も考えて対策を行う、といった具合です。ざっくりとしていて申し訳ありません。 # 行ったこと _主観評価_と_客観評価_の観点から分析を行いました。 はじめに日
元記事を表示

Matplotlib備忘録

|# 概要 Matplotlibで覚えておきたいことをメモ ([神記事](https://qiita.com/nkay/items/d1eb91e33b9d6469ef51)ありました、こちらで全て済むかも笑) # タスク ### 1. plt.〇〇で折れ線グラフを描画 ### 2. plt.〇〇で複数の折れ線グラフを描画 ### 3. 日本語化について(Mac) ### 4. 目盛りの整数化 # 方法 ### 1. plt.〇〇で折れ線グラフを描画 #### 1で扱うサンプル |sample1|sample2|sample3| |:-:|:-:|:-:| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |1|2|3| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10|20|30| |10
元記事を表示

TwitterAPIでチェンソーマン関連のツイートを分析した(初級)

# はじめに 2020年も遂に大晦日がやってきました。 年の瀬に記事を投稿したいと思います。 最後の記事は自分が楽しめる題材にしようということで、 最近ハマりにハマっている、**チェンソーマンのツイートを分析しました!!** **最終回とかアニメ化とか色々あった**ので分析したら面白そうでは?と思いました (アニメ化&2部、おめでとうございます!!!???) ほんとに色々と初心者レベルなのでミスも目立ちましたので、優しい心で閲覧していただけるとありがたいです笑 コメント、ウェルカムです!ぜひともお願いします!? # 作業内容の概要 **1. DB作成** – 毎日およそ20000~30000ツイートを収集。今回は12月9日から12月29日までのツイートを定期収集 – 収集したツイートの結合。データフレーム形式 – ツイートの修正 – 修正後のデータフレームをPostgreSQL上に保存 **2. 分析(メイン)** – 総ツイート数、いいね数、リツイート数 – いいね、リツイートの各々の数が最も多いツイート – 日別ツイート数 – 高頻度の単語上位30個表示 ## 1.
元記事を表示

PythonでJリーグのデータ分析をしてみた

今回、[FootyStats](https://footystats.org/jp/)というサッカーデータを扱うサイトからJリーグのデータをダウンロードしPythonで色々調べてみました。ただ2020年シーズンのcsvデータがまだダウンロードできなかったので2019年のデータを使っています。 このサイトはJリーグだけでなく世界各国のリーグの情報を扱っているので、サイトを眺めるだけでも面白いです。 Jリーグ(J1、J2、J、カップ戦)のデータは、それぞれ試合データ、チームデータ、選手データがダウンロードできます。 (順位表は[J.LEAGUE Data Site](https://data.j-league.or.jp/SFRT01/?search=search&yearId=2019&yearIdLabel=2019%E5%B9%B4&competitionId=460&competitionIdLabel=%E6%98%8E%E6%B2%BB%E5%AE%89%E7%94%B0%E7%94%9F%E5%91%BD%EF%BC%AA%EF%BC%91%E3%83%AA%E3%83%
元記事を表示

BBC micro:bit (V1.5) の C/C++プログラミング – Windows10上のPython3仮想環境で、Mbed CLI オフラインコンパイルができる

# The BBC micro:bit development using the Mbed CLI in a Python3 environment on Widows 10 – this target micro:bit v1.5 BBC micro:bitは、MCUにnRF51822を採用した学習用マイコンボードです。Mbed開発環境を使えば、nRF51822の機能を存分に楽しむことができるでしょう。micro:bit単体はもちろんのこと、電子工作や無線通信など、いろいろと活用方法の幅が広がります。 本記事では、Windows10上でもコンパイルができる Mbed CLI オフラインツールを使って、その開発環境の構築における問題点と解決方法を試行錯誤で説明していきます。 ## 主な内容 – Windows10とPython3での問題点 – microbit_blinky サンプル – microbit-hello-world サンプル – mbed new (create-only) コマンド – パッケージ化とテンプレート化 尚、BBC micro:bit V2 が20
元記事を表示

Loguruでsyslogに出力

お手軽に使う “`py:logt.py from loguru import logger import logging import logging.handlers import os def main(): handler = logging.handlers.SysLogHandler(address=’/dev/log’) logger.add(handler, format=”{level} | {message}”) logger.info(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”) if __name__ == ‘__main__’: main() “` “` # tail -f /var/log/messages Dec 31 20:11:00 localhost journal[42166]: INFO | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx “`
元記事を表示

ABC161D Lunlun Number with python3

#[ABC161D Lunlun Number](https://atcoder.jp/contests/abc161/tasks/abc161_d) ##正解コード “` import queue q = queue.Queue() for i in range(1,10): q.put(i) K = int(input()) for k in range(K): x =q.get() last = x % 10 if last != 0: q.put(10*x + last – 1) q.put(10*x + last) if last != 9: q.put(10*x + last + 1) print (x) “` ##考え方 1から9のルンルン数から末尾に一の位の数との差が1以下である数を付け足して新たなルンルン数を生成していく。そして生成されたルンルン数からまた新たにルンルン数を生成していく。K個目のルンルン数が生成されたら処理を終了する。 ##ポイント1 K個のルンルン数全てをリスト
元記事を表示

【Python】インストールしたパッケージの保存と新しい環境へ一括インストールする方法 Mac環境

こんにちは、かをるです。

今回は、Pythonのインストールしたパッケージを保存し、その保存した環境を別の環境へ一括でインストールする方法をご紹介していきます。

様々なパッケージをインストールした環境を作成したら、その中のパッケージのリストをr

元記事を表示

Pythonでメソッドチェーンを実装する

Q. 楽にメソッドチェーンを実装したいか? A. はい。 ## 実装 “`python class MyList(list): … def method(defined_type): def wrap(f): def wrapper(*args, **kwargs): return defined_type(f(*args, **kwargs)) return wrapper def decorator(f): setattr(defined_type, f.__name__, wrap(f)) return decorator @method(MyList) def map(l, func): return [func(el) for el in l] print(MyList([1, 2, 3]).map(lambda x: x+1).map(lambda x: x+2)) # [4, 5, 6] “`
元記事を表示

importの使い方

“`opposite_ai.py import math # 反対向けのAI class Oppai: #処理 pass “` “`hent_ai.py #つかむ動作のAI class Hentai: #処理 pass “` “`app.json.py import hent_ai from hent_ai import Hentai #Hentai()でインスタンス作成できる import opposite_ai as oppai #oppaiでopposite_aiが使える。 import opposite_ai.math #oppai.mathと書かなくてよくなる。 try: setai=__import__(“set_ai”)#詳細設定。有無が except Exception as e: print(e) class classproperty(property): pass class PropertyMeta(type): def __new__(cls, name, bases, n
元記事を表示

pyenv-virtualenvによる仮想環境の構築/Python(インストール、環境設定、パッケージ)Mac環境

こんにちは、かをるです。 今回は、pyenv-virtualenvの構築についてご紹介していきます! パッケージのインストール方法については前回の記事をご覧ください。 【Python パッケージ(ライブラリ)のpipコマンドを使ったインストール方法】 同じバージョンで別の環境構築をしたい場合に、virtualenvというプラグインを使用しPyhonの仮想環境を構築することができます。 ブログに投稿しました。 https://kaworublog.com/pyenv-virtualenv/
元記事を表示

自作言語で数当てゲームを作ろう!

# 自作言語のお時間です! 友達と集まる予定だったのが某ウイルスのせいでキャンセルになり落ち込んでるdangomushiです。 某ウイルス許すまじ。 ## またまたまた作りました。 今回は完成度高いと思ってます。 個人的には今年一番の出来です。 苦労したのは、関数とかで一連の処理をまとめるところかな。とにかく悩みました。~~でもゆーて一週間ぐらいでできた~~ あ、そういえばついった始めました。なんか記事のミスとか「もっとこうしたらいいんじゃないの」とか「この処理はこうしたほうがいいだろ」とかゆうのは遠慮なくコメントかついったで教えてください。 URLはマイページにあると思います。 コードはこちらー>https://github.com/pythonmaster1027/Omega-version0.2.3/tree/main # 開発の一連の流れ 何気に皆さん説明したりしてなかったりしてるんですよね。(筆者の都合により、pythonで開発することを前提としております。ただし、もしあなたの主言語がpythonでなくても「できるかもしれん」とか「やってやらぁ」とかやる気があればぜ
元記事を表示

OTHERカテゴリの最新記事