Junior — Middle
Мақсади декоратори @staticmethod дар Python чист ва чӣ гуна аз усулҳои одии синф фарқ мекунад?
sobes.tech AI
Ҷавоб аз AI
Декоратори @staticmethod дар Python барои муайян кардани метод дар дохили синф истифода мешавад, ки аз намунаи синф вобаста нест ва автоматӣ параметри self-ро қабул намекунад.
Фарқиятҳо бо методҳои оддӣ:
- Методҳои оддӣ параметри аввалро
selfмегиранд — ишора ба намунаи ҳозираи синф. - Методҳои статикӣ на
selfва наcls(ишора ба синф) мегиранд.
Ин маъно дорад, ки методи статикӣ танҳо функсияи аст, ки бо синф мантиқӣ алоқаманд аст, аммо ҳолати онро истифода намебарад.
Масалан:
class MyClass:
@staticmethod
def static_method(x, y):
return x + y
def instance_method(self, x, y):
return x * y
print(MyClass.static_method(3, 4)) # 7
obj = MyClass()
print(obj.instance_method(3, 4)) # 12
Методҳои статикӣ барои функсияҳои кӯмакӣ, ки дар контексти синф маъно доранд, аммо ба маълумоти он дастрасӣ талаб намекунанд, муфиданд.