pyladies tokyo 20150123

Post on 16-Jul-2015

364 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

初心者のときに 知りたかったTips集

PyLadies Tokyo Meetup #3 @a_macbee

@a_macbee is 誰

@a_macbee !新卒データサイエンティスト        (もどき)  3度の飯より酒が好き ! PyLadies Tokyo代表  CROSS 2015でパネラーします  Python歴は4年とちょっと !

Python for Beginners

想定している初心者 !

・Python経験歴1年未満 ・プログラミング経験有(でもまだまだ初心者)

まさかりこわいよ

初心者時代を思い出し 当時の自分が教わったら

喜ぶであろう話を考えてみた

 適宜デモとか  やります

Pythonって 他言語とどう違う?

※Python言語の説明については私より先に話す人が 話終えていることを想定してます(; ・`ω・́)

Pythonには 電池が付属する

プログラマがすぐに使えるような ライブラリや統合開発環境が

ディストリビューションに含まれる

抱負な標準ライブラリ: 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

個人的オススメ collections

!

超便利╭( ・ㅂ・)و ̑̑

暗号化 (M2Crypto)外部関数のインタフェース (CTypes)地理情報 (geopy)データベース (SQLAlchemy)ゲーム開発 (PyGame)GUI (PyGtk, PyQt)イメージ処理 (PIL)ネットワーク (HTTPLib2)グラフ描画 (matplotlib)科学計算 (Numpy, Scipy)Web開発 (Django, Pyramid)

抱負なパッケージ import!!

https://wiki.python.org/moin/UsefulModules

import this言語思想を知りたい方へ・・・

The Zen of Python, by Tim PetersBeautiful 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!

>> print dir(this)[…, ‘__package__’, ‘c’, ‘d’, ‘i’, ’s’]

>> print this.s ?????

閑話休題: …多分みんなが知らない話をドヤ顔で話してみるよ

何か良さそうだな :) よしPython使おう!

Python初心者AさんとPythonプログラマーBさんの会話 !A:すいませんAさん,ちょっと質問があるのですが・・・ B:どうしたの? !A:このコードなんですけど・・・どうしても動かなくて.   サンプルコード参考に書いたんですけど><   あ,あとこのライブラリをどうしても入れることが出来なry B:・・・.Aさん,ちなみに使ってるPythonのバージョンは? A:Python 3.4.3です !B:あ,それじゃあどう頑張っても動かないよ   なんたって,Pythonの2系と3系には互換性がないからね   君が参考にしているコードもライブラリも2系を対象にした  ものだね

・・・え?

_人人人人人人人人人人人人_ > 突然のバージョン問題 < ‾Y^Y^Y^Y^Y^Y^Y^Y^Y‾

とりあえず最新をry…に注意

Pythonの2系と3系には互換性がない  → 3系で動かないコード一杯ある !

使いたいライブラリが3系に対応 しているのか確認しよう!  → 企業が提供しているライブラリ    2系対応のみが多いイメージ    ※あくまでもイメージ

2と3はどう違う?→ Cheat Sheet: http://python-future.org/compatible_idioms.html

http://python3wos.appspot.com/

公式サポートなし oauth2

MySQL-python Fabric paramiko

※代替があるやつも多い

両方使いたい場合は どうすれば良いの?

pyenvを使いましょう

export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)"

2. ~/.bash_profile

1. `pyenv` をそれぞれの環境にインストール

使い方を実演します(`・ω・´)ゞ

for Windows ・・・うまくいくのか検証できずorzfor Mac, Linux  http://cocodrips.hateblo.jp/entry/2014/09/02/171127

Pythonのバージョン問題を解決 同じようにパッケージも管理したいな

Python初心者AさんとPythonプログラマーBさんの会話 !A:すいませんAさん,ちょっと質問があるのですが・・・ B:どうしたの? !A:パッケージ管理ツール使ってライブラリ管理したいんですけど  Pythonでは何を使えば良いんですか? B:Pythonだとみんな pip を使うかな! A:そうなんですね,ありがとうございます.  ちなみに pip ってどうやって入れたら良いですか? B:$easy_install pip で入るはず !A:そうなんですね,ありがとうございます.  ちなみに easy_install ってなんでしょう? B:ん?パッケージ管理ツールだよ?

引用:https://twitter.com/gardaud/status/357638468572151808

※元ネタです

原則 pip を利用するPython 2.7.9 から pip が標準で入ってくる!(Python3系であればpipが標準で入る)

easy_install は一旦忘れよう そして分からなくなったら聞こう

初心者で悩むと 一番つらいところな気がする

Pythonの勉強に オススメの本とかある?

とりあえず最初は チュートリアル

プログラミングも初めて・・・という方に

Pythonは教育用言語としても非常に優れています

Python中級者になってきたかな?・・・という方に

よりPythonicなプログラミングや標準開発スタイル等の話

なにこれ全然わからん・・・

バグを駆逐 できない

もうダメだ 心折れる・・・

何がわからんかも分からん

一緒に 勉強しましょう

PyLadies Tokyo用のSlack等を 有効活用しちゃって下さい╭( ・ㅂ・)و ̑̑

時間があまっていたら よくある嵌りどころ

みたいなやつを実演します

top related