【ゼロから学ぶPython】41.Python魔法のメソッド(2)

操作系魔法メソッド

考える:

class Person:
  def __init__(self,name,age):
    self.name = name
    self.age = age

p1 = Person('zhangsan',18)
p2 = Person('zhangsan',18)
print(p1 == p2)

上記のコードでは、== 演算子を使用して 2 つのオブジェクトを比較していますが、結果は True または False ですか? 比較とは正確には何ですか?

比較演算子関連のマジックメソッド

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __eq__(self, other):
        return self.name == other.name and self.age == other.age

    # def __ne__(self, other):

    def __lt__(self, other):
        return self.age < other.age

    # def __gt__(self, other):

    def __le__(self, other):
        return self.age <= other.age
    # def __ge__(self, other):


s1 = Student('zhangsan', 18)
s2 = Student('zhangsan', 18)
s3 = Student('lisi', 20)
print(s1 == s2)
print(s1 != s2)
print(s1 > s2)
print(s1 >= s2)
print(s1 <= s2)
print(s1 <= s2)

算術演算子に関連したマジックメソッド

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __add__(self, other):
        return self.age + other

    def __sub__(self, other):
        return self.age - other

    def __mul__(self, other):
        return self.age * other

    def __truediv__(self, other):
        return self.age / other

    def __mod__(self, other):
        return self.age % other

    def __pow__(self, power, modulo=None):
        return self.age ** power


s = Student('zhangsan', 18)
print(s + 1)  # 19
print(s - 2)  # 16
print(s * 2)  # 36
print(s / 5)  # 3.6
print(s % 5)  # 3
print(s ** 2)  # 324

型変換関連のマジックメソッド

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __int__(self):
        return self.age

    def __float__(self):
        return self.age * 1.0

    def __str__(self):
        return self.name

    def __bool__(self):
        return self.age > 18


s = Student('zhangsan', 18)
print(int(s))
print(float(s))
print(str(s))
print(bool(s))

if s:
    print('hello')

先進的な事例

【Python】Pythonで単語当てゲームを実現 - 知力と運に挑戦!

[Python] Python tkinter ライブラリは重量単位変換用の GUI プログラムを実装します

[Python] Selenium を使用して (2023 Blog Star) エントリを取得します

【Python】SeleniumとChrome WebDriverを使って「Tencent Cloud Studio実践合宿」の記事情報を取得する

Tencent Cloud Cloud Studio を使用してバイドゥ AI のスケジューリングを実現し、テキスト認識を実現します

【Pythonで楽しむシリーズ【Xiaobi必見】Pythonマルチスレッドクローラー:絵文字パッケージWebサイトの画像をダウンロード

【Pythonで遊ぶシリーズ】 【小白さん必見】Pythonを使って双世丘の履歴データをクロールして視覚的に分析する

【Pythonで遊ぶシリーズ】 【Xiaobiさん必見】Pythonクローラー技術を使ってプロキシIPを取得してファイルに保存する

【シャオバイ必見】PILライブラリを使ってランク別・列別の複数画像の合成を実現するPython画像合成例

【Xiaobai必見】Pythonクローラーの実戦は女神の写真を一括ダウンロードしてローカルに保存

【Xiaobi必見】Pythonワードクラウドジェネレーターの詳細な分析とコード実装

【Xiaobai必見】NBA選手データの例をPythonでクロール

【Xiaobiさん必見】Pythonでヒマラヤ音声をクロールして保存するサンプルコード

【シャオバイ必見】Pythonを使ってリーグ・オブ・レジェンドのスキン画像を一括ダウンロードする技術的実現

【Xiaobai必見】Pythonクローラーのデータ処理と可視化

【シャオバイ必見】栄光王のヒーロースキン画像を簡単に入手できるPythonクローラープログラム

【Xiaobiさん必見】Pythonを使ってパーソナライズされたリストのWord文書を生成する

【小白必見】Pythonクローラー戦闘:陰陽師のWebサイトから写真を取得して自動保存

Xiaobai必見の図書館管理システムシリーズ - ログインおよび登録機能のサンプルコード

小白の実戦100例:小白入門に最適な完全かつシンプルな双世丘宝くじ当選判定プログラム

geopandas と Shapely (.shp) を使用した地理空間データの処理と視覚化

セレンを使用して Maoyan の映画リスト データをクロールする

画像強調アルゴリズム Retinex の原理と実装の詳細な説明

クローラー入門ガイド (8): 視覚的な分析のための気象データ クローラー プログラムを作成する

クローラー入門 (7): Selenium と BeautifulSoup を使って Douban 映画 Top250 をクロールする例解説【爬虫類の小白さん必見】

クローラー入門ガイド (6): クローラー対策と高度なスキル: IP プロキシ、ユーザー エージェント偽装、Cookie バイパス ログイン検証および検証コード識別ツール

クローラ入門(5):分散クローラと同時実行制御 【クローリング効率向上と要求合理性制御の実装方法】

クローラー入門 (4): Selenium と API を使用して動的 Web ページをクロールする最良の方法

クローラー入門ガイド (3): Python ネットワーク リクエストと一般的なクローラー対策戦略

クローラー入門 (2): データの抽出と処理に正規表現を使用する方法

爬虫類入門(1):爬虫類の基礎とスキルを学ぶ

画像認識における深層学習モデルの応用: CIFAR-10 データセットの実践と精度分析

Python オブジェクト指向プログラミングの基本とサンプル コード

MySQL データベース操作ガイド: Python を使用して操作を追加、削除、変更、クエリする方法を学習します。

Python ファイル操作ガイド: エンコード、読み取り、書き込み、例外処理

Python と Selenium を使ってクローリングを自動化 #【ドラゴンボートフェスティバル特別募集】テクノロジーの究極を探求せよ、未来はあなたのおかげ #寄稿記事

Python マルチスレッドおよびマルチプロセスのチュートリアル: 包括的な分析、コードケース、最適化スキル

Selenium 自動化ツールセット - 完全なガイドとチュートリアル

Python Web クローラーの基礎から実戦までのチュートリアル

Python 入門チュートリアル: for ループ、while ループ、文字列操作、ファイルの読み書き、例外処理の基礎知識をマスターします。

Pandas データ処理と分析チュートリアル: 基本から実際の戦闘まで

Python でよく使用されるデータ型と関連する操作の詳細な説明

【2023年最新】分類モデルの指標を改善する6つの主要なスキームを詳しく解説

Python プログラミングの基礎と高度なスキル、Web 開発、データ分析、機械学習と人工知能の入門

4 つの回帰手法による予測結果をグラフ化: ベクトル回帰、ランダム フォレスト回帰、線形回帰、K 最近傍回帰

おすすめ

転載: blog.csdn.net/qq_33681891/article/details/132355952