Python

winreg でレジストリを読み書きするサンプルコード

標準ライブラリに入ってる winreg を使うとレジストリの読み書きができるけど、こいつは Windows API を薄く包んでいるだけなのでリファレンスを見ても使い方がさっぱりわからないという。いろいろ調べて、おそらくこうするのが正しいと思われるサンプルコー…

objectとtypeの関係を図にまとめた

object は継承の頂点 type はインスタンス化の頂点 なお、図では以下のようなクラスを使いました。 # 何も継承指定しないとobjectを継承したことになる(※Python3から) class Foo: pass # Fooを継承 class Bar(Foo): pass # 独自のメタクラスを作成して使用…

マイナスはリテラルの一部じゃなくて演算子

二乗したのに符号がマイナスなんだけど「こいつ虚数か?」と思ったら、単純に ** が先に評価されているだけでした。 >>> -1 ** 2 -1 >>> (-1) ** 2 1よく読むと、チュートリアルにも記載されてるし。 - よりも ** の方が優先度が高いので、-3**2 は -(3**2) …

コンソールスクリプトが別ウィンドウで実行される

OSを再インスコして気づいたけど、PythonみたいなスクリプトファイルをPowerShellから直接実行しようとすると別ウィンドウに表示されるのな。一方で py hello.py とか python hello.py とかやると、ちゃんとコンソールウィンドウを引き継いでくれる。この動…

urllib.requestを使って日本語ドメインを含むURLを取得しようとするとエラーになる

# Python 3.6.1 import urllib.request res = urllib.request.urlopen('http://日本語.jp/about/') # UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256) urllibの手足である http.client と socket …