CodeBaz.dev
Открыть в Telegram
من، محمدرضا کسائی، برنامهنویس فولاستک در تپسی و مدرس پایتون و جنگو در مجتمع فنی تهران هستم. در اینجا قصد دارم تجربیات و دانش خود را در زمینههای مختلف برنامهنویسی با شما به اشتراک بگذارم. https://CodeBaz.dev https://x.com/CodebazDev
Больше703
Подписчики
Нет данных24 часа
-17 дней
-730 день
Архив постов
703
استاندارد های ماژول نویسی در پایتون!
توصیه میکنم حتما مطالعه بفرمائید.
🌐https://stackoverflow.com/questions/1523427/what-is-the-common-header-format-of-python-files
🆔 @ProgrammersFun
703
احتمالا براتون پیش اومده که موقع کار کردن با form ها تو template های django بخواید یه سری ویژگی های اون ها از جمله کلاس های css و ... رو تغییر بدین
لینک زیر یه ماژول پایتونیه که این کارو به راحتی براتون انجام میده
🌐 https://github.com/kmike/django-widget-tweaks
🆔 @ProgrammersFub
703
خلاصه ای از فهم من در مورد تفاوت بین staticmethod و classmethod در قسمت کلاس ها در پایتون:
class A(object):
def foo(self,x):
print "executing foo(%s,%s)"%(self,x)
@classmethod
def class_foo(cls,x):
print "executing class_foo(%s,%s)"%(cls,x)
@staticmethod
def static_foo(x):
print "executing static_foo(%s)"%x
a=A()
۳ مدل میشه تو کلاس ها متد تعریف کرد
۱- معمولی مثل foo
۲- کلاسمتد مثل class_foo
۳- استاتیکمتد مثل static_foo
حالت اول رو فقط میشه روی یک instance صدا زد ینی اول باید یک object از کلاس بسازی و بعد روش این تابع رو صدا بزنی. ورودی self هم که میدونید خودش ضمنی ینی به صورت اتوماتیک و زیرپوستی به متد پاس داده میشه
a.foo(1) # executing foo(<__main__.A object at 0xb7dbef0c>,1)🆔 @ProgrammersFun تو حالت دوم ینی کلاسمتد چیزی که به صورت ضمنی یا زیرپوستی به متد ارسال میشه به عنوان اولین ورودی دیگه اون instance نیست بلکه خود class هه. کلاسمتد هارو هم روی یک instance میشه صدا زد و هم خود کلاس بدون اینکه اصلا هیچ instance ای از اون ساخته باشیم
a.class_foo(1) # executing class_foo(<class '__main__.A'>,1) A.class_foo(1) # executing class_foo(<class '__main__.A'>,1)استاتیکمتد ها دیگه نه instance و نه classورودی میگیرن و کلا شبیه یک تابع معمولی که در بیرون از کلاس تعریف میشه عمل میکنن با ایت تفاوت که از طریق خود class یا instance میشه بهشون دسترسی پیدا کرد 🆔 @ProgrammersFun
