In backend way
دکوریتور property : این میاد در واقع کار دوتا فانکشنی که بالا تعریف کردیم رو انجام میده فقط با این تفاوت که دیگه نیازی نیست حتما فانکشن رو فراخوانی کنیم. @matrix_py
class user:
def __init__(self , age):
if age >=0:
self._age = age
else:
self._age = 0
@property
def age(self):
return self._age
@age.setter
def age(self , value):
if value >=0:
self._age = value
else:
raise ValueError('invalid value')
me = user(20)
print(me.age)
me.age = 40
print(me.age)
@matrix_py
In backend way
از کد نویسی دوباره جلو گیری میکنه و اطلاعاتی که داخل کلاس اول هست رو به کلاس دوم میده @matrix_py
class person:
def __init__(self,name , family):
self.name = name
self.family = family
@property
def fullname(self):
return f'{self.name} {self.family}'
class user(person):
def __init__(self , name , family , age):
super().__init__(name , family)
self.age = age
me=user('matin' , 'kalamipour' , 20)
print(me.fullname)
@matrix_py
In backend way
وراثت چندگانه توی پایتون یعنی اینکه یک کلاس میتونه از چندین کلاس مختلف ارث بری کنه @matrix_py
یه نکته ای که وجود داره موقعی که شما میخوای به یک کلاس وراثت چند گانه بدی اگه از دستور ()super استفاده کنی میاد وراثت رو به اولین کلاسی که به کلاس نسبت دادی میده
@matrix_py
@matrix_py
In backend way
یه نکته ای که وجود داره موقعی که شما میخوای به یک کلاس وراثت چند گانه بدی اگه از دستور ()super استفاده کنی میاد وراثت رو به اولین کلاسی که به کلاس نسبت دادی میده @matrix_py
class person:
def __init__(self , name):
self.name = name
print(f'{self.name} person class')
class user:
def __init__(self, name):
self.name =name
print(f'{self.name} user class')
class admin(person , user):
def __init__(self , name):
super().__init__(name)
print(f'{self.name} admin class')
me = admin('matin') # => result = matin person class , matin admin class
@matrix_py
Forwarded from Programming facts (Soheil)
نقشه راه یادگیری پایتون.
نکته مهم: رفقا به روز ها و ساعت ها توی این پست ها دقت نکنید، همش فیکن و هرکدوم از این کانسپت ها یک مدت زمان میبرن، شما فقط با ترتیب ها باید جلو برید، و خودتون با توجه به تایم و تمرینی که میکنید، یاد بگیرید🙏♥️
@soheil_programmer
نکته مهم: رفقا به روز ها و ساعت ها توی این پست ها دقت نکنید، همش فیکن و هرکدوم از این کانسپت ها یک مدت زمان میبرن، شما فقط با ترتیب ها باید جلو برید، و خودتون با توجه به تایم و تمرینی که میکنید، یاد بگیرید🙏♥️
@soheil_programmer
خب با توجه به راهی که پیش رومونه گفتم یه چشم اندازی از راهی که پیش گرفتیم بدم که هم خودم بدونم دارم چیکار میکنم و قراره بعدش چیکار کنم هم بقیه
@matrix_py
@matrix_py
خیلی خلاصه وار و مختصر بخوام بگم اینطوریه که
شما اول باید باید با ساختار شبکه اینکه چطور کار میکنه و چیزای مربوط به اینترنت آشنایی پیدا کنید
مرحله دوم باید یه زبان رو انتخاب کنید و زبان های مربوط به اون که نمیشه گفت ولی یه جور زبان هم نیاز رو هم باید یاد بگیرید مثلا من پایتون رو انتخاب کردم باید جاوا اسکریپت و رابی رو هم یاد بگیرم (رابی زیاد به چشم نمیاد ولی جاوا اسکریپت از واجباته) بعدش هم میتونید با توجه به زبانی که انتخاب کردید فریمورکی که میخواید داخلش کار کنید رو انتخاب کنید و شروع به یادگیری کنید
مرحله سوم هم که دیگه مشخصه git ,github که بعید میدونم برنامه نویسی وجود داشته باشه که با این دو عزیز بزرگوار آشنایی نداشته باشه
ازینجا به بعدش رو دیگه خودتون دستتون میاد که باید چیکار کنید با چه فریمورکی میخواید کار کنید و کار با دیتا بیس و سرور هم رو هم یاد میگیرید
@matrix_py
شما اول باید باید با ساختار شبکه اینکه چطور کار میکنه و چیزای مربوط به اینترنت آشنایی پیدا کنید
مرحله دوم باید یه زبان رو انتخاب کنید و زبان های مربوط به اون که نمیشه گفت ولی یه جور زبان هم نیاز رو هم باید یاد بگیرید مثلا من پایتون رو انتخاب کردم باید جاوا اسکریپت و رابی رو هم یاد بگیرم (رابی زیاد به چشم نمیاد ولی جاوا اسکریپت از واجباته) بعدش هم میتونید با توجه به زبانی که انتخاب کردید فریمورکی که میخواید داخلش کار کنید رو انتخاب کنید و شروع به یادگیری کنید
مرحله سوم هم که دیگه مشخصه git ,github که بعید میدونم برنامه نویسی وجود داشته باشه که با این دو عزیز بزرگوار آشنایی نداشته باشه
ازینجا به بعدش رو دیگه خودتون دستتون میاد که باید چیکار کنید با چه فریمورکی میخواید کار کنید و کار با دیتا بیس و سرور هم رو هم یاد میگیرید
@matrix_py
برای تاپل ها و ست ها نه میشه چیزی اضافه کرد نه پاک کرد و نه جایگزینی کرد کاربرد این دو ساختار هم فقط بعضی وقتا ممکنه ما برنامه ای بخوایم بیازیم که داخل اون یه بخشی ازش ممکنه نخوایم تغییری بکنه برای همین میایم از تاپل و یا ست استفاده میکنیم
@matrix_py
@matrix_py
Forwarded from Matin
سوال پایتونی 🔥:
مفهوم Generators و Coroutines در Python را توضیح دهید. یک مثال کاربردی از استفاده از آنها ارائه دهید.
Generators:
در Python توابعی هستند که مقادیر را یکی پس از دیگری تولید میکنند، به جای محاسبه و بازگرداندن یک لیست کامل. این امر منجر به صرفهجویی در حافظه و کارایی بهتر میشود.
Coroutines:
در Python نوعی توابع ویژهای هستند که میتوانند در طول اجرای خود چندین بار متوقف و از سر گرفته شوند. آنها برای انجام عملیاتهای همزمان و غیرمتوالی مانند برنامهنویسی شبکه یا برنامهنویسی رویدادی مفید هستند.
مثال کاربردی: فرض کنید میخواهیم یک تابع بنویسیم که اعداد فیبوناچی را تا یک حد مشخص تولید کند. میتوانیم از یک generator برای این کار استفاده کنیم:
در این مثال، fibonacciGenerator یک generator است که در هر بار فراخوانی، عدد بعدی در دنباله فیبوناچی را تولید میکند. این روش کارآمدتر از محاسبه و ذخیره کل دنباله در یک لیست است.
یک مثال از استفاده از coroutines:
#python
#generators #coroutines
@programmers_land
مفهوم Generators و Coroutines در Python را توضیح دهید. یک مثال کاربردی از استفاده از آنها ارائه دهید.
Generators:
در Python توابعی هستند که مقادیر را یکی پس از دیگری تولید میکنند، به جای محاسبه و بازگرداندن یک لیست کامل. این امر منجر به صرفهجویی در حافظه و کارایی بهتر میشود.
Coroutines:
در Python نوعی توابع ویژهای هستند که میتوانند در طول اجرای خود چندین بار متوقف و از سر گرفته شوند. آنها برای انجام عملیاتهای همزمان و غیرمتوالی مانند برنامهنویسی شبکه یا برنامهنویسی رویدادی مفید هستند.
مثال کاربردی: فرض کنید میخواهیم یک تابع بنویسیم که اعداد فیبوناچی را تا یک حد مشخص تولید کند. میتوانیم از یک generator برای این کار استفاده کنیم:
def fibonacciGenerator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
for num in fibonacciGenerator(10):
print(num)
در این مثال، fibonacciGenerator یک generator است که در هر بار فراخوانی، عدد بعدی در دنباله فیبوناچی را تولید میکند. این روش کارآمدتر از محاسبه و ذخیره کل دنباله در یک لیست است.
یک مثال از استفاده از coroutines:
def consumer():در این مثال، consumer یک coroutine است که دادههای دریافتی را چاپ میکند. producer یک تابع است که دادهها را به coroutine consumer ارسال میکند. این نمونهکد نشان میدهد چگونه میتوان از coroutines برای ارتباط و مبادله دادهها بین دو تابع استفاده کرد.
while True:
received = yield
print(f"Received: {received}")
def producer(consumer_coroutine):
consumer = consumer_coroutine
next(consumer) # Advance to the yield keyword
n = 0
while True:
n += 1
print(f"Producing: {n}")
consumer.send(n)
if n == 5:
break
consumer_cor = consumer()
producer(consumer_cor)
#python
#generators #coroutines
@programmers_land
Forwarded from Programming facts (Soheil)
بارها در مورد الگوریتم اینستاگرام شنیدیم! بیاین بیشتر در موردش صحبت کنیم!
اینستاگرام تمام فعالیت شما رو ثبت میکنه! اینکه چه مدت زمانی تو اینستا هستین! روی هر موضوع چند ثانیه وامیستین! کدوم موضوع ها رو رد میکنین! چند تا موضوع رو دنبال میکنین! با ریئکشنهاتون میفهمه، چند درصد خوشحالین، چقدر خشمگینین، چرا ناامیدین! تمام این اطلاعات در دو قلوی مجازی شما ثبت میشه و الگوریتم متوجه میشه کاربر x کسی هست که n ویژگی ها رو داره!
چرا اینکار رو میکنه؟ برای اینکه با استفاده از اطلاعاتی که از شما داره، محتوایی براتون پخش کنه که شما از اپلیکشنش خارج نشین!
در واقع داره سطح تعامل اپلیکیشن با آدما رو بالا میبره تا رضایت کاربران رو جلب کنه و مدت زمان بیشتری اونا رو نگه داره!
افزایش سطح تعامل تکنولوژی با انسان یکی از هدفهای اصلی شرکتهای بزرگه! الگوریتم اینستاگرام هم یکی از مثالهاش بود!
اما این افزایش تعامل مثل دو لبهی تیغ میمونه! یه لبش زندگی رو راحتتر میکنه و لبهی دیگه روی تعامل بین فردی تاثیر میذاره و ممکنه زندگی اجتماعی رو احاطه کنه!
این آدمان که باید تصمیم بگیرن کدوم لبه رو انتخاب کنن...
@soheil_programmer
اینستاگرام تمام فعالیت شما رو ثبت میکنه! اینکه چه مدت زمانی تو اینستا هستین! روی هر موضوع چند ثانیه وامیستین! کدوم موضوع ها رو رد میکنین! چند تا موضوع رو دنبال میکنین! با ریئکشنهاتون میفهمه، چند درصد خوشحالین، چقدر خشمگینین، چرا ناامیدین! تمام این اطلاعات در دو قلوی مجازی شما ثبت میشه و الگوریتم متوجه میشه کاربر x کسی هست که n ویژگی ها رو داره!
چرا اینکار رو میکنه؟ برای اینکه با استفاده از اطلاعاتی که از شما داره، محتوایی براتون پخش کنه که شما از اپلیکشنش خارج نشین!
در واقع داره سطح تعامل اپلیکیشن با آدما رو بالا میبره تا رضایت کاربران رو جلب کنه و مدت زمان بیشتری اونا رو نگه داره!
افزایش سطح تعامل تکنولوژی با انسان یکی از هدفهای اصلی شرکتهای بزرگه! الگوریتم اینستاگرام هم یکی از مثالهاش بود!
اما این افزایش تعامل مثل دو لبهی تیغ میمونه! یه لبش زندگی رو راحتتر میکنه و لبهی دیگه روی تعامل بین فردی تاثیر میذاره و ممکنه زندگی اجتماعی رو احاطه کنه!
این آدمان که باید تصمیم بگیرن کدوم لبه رو انتخاب کنن...
@soheil_programmer