Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pyladies tokyo 20150123

PyLadies Tokyo Meetup #3 (Python for Beginners) での発表資料

Pyladies tokyo 20150123

  1. 1. 初心者のときに 知りたかったTips集 PyLadies Tokyo Meetup #3 @a_macbee
  2. 2. @a_macbee is 誰
  3. 3. @a_macbee ! 新卒データサイエンティスト        (もどき)  3度の飯より酒が好き !  PyLadies Tokyo代表  CROSS 2015でパネラーします  Python歴は4年とちょっと !
  4. 4. Python for Beginners
  5. 5. 想定している初心者 ! ・Python経験歴1年未満 ・プログラミング経験有
 (でもまだまだ初心者) まさかりこわいよ
  6. 6. 初心者時代を思い出し 当時の自分が教わったら 喜ぶであろう話を考えてみた  適宜デモとか  やります
  7. 7. Pythonって 他言語とどう違う? ※Python言語の説明については私より先に話す人が 話終えていることを想定してます(; ・`ω・́)
  8. 8. Pythonには 電池が付属する
  9. 9. プログラマがすぐに使えるような ライブラリや統合開発環境が ディストリビューションに含まれる
  10. 10. 抱負な標準ライブラリ: http://docs.python.jp/2.7/library/index.html ステキだね憧れだね OS固有のライブラリ Unix, Mac, Windows インターネット urllib2, uuid リッチなデータ型 datetime, collections データの永続化 pickle, sqlite3 データ圧縮 gzip, bz2, tarfile 暗号化処理 hashlib, md5 スレッド・プロセス threading multiprocessing マークアップ HTTPParser
  11. 11. 個人的オススメ collections ! 超便利╭( ・ㅂ・)‫و‬ ̑̑
  12. 12. 暗号化 (M2Crypto)
 外部関数のインタフェース (CTypes)
 地理情報 (geopy)
 データベース (SQLAlchemy)
 ゲーム開発 (PyGame)
 GUI (PyGtk, PyQt)
 イメージ処理 (PIL)
 ネットワーク (HTTPLib2)
 グラフ描画 (matplotlib)
 科学計算 (Numpy, Scipy)
 Web開発 (Django, Pyramid) 抱負なパッケージ import!! https://wiki.python.org/moin/UsefulModules
  13. 13. import this 言語思想を知りたい方へ・・・
  14. 14. 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 face of ambiguity, refuse the temptation to guess.
 There should be one-- and preferably only one --obvious way to do it.
 Although that way may not be obvious at first unless you're Dutch.
 Now is better than never.
 Although never is often better than *right* now.
 If the implementation is hard to explain, it's a bad idea.
 If the implementation is easy to explain, it may be a good idea.
 Namespaces are one honking great idea -- let's do more of those!
  15. 15. >> print dir(this)
 […, __package__ , c , d , i , s ] >> print this.s
 ????? 閑話休題: …多分みんなが知らない話をドヤ顔で話してみるよ
  16. 16. 何か良さそうだな :) よしPython使おう!
  17. 17. Python初心者AさんとPythonプログラマーBさんの会話 ! A:すいませんAさん,ちょっと質問があるのですが・・・ B:どうしたの? ! A:このコードなんですけど・・・どうしても動かなくて.   サンプルコード参考に書いたんですけど><   あ,あとこのライブラリをどうしても入れることが出来なry B:・・・.Aさん,ちなみに使ってるPythonのバージョンは? A:Python 3.4.3です ! B:あ,それじゃあどう頑張っても動かないよ   なんたって,Pythonの2系と3系には互換性がないからね   君が参考にしているコードもライブラリも2系を対象にした
   ものだね
  18. 18. ・・・え?
  19. 19. _人人人人人人人人人人人人_ > 突然のバージョン問題 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  20. 20. とりあえず最新をry…に注意 Pythonの2系と3系には互換性がない  → 3系で動かないコード一杯ある ! 使いたいライブラリが3系に対応 しているのか確認しよう!  → 企業が提供しているライブラリ    2系対応のみが多いイメージ    ※あくまでもイメージ
  21. 21. 2と3はどう違う?→ Cheat Sheet: http://python-future.org/compatible_idioms.html http://python3wos.appspot.com/ 公式サポートなし oauth2 MySQL-python Fabric paramiko ※代替があるやつも多い
  22. 22. 両方使いたい場合は どうすれば良いの?
  23. 23. pyenvを使いましょう
  24. 24. export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" 2. /.bash_profile 1. `pyenv` をそれぞれの環境にインストール 使い方を実演します(`・ω・´)ゞ for Windows
  ・・・うまくいくのか検証できずorz
 for Mac, Linux  http://cocodrips.hateblo.jp/entry/2014/09/02/171127
  25. 25. Pythonのバージョン問題を解決 同じようにパッケージも管理したいな
  26. 26. Python初心者AさんとPythonプログラマーBさんの会話 ! A:すいませんAさん,ちょっと質問があるのですが・・・ B:どうしたの? ! A:パッケージ管理ツール使ってライブラリ管理したいんですけど
   Pythonでは何を使えば良いんですか? B:Pythonだとみんな pip を使うかな! A:そうなんですね,ありがとうございます.
   ちなみに pip ってどうやって入れたら良いですか? B:$easy_install pip で入るはず ! A:そうなんですね,ありがとうございます.
   ちなみに easy_install ってなんでしょう? B:ん?パッケージ管理ツールだよ?
  27. 27. 引用:https://twitter.com/gardaud/status/357638468572151808 ※元ネタです
  28. 28. 原則 pip を利用する
 Python 2.7.9 から pip が標準で入ってくる!
 (Python3系であればpipが標準で入る) easy_install は一旦忘れよう そして分からなくなったら聞こう 初心者で悩むと 一番つらいところな気がする
  29. 29. Pythonの勉強に オススメの本とかある?
  30. 30. とりあえず最初は チュートリアル
  31. 31. プログラミングも初めて・・・という方に Pythonは教育用言語としても非常に優れています
  32. 32. Python中級者になってきたかな?・・・という方に よりPythonicなプログラミングや標準開発スタイル等の話
  33. 33. なにこれ全然わからん・・・ バグを駆逐 できない もうダメだ 心折れる・・・ 何がわからんかも分からん
  34. 34. 一緒に 勉強しましょう PyLadies Tokyo用のSlack等を 有効活用しちゃって下さい╭( ・ㅂ・)‫و‬ ̑̑
  35. 35. 時間があまっていたら よくある嵌りどころ みたいなやつを実演します

×