Programming – Telegram
Programming
350 subscribers
501 photos
66 videos
50 files
186 links
سایت نداره این کانال اصلا
Download Telegram
text editor :
یک نرم افزار که میتوان با آن محتوای انواع فایل ها را خواند/ادیت کرد/درست کرد مثل فایل تکست و فایل نرم افزار سی و پایتون و ...

IDE :
یک نرم افزار که با آن فقط میتوان فایل های زبان مخصوص خودش را خواند/ادیت کرد/درست کرد

معمولا IDE ها حجم سنگین تری نسبت به تکست ادیتور ها دارن به دلیل ابزار های زیاد و سنگین آن
کابرد تابع get در آبجکت های دیکشنری چیه؟
dict.get

بر فرض مثال شما یه آبجکت دیکشنری دارید به این شکل:
test = {'Hello': 'World!'}

برای این که مقدار یه کلید داخل این دیکشنری رو بدست بیارید در حالت معمولی این کار رو میکنید:
test['Hello']
و حالا بر فرض مثال اگه دیکشنری test کلید 'Hello' نداشته باشه موقع اجرا کدتون به ارور برمیخورید
خب در حالتی که ندونید تابع get توی دیکشنری ها چیکار میکنه این شکلی بدست میارید (یا میرید توی گوگل تحقیق میکنید برای بهینه ترین راه):
if 'Hello' in test.keys():
world = test['Hello']
else:
world = None

اما به نظرتون این راه درستیه؟
جواب من نه هست
چرا که میتونیم کل کد بالا رو در یک خط خلاصه کنیم:
world = test.get('Hello', None)

در این حالت اگه اگه آرگیومنت اول توی کلید های دیکشنری باشه مقدار اونو برمیگردونه و اگه نباشه آرگیومنت دوم که خودتون پاس دادید رو برمیگردونه



یه مثال پیشرفته تر از این دوست:

مثلا شما فرض کن میخوای تعداد کاراکتر های یک عباراتی رو بشمری و ببینی از هر کاراکتر چه تعداد وجود داره

Phrase="Hello World...!"
dic={}
for key in Phrase:
dic[key]=dic.get(key,0)+1
print(dic)

اگه شما اینجا به جای دیک دات گت... از dic[key] استفاده میکردی قطعا اگه کلید وجود نداشت و قطعا چون دیکشنری خالیه وجود نداره ارور KeyError میگرفتی پس گت اینجا کمک میکنه توی همین یه خط بدون از استفاده ترای اکسپت یا ایف و الس کارتو انجام بدی...

#dict
#مقدماتی
Forwarded from Zoomit | زومیت
🔹 استارلینک از نسل جدید دیش‌های خود با طراحی جدید و سایز کوچکتر رونمایی کرد.

منبع: pcmag



🚀 @theZoomit
نکته عکس رو بگید
متد os.urandom برای تولید رشته‌ای از بایت‌های تصادفی با اندازه مناسب برای استفاده رمزنگاری استفاده می‌شود یا می‌توان گفت این روش رشته‌ای حاوی کاراکترهای تصادفی تولید می‌کند.

#cryptography
#bytes
#os
مقدار دهی متغیر ها در اسمبلی
باحاله

https://www.tutorialspoint.com/assembly_programming/assembly_variables.htm
علاقه مندان مطالعه کنن
فلسفه پایتون چیست؟
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!


Persian:
ذن پایتون، اثر تیم پیترز

