質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

5回答

2511閲覧

pythonらしさと脱初心者

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

2クリップ

投稿2017/05/01 16:23

編集2017/05/01 22:26

私はpythonを学んでいる初心者です。そこで初心者から脱したいと考えています。その為に今参考書やサイトを探しているのですがなにかいいのはないのでしょうか。

#回答を受けて
すみません自分の能力とpythonらしさについてなにもかいていませんでした。とてもひどい質問だと思います。

私は今学生で独学で勉強をしています。もうすぐ一年が経ちます。一応paizaで頑張ればBを取ることは出来ます。しかし前にどこかで投稿したときにpythonらしく書くならこうですね。と指摘をいただきました。そのときもっとpythonらしくかけたらいいなぁと思いました。らしくかければ上達するのかなそれとも一般的に上手くなるためのルールがあるのかは分かりません。しかし少なくともらしく書けた方が良いとは思います。最近上達する方法がもうよくわからなくなってきたので脱初心者という目標を元に勉強を使用と思っていたのですがどうすればよいかわからないためこの質問をさせていただきました。

shimizukawa👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/01 20:47

Pythonを使ってどういうことがしたいのでしょうか?質問者様が考える脱初心者とはどういうものでしょうか?具体的に書かれると回答者のみなさんも答えやすくなると思いますよ。
guest

回答5

0

初めて学んでいるのがpythonで初心者から脱出したいというお気持ちはなんとなくわかるのですが、それでもどんな状況かが閲覧者には少々曖昧です。

まったく何も知らない状態から脱初心者に至るところまでは理解の度合が急速に変化するため、おなじ初心者といっても程度にかなりの開きがあると思います。その開きのどこにあなたが立っているかによって「少し難し目の本」がいいか「まったくの初心者向けの本」がいいかは違ってくるのではないでしょうか。

初心者よりの教科書に書かれている知識や情報はあなたが初心者からだんだんと脱するにつれて急速に陳腐化していくだろうと思います。一方、実践書などだと、とっかかりは難しいのですが、比較的長く使えるのでお得感があります。ただあなたの質問文から習熟度・経験・理解度がほとんど何もわからないので、「実践書を使って学ぶ段階なのかなぁ」となんとなく推測はできても、「あなたが実際に手に取って判断するよりもよい判断が下せる」とは思えません。

ということでこのあたりを参考にしてみるといかがでしょうか。習熟段階に応じた手軽な学び方(サイト・教科書)のヒントがいろいろあります。

投稿2017/05/01 21:51

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

脱初心者、ということですが、具体的には「他の多くのPythonプログラマーがみても違和感のないコードを書けるようになりたい」ということかと思います。そのためには、本や記事を読んで理論を学ぶのも重要ですが、実践してみることをお勧めします。

  • 著名なPythonライブラリのコードを読む(レビューする)
  • 自分で書いたコードを読んでもらう(レビューしてもらう)

レビューするのもしてもらうのも、初めはなかなかとっかかりがなく難しく感じるかもしれません。もし気に入ったライブラリに有益な変更を思い付いたら、(おそらくgithub等で公開されていると思うので)Pull Requestを出すと良いと思います。
Pull Requestを出すには、そのライブラリがどのようにコードを書いているかをよく読んで、変更を加えるとしたらどのように書くと受け入れてもらいやすいかを考え、実際にレビューしてもらって指摘を修正する、という作業が必要です。この一連の作業は、自動テストを実行したり、pycodestyle, pyflakes, flake8, pylint等でコーディングスタイルを自動チェックしたり、新機能の説明ドキュメントを追記したり、ドキュメントやチケットを書くために英語を読み書きしたり(多くのライブラリは英語がコミュニケーションツールです)と、さまざまな技術が必要になります。

最終的には、こういった一連の作業でなにをしているのか理解して、必要な事(コーディングスタイルがPythonicであることも含む)を行えるようになるのが、脱初心者という状態だと思います。


Pull Requestを出すためには「自分が書いたコードが機能に対して過不足無く書かれていて、1行1行をきっちり説明できる」ことが必要です。空行のあけ方、名前付け、変数の持ち方、ロジック、コメントの入れ方、docstringsの書き方、UnitTestの書き方等々、なんとなく書いているコードがあったら、全てを誰かに説明してみる(というつもりでコメントを入れてみる)と良いでしょう。まずはこれを目指してみると良いかもしれません。

投稿2017/05/02 01:35

shimizukawa

総合スコア1847

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

... 初心者から脱したい ...

テトリスとか、3マスのOX ゲーム、リバーシといったゲームを作ってみることをお勧めします。

投稿2017/05/01 21:50

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

しかし前にどこかで投稿したときにpythonらしく書くならこうですね。と指摘をいただきました。そのときもっとpythonらしくかけたらいいなぁと思いました。

さまざまなPythonコードを「読む」のが、一番の近道だと思います。

Pythonらしさ=他のPythonプログラマ/コミュニティにとっても受け入れやすい を指すと思いますが、最終的にはプログラマ個人の嗜好問題になります。絶対的な正解なぞ無いという割り切りはどこかで必要です。

なおPython言語では、Python"らしさ"の指標となる「Zen of Python」という指針を定めています:

投稿2017/05/02 05:23

yohhoy

総合スコア6191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自分を振り返るとhackingというスタイルツール(厳密にはflake8のプラグイン)で自分の書いたコードを日々チェックするようになったのは大きかったと思いました。一度以下の方法で実行してみてください。

pip install hacking python -m flake8 <自分の書いた.pyファイルやパッケージ等>

いっぱい改善点を指摘されたらPEP8やその他のpythonらしさがまだまだ身についていない、改善点のし的が少なければ見た目の良いコードだということです。個人的にはhackingのチェックを通すとpipのコード(https://github.com/pypa/pip)に見た目の雰囲気が近くなる気がします。

投稿2017/05/02 01:07

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問