crignactor
@crignactor (クリグナ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Pythonチュートリアルで、私のニーズに合った節を紹介していただけませんか?

教えていただきたいこと

『Pythonチュートリアル』で、文法というよりもプログラミングの上での原理を把握するための用語を説明している節を教えてください。
「プログラミング〜用語」のより詳しい意味としては、「名前空間」や「スコープ」と同じ抽象度の原理を説明するために使うような用語という感じです。

プログラミングを始めて1週間ちょいの超初心者の理系大学一年生ですが、『スッキリわかるPython入門』は、練習問題は普通に解け、説明できるくらいには理解しているというのが現状です。
名前空間のチュートリアルの節を読みましたが、理解もできた一方、こういう用語はこれから手を動かす(『退屈なことは〜よう』でプログラムを動かしてみる予定)上で、知っておいた方がいいと感じました。

0

2Answer

Pythonチュートリアル』で、文法というよりもプログラミングの上での原理1を把握するための用語を説明している節

矛盾しています.「プログラミング」をググるとおおよそ「コーディング」を意味する答えがでてきます.文法なしでは成り立たない話です.チュートリアルでは,Pythonの文法や言語仕様しか学べません.

「名前空間」や「スコープ」の話2も言語依存の仕様なのでPythonを学ぶなかのうちの1つのトピックに過ぎません.このレベルのものに関して挙げようとすると制御構文やデータ構造だけにとどまらず,mutableがどうとかimmutableがどうとか参照渡しがどうとか値渡しがどうとか,特殊メソッドがどうとか無限に学ぶべきことがでてきます.『退屈なことはPythonにやらせよう』のように処理の自動化を目的とするなら,安全稼働を目指すためにチュートリアルを完遂する必要があるとしか言えません.

ひょっとして聞きたいのは『プログラミング上の原理1』という謎なものではなくて『Pythonの言語仕様』ではないでしょうか?チュートリアルは最低限,9章「クラス」まで学べば十分だと思います.言語仕様はリファレンスがあるので目を通しておくと良いでしょう.

というか普通,「わからないことがあったら調べる」スタイルでやった方が手を動かしやすいと思います.特にリファレンスは読むだけですからね.個人的にはこういったPythonの言語仕様の理解にこだわるより,いろんな人のいろんなコードを見て吸収していくスタイルがモチベーションを維持できます.

  1. コーディングの話 or チューリングマシンの話 or コンパイラ-機械語等低レイヤの話? 2

  2. なんなら既にこの仕様が主要言語に対して特殊な仕様なまである.globals()で変数取得できるのとか.

2Like

Comments

  1. 「スッキリわかるPython入門」の目次を見ましたが読了されたのならPythonのチュートリアルは終わってる気がしますけどね🤔あとはプログラム書きまくって身につける段階だと思います
  2. @crignactor

    Questioner

    ご指摘の通り、私の考えていたものには、言語仕様という言葉がマッチすると思います。
    用語というより用語で表される概念の仕様というようなものを伝えようとしたのですが、自分の質問を読み返してみると確かに意味不明ですね💦そして、リファレンスの一部がまさに私の知りたいことでした。ありがとうございます。
    個々の構文や組み込み関数の仕様やその他特殊な言語仕様は別として、変数への代入文や関数の定義で何が為されているのかなどエラーやコーディングを考えるのに直結しそうな部分は個々に経験するのではなく、理論を理解した上でそれと繋げながら経験したいというのが私のスタイル(好きなことでもある)です。応用が効きやすいとも思うので。もちろん個々の特殊な事例など分からなかったら調べるますが。
    そのため、リファレンスを数節だけ読んで(もう読みました、面白かったです)、これからはおっしゃるように、プログラムを書きまくっていきたいと思います!
    本当にありがとうございました😊
  3. 解決されたようでよかったです!
    本質問を「クローズ」にしていただけると終了になります。
    勉強頑張ってください

Comments

  1. @crignactor

    Questioner

    困ったときに、参照したみます。
    ありがとうございます。

Your answer might help someone💌