【Pythonプログラミング】特殊メソッドを解説!自作クラスをもっとカスタマイズしよう!〜 初心者向け 〜

Поделиться
HTML-код
  • Опубликовано: 29 ноя 2024

Комментарии • 28

  • @BILLIESGUITARDIARY
    @BILLIESGUITARDIARY 2 года назад +1

    最近実務でPythonから離れてしまってるのですがサプーさんの動画を拝見するだけでもPythonとの接触機会になるので重宝してます。
    ありがとうございます!

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +2

      そう言っていただけて嬉しいです!
      プログラミングしてない時期でも情報にちょこちょこ触れてると戻る時にすんなり戻れると思いますね!

  • @houwou
    @houwou 2 года назад +5

    コンストラクタ以外意識したことがなかったので非常に勉強になりました!

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      今回紹介したのは頻繁には使わないかもしれませんが「そんなことができるのか!」って感じですね!

  • @maruta3262
    @maruta3262 2 года назад +1

    こんにちは!少し時間かかりましたが、本日でPython入門の再生リストを終了しました。
    Pythonって御作法どおりにコードを書くだけですごく綺麗で見やすいコードになることが解りました♬引き続き、サプーさんの動画で学んでいきたいと思います

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      すごい!嬉しいです!!再生リストのPython入門、結構な本数ありますよね😳
      ぜひ、今後もPython関連の動画を出していく予定なので、気になるものがあれば見てもらえたらと思います!!

  • @MikuHatsune-np4dj
    @MikuHatsune-np4dj 2 года назад

    List や Dict の特殊メソッドも面白いですね

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      コメントありがとうございます!色々知ると面白いですよね!

  • @o_otaro
    @o_otaro 2 года назад

    すごくわかりやすいです!
    説明が上手ですね😊
    python始めたばかりなので助かります☺️
    チャンネル登録しますね!

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      チャンネル登録ありがとうございます!!
      Python関連の動画をたくさん出しているので、気になるトピックがあれば是非見てみてください😊

    • @o_otaro
      @o_otaro 2 года назад

      @@pythonvtuber9917 ありがとうございます!
      もし分かればでよいのですが、binaryやASCII形式で記入したデータのtextやcsv、Excelから取得したデータ(文字)がbinaryやASCIIの場合に\が\\になってしまいます😂SQLからも同じでした!
      そういったデータを文字列変換されずに取得する楽な方法はないでしょうか?
      現状、datファイルで行なっているのですごく手間がかかっております。
      わかりにくくて申し訳ないです😢
      無知な部分が多いので、動画参考になります☺️

  • @kagohdk7124
    @kagohdk7124 2 года назад +1

    普段__init__くらいしか使わないので
    特殊メソッド興味深いです!

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +2

      私も基本的には__init__くらいしか使わないのですが、ライブラリ解析しているときとかにたまに出会いますね!

  • @konstantechang2779
    @konstantechang2779 Год назад

    勉強になりました。

  • @user-hh3yf5kt5q
    @user-hh3yf5kt5q 2 года назад +1

    超ありがたいです!ありがとうございます!!!

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      この動画がお役に立てていたら嬉しいです!

  • @ti6079
    @ti6079 2 года назад +1

    addとかintとかeqとか、使わないと面倒な実装になりそうなので役に立った。

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +2

      この動画がお役に立てていたら嬉しいです!!

  • @ヒトカゲ-w9e
    @ヒトカゲ-w9e 2 года назад +3

    声可愛い

  • @imo1player
    @imo1player 9 месяцев назад

    うーん、結局メソッドの挙動は、ダンダ‐メソッドの中で定義するのだから、
    演算子の種類と同じ種類の特殊メソッドを用意する意味なくね?
    単にコードの読みやすさのための配慮ってことかな??

  • @ウェ-d6s
    @ウェ-d6s Месяц назад

    2:45

  • @Uni-Hoya
    @Uni-Hoya 2 года назад

    __str__で思い出しましたが、
    listのstrや
    f-stringの=付きで呼ばれるのが__repr__で、
    ちょっと初見殺しなんですよね
    ```
    class A:
    def __str__(self):
    return "str"
    def __repr__(self):
    return "repr"
    print(1, str(A()))
    # 1 str
    print(2, A())
    # 2 str
    print(3, f"{A()}")
    # 3 str
    print(4, [A()])
    # 4 [repr]
    print(5, f"{A()=}")
    # 5 A()=repr
    print(6, f"{A()=!s}")
    # 6 A()=str
    print(7, f"{A()!r}")
    # 7 repr
    ```

    • @Uni-Hoya
      @Uni-Hoya 2 года назад

      補足:
      __repr__はrepr()に関係する特殊メソッドで、噛み砕いて言えば、「そのオブジェクトをほぼ完璧に再生成することができるPythonコードっぽい文字列」を返すべき関数です。主にデバッグ用。
      動画にも出てきた__str__は単に「そのオブジェクトから作った文字列」を返すべき関数です。
      デバッグ用printで便利な「f-stringの=フォーマット」においてreprが使われるのは納得なんですが、
      デバッグ用とは限らない「listのstr」でreprが使われるのは一体なぜなんでしょうかね・・・?
      内部の要素にもstrを適用した方が直感的だと思うんですが🙄

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      なるほどですね!詳しい解説ありがとうございます!

  • @asumaru55
    @asumaru55 Год назад

    datetimeクラスを継承して MyDateTimeクラスを作成してみました。
    MyDateTime.now()が面倒だったので、MtDateTime()で作成しようとすると
    どうしても引数がないと怒られました。
    もしかして このときも__new__メソッドを使えば良いのでしょうか?

    • @pythonvtuber9917
      @pythonvtuber9917  Год назад

      MyDateTimeが具体的にどういうコードなのかが分かると、アドバイスできるかと思います。

    • @asumaru55
      @asumaru55 Год назад

      @@pythonvtuber9917
      ありがとうございます。
      __new__でできました。
      datetimeオブジェクトを継承させて、jpholidayと組み合わせて1つのインスタンスでできるようにできるかなぁと作ったものです。クラスの練習用に。
      毎回 now()メソッドを使うのが面倒なので、引数なしだと現在時刻をセットできればと考えた次第です。
      __init__では上手く行かなかったので__new__なら上手く行くかなぁとやってみたところできました。