タグ

ブックマーク / atsuoishimoto.hatenablog.com (7)

  • BeProudさんで草鞋を脱ぐ - atsuoishimoto's diary

    まだ100%確定という訳ではないが、著名なPython企業である BeProud さんで、11月からお仕事をさせていただくことになりそうだ。ちょっとお話でも、という事でお邪魔させていただいたら、なかなか面白そうな案件を伺って、決めてきてしまった。自分でもちょっと意外な展開である。 草鞋を脱ぐとは言っても、当面はバイト待遇で、と言うことでお願いした。なんでバイトかといえば、今後の進路を決めかねているというのもあるが、主にBeProudでちゃんと仕事ができるか、今ひとつ自信がないためだ。普通の受託開発でプロジェクトに参加するのは当に久しぶりで、自分の中で調整して勘を取り戻すのに、色々と時間がかかりそうな気がするのだ。 ということで心配な面もあるのだが、それでもBeProudで働けるのは楽しみで、不安感とか緊張はあまり感じない。なにしろ、現在でも私のTwitterのタイムラインはBeProud

    BeProudさんで草鞋を脱ぐ - atsuoishimoto's diary
  • Python2のstrは死んだ - atsuoishimoto's diary

    Python3の概略をざっと聞くと、Python3ではPython2のユニコード型が文字列型になり、文字列型はバイト文字列型になった、というイメージを持ってしまう人も多いだろう。Python2の s="spamspamspam" は、Python3の s=b"spamspamspam" と同じだ、と。 しかし、Python3に"バイト文字列"なんて存在しない。あるのは "bytes"だ。複数形を示す "s"に注意しよう。bytesはバイトのコンテナであり、バイトとは整数値だ。バイトは文字ですらないのだ。 そう、だからもう認めよう。Python2のstrは死んだ。Python3にはもう存在しない。strは消え去った。お亡くなりになった。お隠れになった。成仏した。主の御許に召された。バージョン履歴に残るゴミクズとなった。その生涯は幕を閉じ、アンコールに応じることもないのである。 strとbyt

    Python2のstrは死んだ - atsuoishimoto's diary
  • あなたの知らないPythonのひみつ - atsuoishimoto's diary

    Pythonでは、ループ・try・withブロックは最大20までしかネストできない。 >>> def spam(): ... while 1: ... while 2: ... while 3: ... while 4: ... while 5: ... while 6: ... while 7: ... while 8: ... while 9: ... while 10: ... while 11: ... while 12: ... while 13: ... while 14: ... while 15: ... while 16: ... while 17: ... while 18: ... while 19: ... while 20: ... while 21: ... print "Deep!" ... SystemError: too many statically n

    あなたの知らないPythonのひみつ - atsuoishimoto's diary
  • Pythonの進化を支えるもの - atsuoishimoto's diary

    プログラム言語 Python はまもなくリリース以来20年を迎え、現在では世界でもっともよく使われている言語の一つへと成長しました。Python はすばらしいプログラム言語ですが、プログラム言語が広く普及するためには、単に優れた言語であるというだけでは不十分です。アプリケーションの開発言語は、一度選んでしまえばそのアプリケーションの寿命まで付き合わなければなりません。企業などで特定のプログラム言語を主要な開発環境として選択すれば、後になってから変更するのは大きなリスクとなってしまいます。 従って、Python が現在のような地位を獲得しているということは、単に Python が優れたプログラム言語として評価されているというだけではありません。多くの人々から、将来に渡って安心して利用することができるという信頼を得ているということなのです。 しかし、PythonJava のように特定の企

    Pythonの進化を支えるもの - atsuoishimoto's diary
  • The Zen of Python 解題 - 後編 - atsuoishimoto's diary

    The Zen of Python 解題 - 前編 "The Zen of Python" の役割 "The Zen of Python" は Tim Peters氏が1999年に「Pythonらしさとはなにか?」と問われて書き上げたものであることは前述した。Python 2.0 のリリースに向けて活発に開発が進められていたころである。 この Python 2.0 は、いろいろな意味で重要なリリースだ。まず、Python の著作権の帰属、ライセンス等について数々の「大人の話し合い」をくぐり抜け、現在の PSF (Python Software Foundation) による安定した体制を築き上げる第一歩となった、記念すべきリリースである。 また、このリリースでは リスト内包(例 [x*x for x in range(10)]) や累積代入文(例 a += 10) などの Python

    The Zen of Python 解題 - 後編 - atsuoishimoto's diary
  • The Zen of Python 解題 - 前編 - atsuoishimoto's diary

    The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In

    The Zen of Python 解題 - 前編 - atsuoishimoto's diary
  • スタティックメソッドは要らない子? - atsuoishimoto's diary

    Pythonでは、クラス内で定義することの出来るメソッドが三種類用意されている。メソッド・クラスメソッド・スタティックメソッドの3種類だ。それぞれどんな特徴を持っているのだろうか? メソッド まず、メソッドはおなじみのインスタンスメソッドで、第一引数としてインスタンスを受け取り、呼び出す時には必ずインスタンスが必要となる。 class Foo(object): # メソッド def method(self, arg): pass Foo().method("arg") #OK Foo.method("arg") #これはエラー クラスメソッド クラスメソッドは第一引数としてクラスオブジェクトを受け取り、インスタンスが無くとも呼び出すことが出来る。 class Foo(object): # クラスメソッド @classmethod def clsmethod(cls, arg): pass

    スタティックメソッドは要らない子? - atsuoishimoto's diary
  • 1