[Aprender python desde cero] 41.método mágico de python (2)

Métodos mágicos relacionados con la operación.

pensar:

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

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

En el código anterior, usando el operador == para comparar dos objetos, ¿el resultado es Verdadero o Falso?¿Cuál es exactamente la comparación?

Métodos mágicos relacionados con el operador de comparación

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)

Métodos mágicos relacionados con operadores aritméticos

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

Tipo de métodos mágicos relacionados con la conversión

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')

Caso avanzado

[Python] Python se da cuenta del juego de adivinanzas: ¡desafía tu inteligencia y tu suerte!

[python] La biblioteca Python tkinter implementa un programa GUI para el convertidor de unidades de peso

[python] Use Selenium para obtener entradas (2023 Blog Star)

[python] Use Selenium y Chrome WebDriver para obtener información de artículos en [Tencent Cloud Studio Practical Training Camp]

Use el estudio Tencent Cloud Cloud para realizar la programación Baidu AI para realizar el reconocimiento de texto

[Diversión con la serie Python [Xiaobai debe ver] Rastreador de subprocesos múltiples de Python: descargue imágenes de sitios web de paquetes de emoticonos

[Serie Juega con Python] [Imprescindible para Xiaobai] Usa Python para rastrear datos históricos de Shuangseqiu y analizarlos visualmente

[Jugar con la serie python] [Imprescindible para Xiaobai] Utilice la tecnología de rastreo de Python para obtener una IP proxy y guardarla en un archivo

[Imprescindible para Xiaobai] Ejemplo de síntesis de imágenes de Python usando la biblioteca PIL para realizar la síntesis de múltiples imágenes por rangos y columnas

[Xiaobai debe ver] El combate real del rastreador de Python descarga imágenes de diosas en lotes y las guarda localmente

[Xiaobai debe ver] Análisis detallado del generador de nube de palabras de Python e implementación de código

[Xiaobai debe ver] Python rastrea un ejemplo de datos de jugadores de la NBA

[Imprescindible para Xiaobai] Código de muestra para rastrear y guardar audio del Himalaya usando Python

[Imprescindible para Xiaobai] Realización técnica del uso de Python para descargar imágenes de piel de League of Legends en lotes

[Xiaobai debe ver] Visualización y procesamiento de datos del rastreador de Python

[Imprescindible para Xiaobai] Programa rastreador de Python para obtener fácilmente imágenes de piel de héroe de King of Glory

[Imprescindible para Xiaobai] Use Python para generar una lista personalizada de documentos de Word

[Imprescindible para Xiaobai] Combate de rastreadores de Python: obtenga imágenes del sitio web de Onmyoji y guárdelas automáticamente

Xiaobai debe ver la serie de sistemas de gestión de bibliotecas: código de muestra para las funciones de inicio de sesión y registro

100 casos del combate real de Xiaobai: un programa completo y simple de sentencia ganadora de la lotería Shuangseqiu, adecuado para los primeros pasos de Xiaobai

Procesamiento y visualización de datos geoespaciales usando geopandas y shapely (.shp)

Utilice selenio para rastrear los datos de la lista de películas de Maoyan

Explicación detallada del principio y la implementación del algoritmo de mejora de imagen Retinex

Guía de introducción a los rastreadores (8): Escriba programas rastreadores de datos meteorológicos para el análisis visual

Guía introductoria a los rastreadores (7): Uso de Selenium y BeautifulSoup para rastrear la película Douban Top250 Ejemplo de explicación [Reptile Xiaobai must watch]

Guía de inicio de rastreadores (6): Anti-rastreadores y habilidades avanzadas: proxy de IP, disfraz de agente de usuario, verificación de inicio de sesión de omisión de cookies y herramientas de identificación de código de verificación

Guía introductoria a los rastreadores (5): rastreadores distribuidos y control de concurrencia [Métodos de implementación para mejorar la eficiencia del rastreo y el control de la racionalidad de las solicitudes]

Introducción a los rastreadores (4): la mejor forma de rastrear páginas web dinámicas con Selenium y API

Guía de introducción a los rastreadores (3): solicitudes de red de Python y estrategias comunes contra los rastreadores

Introducción a los rastreadores (2): cómo utilizar expresiones regulares para la extracción y el procesamiento de datos

Primeros pasos con los reptiles (1): aprenda los conceptos básicos y las habilidades de los reptiles

Aplicación del modelo de aprendizaje profundo en el reconocimiento de imágenes: práctica de conjuntos de datos CIFAR-10 y análisis de precisión

Conceptos básicos de programación orientada a objetos de Python y código de muestra

Guía de operación de la base de datos MySQL: aprenda a usar Python para agregar, eliminar, modificar y consultar operaciones

Guía de operación de archivos de Python: codificación, lectura, escritura y manejo de excepciones

Utilice Python y Selenium para automatizar el rastreo#【Convocatoria especial para el Festival del Bote del Dragón】Explore la última tecnología, y el futuro será gracias a usted"Zong" #Artículos contribuidos

Tutorial multihilo y multiproceso de Python: análisis completo, casos de código y habilidades de optimización

Conjunto de herramientas de automatización de Selenium - Guía completa y tutoriales

Tutorial de los conceptos básicos del rastreador web de Python avanzados al combate real

Tutorial introductorio de Python: domine los conocimientos básicos de for loop, while loop, operación de cadenas, lectura y escritura de archivos y manejo de excepciones

Tutorial de procesamiento y análisis de datos de Pandas: desde lo básico hasta el combate real

Explicación detallada de los tipos de datos de uso común y las operaciones relacionadas en Python

[Último en 2023] Explicación detallada de seis esquemas principales para mejorar el modelo de índice de clasificación

Introducción a los conceptos básicos y habilidades avanzadas de programación de Python, desarrollo web, análisis de datos y aprendizaje automático e inteligencia artificial

Gráfico de resultados de predicción con 4 métodos de regresión: regresión vectorial, regresión de bosque aleatorio, regresión lineal, regresión de vecinos más cercanos K

Supongo que te gusta

Origin blog.csdn.net/qq_33681891/article/details/132355952
Recomendado
Clasificación