print t([]) print t([]) print t(t([])) print t(['a','b']) print t(['x'])Toto ako zaobchadza Python s listami ma tiez netesi, lebo pri priradeni list2=list1 sa vytvori len nova referencia na ten isty list. Ak chce clovek vytvorit novy list ako kopiu stareho treba urobit list2=list1[:]
def halo(meno="Vaclav"): return "Halo %s" % meno print halo() print halo ('MikRom')3. Lambda funkcie neposkytuju taku funkcionalitu ako pomenovane funkcie - ano s tym suhlasim, ale Guido sam nema zrejme lambdy rad a chcel ich v Pythone 3000 povodne aj zrusit. Zrejme si mysli, ze sa moc nepouzivaju. 4. Ze referencie nechybaju, toho dokazom je tvoj priklad s funkciou t(). Na zoznamy sa vzdy pouzivaju referencie. Swap tiez funguje
l1=['a','b'] l2=['x','y'] print "l1=%s, l2=%s" % (l1, l2) l1, l2 = l2, l1 print "l1=%s, l2=%s" % (l1, l2)Ina vec je, ze netreba explicitne dereferencovat ako v Perle. Ale to pracu so zlozitejsimi strukturami podla mna skor zjednodusuje.
if __name__ == "__main__": ...ale je to podobne ako vediet v Perle, co to je $_,@_,...