<commit_before>### 「Python言語」二歩目を踏み出そう！
### 脱初心者になるためのポイントを伝授します

ヒカラボ

<NAME> / 2017 Sep 21

---

### Who am I?(お前誰よ)

* 鈴木たかのり / <NAME>
* Twitter: [@takanory](https://twitter.com/takanory)
* [株式会社ビープラウド](https://www.beproud.jp/)
* [一般社団法人PyCon JP](https://www.pycon.jp/) 理事
* [Pythonボルダリング部](https://kabepy.connpass.com/)(#kabepy)部長

![BeProud](images/beproud.png)

---

### 今日話すこと

- はじめの一歩で紹介した内容の振り返り
- pythonの一般的なデバッグ手法(pdb)
- コーディングスタイルの統一(PEP8, flake8)
- 自動テスト手法(unittest)
- Python公式ドキュメントを読みこなそう
- 文字列メソッドを使いこなそう(format, startswithなど)
- 例外処理の使いどころ
- 内包表記、ジェネレーター式を使いこなそう
- 次のステップ

---

### はじめの一歩で紹介した内容の振り返り

[「Python言語」はじめの一歩 / First step of Python](https://www.slideshare.net/takanory/python-first-step-of-python "「Python言語」はじめの一歩 / First step of Python")https://www.slideshare.net/takanory/python-first-step-of-python<commit_msg>add overview of first step<commit_after>### 「Python言語」二歩目を踏み出そう！
### 脱初心者になるためのポイントを伝授します

ヒカラボ

<NAME> / 2017 Sep 21

---

### Who am I?(お前誰よ)

* 鈴木たかのり / <NAME>
* Twitter: [@takanory](https://twitter.com/takanory)
* [株式会社ビープラウド](https://www.beproud.jp/)
* [一般社団法人PyCon JP](https://www.pycon.jp/) 理事
* [Pythonボルダリング部](https://kabepy.connpass.com/)(#kabepy)部長

![BeProud](images/beproud.png)

---

### 最初に質問

+++

### Python 書いたことある人?

---

### 今日話すこと

1. 「はじめの一歩」の振り返り
- pythonの一般的なデバッグ手法(pdb)
- コーディングスタイルの統一(PEP8, flake8)
- 自動テスト手法(unittest)
- Python公式ドキュメントを読みこなそう
- 文字列メソッドを使いこなそう(format, startswithなど)
- 例外処理の使いどころ
- 内包表記、ジェネレーター式を使いこなそう
- 次のステップ

---

### 1. 「はじめの一歩」の振り返り

[「Python言語」はじめの一歩 / First step of Python](https://www.slideshare.net/takanory/python-first-step-of-python)

<iframe src="//www.slideshare.net/slideshow/embed_code/key/xFxV1pZ3q2nmDq" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/takanory/python-first-step-of-python" title="「Python言語」はじめの一歩 / First step of Python" target="_blank">「Python言語」はじめの一歩 / First step of Python</a> </strong> from <strong><a href="https://www.slideshare.net/takanory" target="_blank"><NAME>uki</a></strong> </div>

+++

### 1.1 Pythonの特徴

* まぁ、なんでもできる
* きれいに書きやすい
* 保守しやすい
* 20年以上開発してる
* Python 2 と 3 がある

+++

### 1.2 言語の特徴

* インデントでブロック構造
* 対話モード
* たくさんの標準ライブラリ
* 豊富な外部パッケージ

+++

### 1.3 インストール

* 公式からインストールしよう

+++

### 1.4 言語仕様

* データ型: int, float, str, bytes
* コレクション: list, tuple, dict, set
* 分岐: if, elif, else
* 繰り返し: for, while
* ファイル操作: open(), with open
* モジュール: import

+++

### 1.5 Python 2と3の違い

* printが文→関数
* 文字列がUnicodeに統一
* intの割り算の結果がfloat
* 標準ライブラリの再構成

+++

### 1.6 よく使う標準ライブラリ

* re: 正規表現
* sys, os: システムパラメータとOS
* datetime: 日付と時刻
* math, random: 数学関数と乱数
* itertools: イテレータ生成関数
* shutil: 高レベルなファイル操作
* json: JSONエンコーダ、デコーダ

+++

### 1.7 よく使うサードパーティ製パッケージ

* pip と venv(virtualenv)
* dateutil: 日時操作の強力な拡張
* Requests: HTTPクライアント
* BeautifulSoup4: HTML, XMLパーサ
* Pillow: 画像処理ライブラリ
* PEP8: pycodestyle, flake8

+++

### 1.8 どうやって学ぶか

* 書籍紹介
* Web上のテキスト
* コミュニティに参加
{'fraction_non_alphanumeric': 0.17690575747828885, 'fraction_numerical': 0.019942103570279833, 'mean_word_length': 4.7380073800738005, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, 'https://': 12, 'lorem ipsum': 0, 'www.': 10, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1848051', 'n_tokens_mistral': 1959, 'n_tokens_neox': 1897, 'n_words': 221}