タグ

ブックマーク / qiita.com/pashango2 (9)

  • PythonでバイナリをあつかうためのTips - Qiita

    Pythonでバイナリを扱う時のTipsです。 Pythonでバイナリを扱う方法は2つあります、structモジュールを使う方法とctypes.Structureクラスを使う方法です。 基的にstructモジュールは数バイトのバイナリを扱いたい時、それ以上のバイト数やC/C++と連携したい時にctypes.Structureクラスを使います。 structモジュール 例としてPNGファイルのバイナリを読んでみます、PNGファイルは頭の8バイトはヘッダで決め打ちです。 9バイト目から18バイトのデータはIHDR領域(正確にはIHDRの一部)でイメージの縦横サイズとビット深度、カラーモードが格納されています。

    PythonでバイナリをあつかうためのTips - Qiita
  • 【補講】if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita

    【補講】if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさいPython みなさん、こんにちは。 if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさいが「いいね」100を超えました、ありがとうございます。 先生、みんなに話しておきたい事があります。 Shadows name の恐ろしさ みなさん、Shadows name警告を甘く見過ぎです。 グローバルスコープを汚染することによって引き起こされるShadows nameの恐ろしさを説明しましょう。 テキトウな例で申し訳ありませんが、以下のコードがあったとします。 import sys def process(n): x = 0 # ...なんかいろんな処理 if x > 1: n *= 10 # ...なんかいろんな処理 return n if __n

    【補講】if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita
  • 私が実践しているPyCharmの運用ルール - Qiita

    私の記事の「最強のPython開発環境 PyCharmのすゝめ」が、「いいね」が200超えましたので、続きを書こうかと思います。 とはいえ、便利な機能はあらかた紹介済みですので、私なりのPyCharmの運用ルールを書いてみたいと思います。 これはあくまで、私個人で実践している自分ルールですので、「こんな風にやってるんだ」くらいに読んでください。 静的解析のインスペクション項目は全てON PyCharmはリアルタイムでコードを静的解析して、コードのダメな部分を注意してくれます。 しかし、実際にコードを書いていると「ちょっと神経質かな〜?」と思うでしょう。 インスペクション項目(検査項目)は、1つ1つ細かくON/OFFができるので、自分流にカスタマイズしていくのが普通だと思います。 ちなみに、私のPyCharmはインスペクション項目は全てONです。 そのうえ、インスペクションがグリーン(警告が

    私が実践しているPyCharmの運用ルール - Qiita
  • PIL/Pillow チートシート - Qiita

    PIL/Pillowはコンパクトで高速なPython用の画像ライブラリです。 よく使う処理をまとめました(随時更新) PILとPillowの違い 基的にPILを使う理由はありません、Pillowの方がリサイズフィルタのバグフィックスがされており高品質です。 Pillowの速度について Pillowは非常に高速にチューニングされており、同様なライブラリであるImageMagickよりも常に高速に動作します。 ただし、getpixel/putpixelは非常に低速です、画像生成以外には使わないようにしましょう。 更に高速なpillow-simdもあります。概ねオリジナルのPillowの4〜5倍の速度が出るようです。 pillow-simd https://github.com/uploadcare/pillow-simd ####参考 https://python-pillow.org/pi

    PIL/Pillow チートシート - Qiita
  • Pythonでweakref(弱参照)モジュールを使いこなす - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Pythonでweakref(弱参照)モジュールを使いこなす - Qiita
  • Pythonのクラスアトリビュートとメタクラスの話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Pythonのクラスアトリビュートとメタクラスの話 - Qiita
  • 深入りしないCython入門 - Qiita

    Cythonとは? Pythonは処理速度は決して早くない、むしろ遅い部類である。 そこで、C/C++に変換することにより高速化しようというのがCythonである。 低級言語のC/C++(昔は高級言語だったが、現在は低級言語といって良いだろう)に変換してネイティブコンパイルするのだから、速いに決まっている。 この記事の目的 「Cythonは難しい」、「CythonはC/C++の知識が必要」という印象があるだろう。答えは「Yes」である。 しかし、その答えはCythonをフルに使いこなす事が前提である。 実はCythonは、C/C++をそんなに知らなくても、ちょっとした高速化には充分な恩恵を得られるように設計されているのだ。 しかし、無闇にCythonを使っても「あまり高速化されない」、「移行がすごく大変」と散々な結果になるだろう。そこら辺のポイントを踏まえ、C/C++をあまり知らない初心者

    深入りしないCython入門 - Qiita
  • 最強のPython開発環境 PyCharmのすゝめ - Qiita

    私はPython歴はかれこれ7年程になり、PyScripterやVimなど色々な開発環境を変遷してきた。 その中でPyCharmが最強のPython開発環境であると断言する。 PyCharm Home Page 開発はIntelliJ IDEAのJetBrainsで、最近はGo言語用IDEのGoglandを発表している。 動作環境はWindows/OS X/Linuxのマルチプラットフォームである。 PyCharmは無償版と有償版があるが、普通の開発ならば無償版で充分すぎるほど機能が備わっている。 PyCharmがいかに便利であるか紹介してみよう。 リアルタイムのコードチェックと修正機能 PyCharmはリアルタイムにコードをチェック(PyFlakes使用)してくれるが、Vimでも同様の事ができるので目新しい事ではない。 PyCharmの素晴らしい所は、警告個所を適切に修正してくれる機能が

    最強のPython開発環境 PyCharmのすゝめ - Qiita
  • if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita

    あけましておめでとうございます。 新年早々ですが、先生、みなさんに言いたいことがあります。 pythonコードで、if __name__ == '__main__'の下にコードをダラダラと書く人、挙手しなさい。 こんな感じに、if __name__ == '__main__'の下にコードを書く人です。 #! usr/bin/python # -*- coding: utf-8 -*- from __future__ import unicode_literals, print_function, absolute_import import sys def say_args(kind, data_list): print("kind:", kind, " data:", data_list) if __name__ == '__main__': args = sys.argv[1:] as

    if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita
  • 1