pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

Pyhotn

Pydnsblを使う

複数のDNSBLに問い合わせしてくれる。 ソース from pydnsbl import DNSBLChecker chk = DNSBLChecker() res = chk.check_ip('1.1.1.1') print("Result") print(res.blacklisted) print("") print("Providers") print(res.detected_by) 結果 Result True Prov…

Pythonのクラスについて

はじめに Pythonの仕様なので、こういうものだと覚える! 参照 Amazon CAPTCHA クラスの定義は以下の形 class クラス名: def メソッド名(self, ...): ... def メソッド名(self, ...): ... インスタンス生成 ソース class myclass: def __init__(self): pass …

Pythonリスト扱い時のメモリ・処理速度調査

わかったこと 内包表記の方が処理が速い ファイルハンドラを作成しただけではメモリは確保されない。 ファイルハンドラをフィルタせず不要にリストオブジェクトに代入しないこと ※全データ分メモリがとられる。フィルタすればフィルタ結果の分だけメモリが使…

pyenv環境でバージョン指定する時

参考URL pyenvでpythonの細かいバージョンを指定する方法 - blog.ton-up.net やり方 pyenv global 2.7.X

pythonのcymruwhoisモジュールでIPアドレスからwhois情報取得

参考 pypi.python.orgAPI — cymruwhois v1.0 documentation 使い方が簡単 #! /usr/bin/env python3 # -*- coding: utf-8 -*- from cymruwhois import Client # 一個だけデータを取得する場合 c = Client() r = c.lookup('8.8.8.8') print('ANS: ' + r.asn) p…

Macでmatplotlibを使う

以下問題発生 $ cat ./test.py import numpy as np import matplotlib.pyplot as plt print("test") $ python ./test.py Traceback (most recent call last): File "./test.py", line 2, in <module> import matplotlib.pyplot as plt File "/Users/pike/.pyenv/vers</module>…

Pythonの関数デコレータについて

参考 Pythonのデコレータを理解するための12Step - Qiita https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X Pythonのデコレータを理解するときに残したメモ - PYTHONIC BOOM BOOM HEAD デコレータの使いどころ - Qi…

Pythonのlambda式について

参考 Pythonのlambda式(無名関数)の使い方 | UX MILK Pythonの無名関数(lambda)の使い方 - Life with Python lambda式とは? 無名関数を記述する方法 無名関数とは? ・関数宣言をせずに使える関数 ・一度だけしか使われない使い捨ての関数。名前をつける…

Pycharm使い方メモ

vimのキーバインドにする PyCharmでvimを使う - yukofebの日記いい感じ! 他便利な使い方 最強のPython統合開発環境PyCharm 検索機能 command + o クラス検索 command + shift + o ファイル検索 command + option + o シンボル検索 コード実行 control + r …

Pythonネットワークプログラミング勉強コード

簡易tcpサーバ 動作 ・受信データを16進数でクライアントに返す。 ・接続開始、終了情報をサーバ側コンソールに出力する。 コード # -*- coding: utf-8 -*- import sys import socket import threading CS = 'utf-8' PORT = sys.argv[1] # PORTはstr型(Pytho…

Pythonのネットワークプラグラミング

参考 https://www.amazon.co.jp/サイバーセキュリティプログラミング-―Pythonで学ぶハッカーの思考-Justin-Seitz/dp/4873117313 netcatもどき(作成中) # -*- coding: utf-8 -*- import sys import socket import getopt import threading import subprocess …

Pythonのジェネレータ関数

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X ジェネレータ関数とは? ジェネレータオブジェクトを生成する関数 ジェネレータオブジェクトはイテレータ処理(データを順番に処理)をする機能を持つ オブジェ…

Pythonのglobalとnonlocal宣言

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X global宣言 グローバル変数を関数内で参照できるが、データ変更しても、新しいローカル変数が定義された状態になる。(もしくはUnboundLocalError例外) global…

Pythonの関数(引数の指定方法)

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X キーワード引数 引数に名前をつけて渡す。順番が関係なくなる。 >>> def hoge(a1, a2, a3): ... print(a1,a2,a3) ... >>> hoge(1,2,3) 1 2 3 >>> hoge(a3=1,a…

Pythonの内包表記

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X リスト >>> a = [ x**2 for x in range(1,11)] >>> a [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> ※rangeの2個目の引数は終了点。range(1,11)1は1〜10 セッ…

PythonのオブジェクトID

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X オブジェクトIDとは? インタプリタがオブジェクトを管理するID メモリ上のオブジェクトの場所を示す情報2つのオブジェクトが同じかは、is で判定可能 id関数…

PythonのNone型

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X 値が存在しないことを表す特別な値 >>> a = ['',None,1,2] >>> a ['', None, 1, 2] >>> a[0] is None False >>> a[1] is None True >>> a[0] '' >>> if a[0]:…

Pythonのディクショナリ操作

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X 定義方法 >>> a = {'a':1,'b':2} >>> a {'b': 2, 'a': 1} >>> a['c'] = 3 >>> a {'b': 2, 'a': 1, 'c': 3} >>> キーの存在チェック >>> a {'b': 2, 'a': 1, '…

Pythonのセット操作

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X 要素の追加削除 discardは該当要素がなくても例外発生しない >>> a = {1,2,3,4,5} >>> a.add(6) >>> a {1, 2, 3, 4, 5, 6} >>> a.remove(3) >>> a {1, 2, 4, …

Pythonのリスト操作

参考 https://www.amazon.co.jp/パーフェクトPython-PERFECT-5-Pythonサポーターズ/dp/477415539X s[i:j:k] i番目からj番目までの要素をk個毎に取り出す >>> a = [0,1,2,3,4,5,6,7,8,9] >>> a[0:9:2] [0, 2, 4, 6, 8] >>> a[0::2] [0, 2, 4, 6, 8] >>> s.ind…