زیبا بهتر از زشت است.
صریح بهتر از ضمنی است.
ساده بهتر از پیچیده است.
پیچیده بهتر از پیچیده تر است.
تخت بهتر از تو در تو است.
پراکنده بهتر از متراکم است.
خوانایی مهم است.
موارد خاص آنقدر خاص نیستند که قوانین را زیر پا بگذارند.
اگرچه عملی بودن بر خلوص غلبه می کند.
خطاها هرگز نباید بی صدا بگذرند.
مگر اینکه به صراحت ساکت شود.
در مواجهه با ابهام، از وسوسه حدس زدن خودداری کنید.
باید یک - و ترجیحاً فقط یک - راه واضح برای انجام آن وجود داشته باشد.
اگرچه این راه ممکن است در ابتدا واضح نباشد مگر اینکه هلندی باشید.
الان بهتر از هرگز.
اگرچه هرگز اغلب بهتر از *در حال حاضر* نیست.
اگر توضیح پیاده سازی سخت باشد، ایده بدی است.
اگر توضیح پیاده سازی آسان باشد، ممکن است ایده خوبی باشد.
فضاهای نام یک ایده عالی برای بوق زدن هستند -- بیایید بیشتر از اینها انجام دهیم!
👍1
Programming
یه راه باحال و آسون که خودم برای رمزنگاری استفاده میکنم (قبلا باهاش باج افزار مینوشتم) بگم؟
Media is too big
VIEW IN TELEGRAM
یک مثال ساده و باحال در مورد انکریپت کردن و دیکریپت کردن داده ها در پایتون

این پست ممکنه بعد چند دیقه/ساعت/روز/ماه پاک بشه
Forwarded from Deleted Account
Deleted Account
Photo
python3.10
Programming
یک مثال ساده و باحال در مورد انکریپت کردن و دیکریپت کردن داده ها در پایتون این پست ممکنه بعد چند دیقه/ساعت/روز/ماه پاک بشه
https://gist.github.com/m0h4mad/044f40fe2b7b534166f68cb3be7328c4


نحوه جست و جوی فایل ها با پایتون

مخصوص باج افزار ها برای جست و جوی فایل های مشخص توی سیستم و انکریپت/دیکریپت کردنشون
😐😐
👎2
Programming
😐😐
چرا همه چیو با پایتون مقایسه میکنن
convert dict to object
تبدیل دیکشنری به ابجکت
————————————
import string

# pip install munch
from munch import Munch

def func(d:dict):
for i in d:
if isinstance(d[i], dict):
d[i] = func(d[i])

return Munch(d)

# test func
d = {
k:v
for k, v in zip(
string.ascii_lowercase,
[
{
k:v
}
for k,v in zip(
string.ascii_uppercase,
range(len(string.ascii_uppercase))
)
]
)
}

print(func(d).a.A)
print(func(d).b.B)
print(func(d).c.C)
print(func(d).d.D)

پ.ن1: طبق گفته دوستان این کتابخونه که استفاده کردم مصرف رمش بالاس خودتون تست کنید ببینید چه جوریه

پ.ن2: روشای دیگه ای هم هست که میتونید از اینجا مشاهده کنید
👎81👍1
Programming
convert dict to object تبدیل دیکشنری به ابجکت ———————————— import string # pip install munch from munch import Munch def func(d:dict): for i in d: if isinstance(d[i], dict): d[i] = func(d[i]) return Munch(d) # test func d =…
اینم با استفاده از شی گرایی و کلاس بدون نیاز به نصب کتابخونه
—————————————————
class Dict2Object:
def __init__(self, d):
for i in d:
if isinstance(d[i], dict):
self.__setattr__(i, self.__class__(d[i]))

else:
self.__setattr__(i, d[i])

def __str__(self) -> str:
d = self.__dict__.copy()
for i in self.__dict__:
if isinstance(self.__dict__[i], self.__class__):
d[i] = self.__dict__[i].__dict__

return str(d)

def delete(self, name:str):
self.__delattr__(name)

d = Dict2Object({'a': 1, "b": {"a": 2}})
print(d)
print(d.a)
print(d.b.a)
d.delete('b')
print(d)
👎81👍1
Programming
https://github.com/jmespath/jmespath.py
برا این که بدونید این کتابخونه چیه کافیه این سایتو مطالعه کنید
👎81👍1