پایتون | python | برنامهنویسی | comma.code
سلام به اعضای جدید . خیلی خوش اومدین ❤️❤️ #چالش #جایزه 💵✨⚡️ خوب طبق قولی که دادم یه چالش جایزه دار داریم شما باید یک ورودی عددی دریافت کنید و مثلث خیام(پاسکال) رو به تعداد سطر ورودی تون+۱ بسازید سورس کدی که بهینه تر باشه و زیبا تر پیاده سازی کنه برنده میشه.…
جواب چالش قبل
توضیحاتش رو وقتی جای ساکتی پیدا کردم به شکل ویس ارسال میکنم
دوتا چالش ۱۵۰ تومن دیگه داریم که بعد ارسالش کلا با رای گیری و... هر کدوم ۵ روز فرصت خواهند داشت
🙏❤️
@comma_code_python1
@comma_code_python
#comma_code_python
x=int(input())
r_list=[[1]]
for i in range(x):
r=[1]
for j in range(len(r_list[i])):
try:
v=r_list[i][j]+r_list[i][j+1]
except:
v=1
r.append(v)
r_list.append(r)
for i in r_list:
s=" "*(len(r_list[-1])-len(i))+"".join([f"{j:6}" for j in i])
print(s)
توضیحاتش رو وقتی جای ساکتی پیدا کردم به شکل ویس ارسال میکنم
دوتا چالش ۱۵۰ تومن دیگه داریم که بعد ارسالش کلا با رای گیری و... هر کدوم ۵ روز فرصت خواهند داشت
🙏❤️
@comma_code_python1
@comma_code_python
👍6🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
اینم خیلی وقت پیش زمان کرونا زدم گفتم بزارم براتون(ویروس کرونا😅)
ماژول turtle# یه ماژول گرافیکی هستش که میتونید باهاش اشکال و موارد مختلفی رو طراحی یا بکشید و همینطور یکی از ماژول های جذاب برای آموزش پایتون برای افراد با سنین پایین هستش
اینم سورسش:
لطفا در صورت استفاده منبع هم ذکر بشه🙏🙏
@comma_code_python
@comma_code_python1
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🇮🇷
ماژول turtle# یه ماژول گرافیکی هستش که میتونید باهاش اشکال و موارد مختلفی رو طراحی یا بکشید و همینطور یکی از ماژول های جذاب برای آموزش پایتون برای افراد با سنین پایین هستش
اینم سورسش:
#comma_code_python
from turtle import *
hideturtle()
bgcolor("black")
color("red")
speed(-1)
pensize(1.5)
penup()
goto(0,400)
pendown()
b=0
while b<400:
right(b/2)
forward(b*3.5)
b+=1
done()
#comma_code_python
لطفا در صورت استفاده منبع هم ذکر بشه🙏🙏
@comma_code_python
@comma_code_python1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2🤯1
سلام
داشتم یه نکته ای رو در جایی میخوندم که دیدم جالبه و خواستم بگم. این نکته بهتون کمک میکنه در اکثر مواقع حجم استفاده برنامه شما از حافظه در چیزی حدود ۶۰ درصد کمتر بشه.
شما میدونید که وقتی دارید یک کلاس میسازید هر شی یه دیکشنری
نمونه این چنین کلاس ها:
در مقابل ما میتونم با
نمونه چنین کلاسی:
🔰تفاوت ها:
روش اول و حالت عادی
در این حالت نمونه ما کاملا پویا هستش و میتونیم ویژگی هایی بهش اضافه کنیم ولی حافظه بیشتری اشغال میکنه و همینطور جستجو کردن هم در ین مورد کندتر هستش
روش دوم و استفاده از slots
در این حالت نمونه ما پویا نیست و نمیشه بهش ویژگی اضافه کرد ولی از حافظه کمتری استفاده میکنه و همینطور سرعت جستجو بالاتر هستش. باید اضافه کنیم اگر ارث بری اتفاق افتاد و نیاز بود که کلاس فرزند ویژگی جدید داشته باشه باید slots خودش رو تعریف کنه
نکته: تفاوت حجم استفاده از حافظه در ساخت نمونه در تعداد پایین زیاد نیست و در این حالت پیشنهاد نمیکنم که از slots استفاده کنید ولی در ساخت تعداد نمونه زیاد برای مثال ۱۰۰۰۰ عددی این تفاوت کاملا حس میشه.
📊حالا بریم با یه اسکریپت تفاوت میزان فضای اشغالی این دو حالت رو در تعداد 100,000 عدد نمونه برسی کنیم.
امیدوارم براتون مفیده بوده باشه🙏😘
نظرات خودتون رو حتما کامنت کنید👌📝
#python #programing #memory_optimization #programming_tips #comma_code #comma_code_python
#پایتون #برنامه_نویسی #حافظه #بهینه_سازی #نکته #کاما_کد
📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
داشتم یه نکته ای رو در جایی میخوندم که دیدم جالبه و خواستم بگم. این نکته بهتون کمک میکنه در اکثر مواقع حجم استفاده برنامه شما از حافظه در چیزی حدود ۶۰ درصد کمتر بشه.
شما میدونید که وقتی دارید یک کلاس میسازید هر شی یه دیکشنری
__dict__ داره که ویژگی ها و مقادیر اون ویژگی ها رو نگهداری میکنه. باید بدونید این دیکشنری برای ساده ترین اشیا سربار حافظه قابل توجهی تولید میکنه .نمونه این چنین کلاس ها:
class N_user:
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
در مقابل ما میتونم با
__slots__ پیشاپیش ویژگی ها رو اعلام کنیم تا برای هر شی یک ساختار آرایه ای در نظر گرفته بشه که فقط فضا برای نگهداری ویژگی هایی که تعریف کردیم رو داشته باشه.این کار باعث میشه سربار حافظه مربوط به دیکشنری کامل حذف بشهنمونه چنین کلاسی:
class S_user:
__slots__=["name","age","loc"]
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
🔰تفاوت ها:
روش اول و حالت عادی
در این حالت نمونه ما کاملا پویا هستش و میتونیم ویژگی هایی بهش اضافه کنیم ولی حافظه بیشتری اشغال میکنه و همینطور جستجو کردن هم در ین مورد کندتر هستش
روش دوم و استفاده از slots
در این حالت نمونه ما پویا نیست و نمیشه بهش ویژگی اضافه کرد ولی از حافظه کمتری استفاده میکنه و همینطور سرعت جستجو بالاتر هستش. باید اضافه کنیم اگر ارث بری اتفاق افتاد و نیاز بود که کلاس فرزند ویژگی جدید داشته باشه باید slots خودش رو تعریف کنه
همچنین در این حالت اگر به قابلیت های خاص مثل dict یا weakref نیاز دارید میتونید اونها رو به slots اضافه کنید.نکته: تفاوت حجم استفاده از حافظه در ساخت نمونه در تعداد پایین زیاد نیست و در این حالت پیشنهاد نمیکنم که از slots استفاده کنید ولی در ساخت تعداد نمونه زیاد برای مثال ۱۰۰۰۰ عددی این تفاوت کاملا حس میشه.
📊حالا بریم با یه اسکریپت تفاوت میزان فضای اشغالی این دو حالت رو در تعداد 100,000 عدد نمونه برسی کنیم.
from sys import getsizeof as size
class N_user:
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
def age_up(self):
self.age+=1
class S_user:
__slots__=["name","age","loc"]
def __init__(self,name,age,loc):
self.name=name
self.age=age
self.loc=loc
def age_up(self):
self.age+=1
range=range(100000)
N_users=[N_user("name",10,(10,10)) for _ in range]
S_users=[S_user("name",10,(10,10)) for _ in range]
n_memory=sum(size(i)+size(i.__dict__) for i in N_users)
s_memory=sum(size(i) for i in S_users)
print(f"n_users= {n_memory/1024/1024} MB")
print(f"s_users= {s_memory/1024/1024} MB")
print(f"frugality= {(1 - s_memory / n_memory) * 100:.1f}%")
امیدوارم براتون مفیده بوده باشه🙏
نظرات خودتون رو حتما کامنت کنید👌
#python #programing #memory_optimization #programming_tips #comma_code #comma_code_python
#پایتون #برنامه_نویسی #حافظه #بهینه_سازی #نکته #کاما_کد
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3❤2