2016/10/27

[py]pyCharmを使うことで改善されたか?

起動したときのアイコンが「PC」だったので、パソコンのことかと一瞬思ったが、略したらPCなんだな。

image

型がわからなくて困る問題がpyCharmを導入することで改善したかというと、そういうことはない。
まあ、bytearrayとstrの違いなんて、pyCharmだってわからないはずだ。
せめて、メソッドがないとかそういうレベルであれば、エディタの段階で気付かせてくれるだろうに。

新しくコードを書き始めれば、また目覚めるのかもしれないが、ちょうど一通りコードを書き終わった後なので、ソースの整形にしか使っていないのだ。
だから、使った方がよいかどうかは、また後日だな。

期待するのは、ブレークポイント。
今まではprintを埋め込んでいたのだが、やりやすくなるはず。
埋め込んだprintを削除する作業がけっこう面倒に感じているのだ。。。
Cで書いているときは、わざとインデントをずらしてprintf()を置くことで、ざーっとソースを眺めてデバッグ出力を見つけられたのだが、pythonだとインデントがずらせないので目印を付けておくくらいしかやれることがない。
少しだけやってみたが、bytearray型の変数が見づらい。
Cであれば、変数のアドレスを取ってきてメモリビューアなんかで見れば済むし、VisualStudioやIntelliJでも配列要素は1つずつ見られたのだが、ここはツールというよりも言語仕様の違いなのだろうか。

 

 

つらつらと書きながら思いついたのだが、decode('hex')とencode('hex')で書くのではなく、binasciiのa2b_hex()とb2a_hex()を使うようにしたらよいのでは無かろうか?
・・・関係なかった。
そもそも、「バイナリ」と「文字列」が同じ系列で扱えるんだから、関数になったって同じだ。

だから、別の「バイナリ型」があればよいのだ。
python3ではb'xxxx'というやり方になっていたと思うが、その辺が見分けられるようになったのかも。
16進文字列と文字列の変換 - Qiita
そんなことはなさそうだ。。
どっちも引数がb'xxxx'になっている。
うーん。。。。

 

まぬけな気がするけど、自分でclassを作って、チェック機構を付ける方が建設的かもしれない。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。