Forum >> Principianti >> Costruttore per sottoclasse con super().

Pagina: 1

Salve, sono un ingegnere meccanico, non ho grande esperienza con la programmazione, quindi mi scuso in anticipo se la domanda che pongo risulta per voi triviale.

Sto analizzando uno script python per capirne il funzionamento, in quanto contiene alcune funzioni a me necessarie per un'applicazione robotica.

class MoveGroupPythonIntefaceTutorial(object):
  """MoveGroupPythonIntefaceTutorial"""
  def __init__(self):
    super(MoveGroupPythonIntefaceTutorial, self).__init__()


Qualcuno può spiegarmi perché questa classe eredita da (object) e a cosa serve la stringa """MoveGroupPythonIntefaceTutorial""" e perché alla funzione super() passa MoveGroupPythonIntefaceTutorial e self ?

se scrivo una normale classe in questo modo è equivalente?

class MoveGroupPythonIntefaceTutorial:

  def __init__(self):

Ciao, non sono una cima ma mi hai incuriosito, il Tutorial che stai seguendo è questo qua? Ed il codice "che leggi" è forse questo?

Se si, stai affrontando una bella bestia di argomento, molto complesso che, se ho capito bene quel poco visto è basata su pattern "Publisher/subscriber", queue, etc ... roba tutt'altro che immediata

Per quello che ne so la stringa """MoveGroupPythonIntefaceTutorial""" è una doc-string praticamente inutile e la modalità di stesura del codice è un po' prolissa, forse ereditata da passate versioni di python, prolissa dicevo e, da quel che ho capito, non dovrebbe fare niente di diverso che se fosse scritta così:class MoveGroupPythonIntefaceTutorial():
  def __init__(self):
    ... resto del codice attivo senza "super"
Magari mi sbaglio, in tal caso invoco i più esperti di me che intervengano.

Ciao ed auguri per il Tuo apprendimento :)

EDIT: corretti alcuni artefatti dell'editor





--- Ultima modifica di nuzzopippo in data 2024-03-06 18:36:08 ---
Fatti non foste a viver come bruti...


Pagina: 1



Esegui il login per scrivere una risposta.