Grazie per la risposta 
1. Conosco bene l'identazione, la uso anche dove non ' necessario (altri linguaggi), prima l'ho scritta così perchè ero di fretta e non ho controllato gli effetti del copia-incolla.

2. Ah! Ma se io, ad esempio volessi fare un programma complesso, che comprende diversi file, dovrò pure avere il mio "public statric void main" no?
Se non ho capito male in python basta fare un piccolo script che da il via a tutto, giusto?
3. Got it!
4. Grazie per la segnalazione 
Ho provato ad eseguire il codice con tutte le modifiche che mi ha consigliato, ma se non faccio (in grossetto)
codice:
import test
def main():
a=test.Test()
a.setS1("a")
a.setS2("b")
a.stamp()
main()
mi ritorna questo errore:
codice:
Traceback (most recent call last):
File "C:/.../usotest.py", line 7, in <module>
main()
File "C:/.../usotest.py", line 5, in main a.stamp()
File "C:/...\test.py", line 13, in stamp print(self.s1,self.s2)
AttributeError: 'Test' object has no attribute 's1'
Perchè?
Non vorrei aver capito male, ma io s1 e s2 dovrei averl impostate con __init__ come "valore default", o no?