Python Méthodes Spéciales et Fonctions

Voici une page résumant les fonctions natives et quelques méthodes spéciales Python


  • Les Fonctions Natives (BuiltIn)

abs()

delattr()

hash()

memoryview()

set()

all()

dict()

help()

min()

setattr()

any()

dir()

hex()

next()

slice()

ascii()

divmod()

id()

object()

sorted()

bin()

enumerate()

input()

oct()

staticmethod()

bool()

eval()

int()

open()

str()

breakpoint()

exec()

isinstance()

ord()

sum()

bytearray()

filter()

issubclass()

pow()

super()

bytes()

float()

iter()

print()

tuple()

callable()

format()

len()

property()

type()

chr()

frozenset()

list()

range()

vars()

classmethod()

getattr()

locals()

repr()

zip()

compile()

globals()

map()

reversed()

__import__()

complex()

hasattr()

max()

round()


  • Les Méthodes Spéciales

METHODE COMMENTAIRES
Objet.__new__(cls[, *args, **kwargs]) Créateur de l’instance. C’est une méthode statique qui prend en premier paramètre
obligatoire la classe de l’instance à créer.
Objet.__init__(self[, *args, **kwargs]) Initialiseur de l’instance. C’est ici qu’on initialise les attributs de l’instance.
Objet.__del__(self) Finaliseur de l’instance. Cette méthode est appelée lorsqu’un objet est sur le point d’être détruit
Objet.__repr__(self) Cette méthode calcule et renvoie une chaîne de caractères compréhensible canonique
Objet.__str__(self) Appelée par str(), print() et format().
Cette méthode renvoie une chaîne de caractère correspondant
à la représentation informelle de l’objet.
Si cette méthode n’est pas définie, alors __repr__() est utilisée à la place.

class MaClasse:
    def __init__(self, attr):
         self.attribut = attr

    def __repr__(self):
        return "MaClasse(attribut={})".format(self.attribut)

    def __str__(self):
        return "Instance de MaClasse ayant comme attribut {}".format(self.attribut)
METHODE COMMENTAIRES
Objet.__getattribute__(self, name) Cette méthode doit renvoyer l’attribut name demandé s’il existe (ou calculer sa valeur)
ou lever une exception AttributeError sinon. Dans ce cas, la méthode __getattr__() est appelée.
Objet.__getattr__(self, name) Appelée si __getattribute__() lève une exception AttributeError.
Par défaut, cette méthode fait la même chose,
mais c’est ici que l’on peut calculer des attributs dynamiques:
    des attributs qui ne sont pas initialisés mais dont on veut pouvoir calculer la valeur.
Objet.__setattr__(self, name, value) Appelée lorsque l’on assigne une valeur à un attribut
Objet.__delattr__(self, name) Appelée lorsque l’on veut détruire un attribut
     
class UnitObj(object):
    """
    DisplayUnitType.DUT_WATTS_PER_SQUARE_METER_KELVIN, you would now use UnitTypeId.WattsPerSquareMeterKelvin. 
    Where you previously used UnitType.UT_HVAC_Density, you would now use SpecTypeId.HvacDensity.
    """
    def __init__(self, objname):
        self.objname = objname          

    def __getattr__(self, name):
        if sdk_number < 2021:
            if self.objname == "DisplayUnitType": 
                return eval("Autodesk.Revit.DB.DisplayUnitType."+ name)
            elif self.objname == "UnitType":
                return eval("Autodesk.Revit.DB.UnitType."+ name)                
        else:
            if "_"  in name:
                words = name.split("_")
                name = "".join([x.title() for x in words[1:]])
                
            if self.objname == "DisplayUnitType" or self.objname == "UnitTypeId": 
                return eval("Autodesk.Revit.DB.UnitTypeId."+ name)
            
            elif self.objname == "UnitType" or self.objname == "SpecTypeId":                
                return eval("Autodesk.Revit.DB.SpecTypeId."+ name)  

        
UnitType = UnitObj("UnitType")  
DisplayUnitType = UnitObj("DisplayUnitType") 

def convertunitpara(param):
    para_length = param.AsDouble()
    #Getting Document UI Units - you nedd to precise the unit type, here it's lenght
    formatOption = Document.GetUnits(doc).GetFormatOptions(UnitType.UT_Length) #SpecTypeId by Class UnitObj Wrapper
    UIunit = formatOption.DisplayUnits if sdk_number < 2021 else formatOption.GetUnitTypeId()
    #Converting Input to internal units to user interface units
    convertto = UnitUtils.ConvertToInternalUnits(para_length, UIunit)
    #Converting Input from internal units to user interface units
    convertfrom = UnitUtils.ConvertFromInternalUnits(para_length, UIunit)
    return convertfrom                     


  • Les Surcharges d'opérateur


Les opérateurs binaire

OPERATEUR METHODES
+ __add__(self, other)
__sub__(self, other)
* __mul__(self, other)
/ __truediv__(self, other)
// __floordiv__(self, other)
% __mod__(self, other)
** __pow__(self, other)
& __and__(self, other)
^ __xor__(self, other)
| __or__(self, other)


Opérateurs de comparaison
OPERATEURS METHODES
< __lt__(self, other)
> __gt__(self, other)
<= __le__(self, other)
>= __ge__(self, other)
== __eq__(self, other)
!= __ne__(self, other)


Opérateur d'assignement
OPERATEURS METHODES
-= __isub__(self, other)
+= __iadd__(self, other)
*= __imul__(self, other)
/= __idiv__(self, other)
//= __ifloordiv__(self, other)
%= __imod__(self, other)
**= __ipow__(self, other)

Je vous conseille également de parcourir cette page

0 commentaires:

Enregistrer un commentaire