LoginSignup
0

posted at

『Python1年生』で勉強中(その2)

この記事について

『Python1年生』(以下、書籍)でPythonを学習する初心者の記録です。
今回も大したことは書いていませんが、こういうのは習慣的にやるべきだと最近読んだ別の本に書いてあったので、とりあえず書き散らします。

■ バックナンバー
『Python1年生』で勉強中(その1)

実行環境

OS・MW バージョンなど
OS Windows 10 Pro 21H2 19044.1645
Python 3.10.4
IDLE 3.10.4

やったこと

引き続き、IDLEに書籍のサンプルプログラムを入力してひたすら試していました。
その他、ときどき思いつきで書き方を変えてみたりなど。

気になったところ

Pythonについて

  • 文字列の一部を抜き出す書き方、例えば「w[1:10]」のように書く場合、
    「1番目~10番目まで抜き出す」のかと思いきや、「1番目~10番目の直前(=9番目)まで抜き出す」んですね。なんだか分かりにくいような。

  • 書籍のp79では、異なる型のデータ同士を連結させようとした場合のエラーについて記載されています。
    が、IDLEでの実行結果のエラーと、書籍に記載されているエラーに違いがありました。
    「その1」のときも同様のがありましたし、やはりどこかでまとめて調べたほうがいいですかね。

TypeError: can only concatenate str (not "int") to str

なお、書籍のp81のサンプルプログラムのエラーは、IDLEでの実行結果と一致していました。
全部が全部異なるというわけではないようです。

ValueError: invalid literal for int() with base 10: 'こんにちは'
  • 書籍には「リスト」について説明がありますが、「リスト」と「配列」はPythonではどう違うんだろうか。
    時間を取って調べたわけではないので、これもおいおい調べようとは思いますが、例えば以下の記事では、「リスト(配列)」と書いてあり、同じものであるような書き方です。
    [解決!Python]リスト(配列)の使い方まとめ - ITmedia
     
    一方、以下の記事のタイトルや冒頭をざっと眺めた感じでは、「リスト」と「配列」、さらに「多次元配列」がそれぞれ別に存在しているような雰囲気でした。
    Pythonのリストと配列とnumpy.ndarrayの違いと使い分け
     
    今のところはサンプルプログラムの実行に支障がないので保留にしておきます。
    まずは書籍を一通り進めるのが目標なので。

  • 書籍のp110のサンプルプログラムは、引数に価格を入れると税込価格(8%)にして(1.08を掛けて)返す、というものです。
    この税率を10%にして(1.1を掛けるようにして)実行してみたところ、出力が以下のようになりました。

110.00000000000001 
140.8 
1078.0 

こういう事象について、いつかどこかで見かけた気もするのですが、なにぶん不真面目なので覚えてないです。
これも「後で調べる一覧」入りということで。どんどん肥大化しそうですけど。

  • 書籍のp111のサンプルプログラムを写経した際、「random」を「ramdom」と誤記したら、実行時に「randomでは?」と教えてくれました。親切。
NameError: name 'ramdom' is not defined. Did you mean: 'random'?
  • print関数内で「,」で区切るのと、「+」で連結するのとどう違うんだろう。
    これも一覧入りで……

  • 「from turtle import *」という書き方と「import turtle」という書き方の違いがよく分かっていないので一覧入りです。
    (関数を「turtle.shape(100)」のように書かなくていいという部分は分かるんですが、「import」と「turtle」の順番が逆転している理由が分かってない)

  • calendarモジュールの実行結果、なにか違和感があるなと思ったら月曜始まりでした。

後で調べる一覧

  • 循環小数の出力が小数点以下16桁までとなる理由について
  • Pythonのバージョンによるエラーメッセージについて
  • Pythonの「リスト」「配列」「多次元配列」の違いについて
  • 『Python1年生』p110のサンプルプログラムで1.1を掛けた場合の出力の理由について
  • print関数で、「,」で区切るのと、「+」で連結するのとの違いについて
  • 「from ~~~ import *」と「import ~~~」の違いについて

余談

Qiitaに「初心者の学習記録を分類するタグ」みたいなものってあるんでしょうか。
「初心者」タグは、ざっと眺めるかぎり初心者向けの記事に使うタグみたいですし。
(それなら「初心者向け」タグで統一していいのでは……とも思いますが)

参考書籍、参考ページ

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0