text editor :
یک نرم افزار که میتوان با آن محتوای انواع فایل ها را خواند/ادیت کرد/درست کرد مثل فایل تکست و فایل نرم افزار سی و پایتون و ...
IDE :
یک نرم افزار که با آن فقط میتوان فایل های زبان مخصوص خودش را خواند/ادیت کرد/درست کرد
معمولا IDE ها حجم سنگین تری نسبت به تکست ادیتور ها دارن به دلیل ابزار های زیاد و سنگین آن
یک نرم افزار که میتوان با آن محتوای انواع فایل ها را خواند/ادیت کرد/درست کرد مثل فایل تکست و فایل نرم افزار سی و پایتون و ...
IDE :
یک نرم افزار که با آن فقط میتوان فایل های زبان مخصوص خودش را خواند/ادیت کرد/درست کرد
معمولا IDE ها حجم سنگین تری نسبت به تکست ادیتور ها دارن به دلیل ابزار های زیاد و سنگین آن
کابرد تابع get در آبجکت های دیکشنری چیه؟
خب در حالتی که ندونید تابع get توی دیکشنری ها چیکار میکنه این شکلی بدست میارید (یا میرید توی گوگل تحقیق میکنید برای بهینه ترین راه):
جواب من نه هست
چرا که میتونیم کل کد بالا رو در یک خط خلاصه کنیم:
یه مثال پیشرفته تر از این دوست:
مثلا شما فرض کن میخوای تعداد کاراکتر های یک عباراتی رو بشمری و ببینی از هر کاراکتر چه تعداد وجود داره
Phrase="Hello World...!"
dic={}
for key in Phrase:
dic[key]=dic.get(key,0)+1
print(dic)
اگه شما اینجا به جای دیک دات گت... از dic[key] استفاده میکردی قطعا اگه کلید وجود نداشت و قطعا چون دیکشنری خالیه وجود نداره ارور KeyError میگرفتی پس گت اینجا کمک میکنه توی همین یه خط بدون از استفاده ترای اکسپت یا ایف و الس کارتو انجام بدی...
#dict
#مقدماتی
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 | زومیت
متد os.urandom برای تولید رشتهای از بایتهای تصادفی با اندازه مناسب برای استفاده رمزنگاری استفاده میشود یا میتوان گفت این روش رشتهای حاوی کاراکترهای تصادفی تولید میکند.
#cryptography
#bytes
#os
#cryptography
#bytes
#os
Programming
متد os.urandom برای تولید رشتهای از بایتهای تصادفی با اندازه مناسب برای استفاده رمزنگاری استفاده میشود یا میتوان گفت این روش رشتهای حاوی کاراکترهای تصادفی تولید میکند. #cryptography #bytes #os
یه راه باحال و آسون که خودم برای رمزنگاری استفاده میکنم (قبلا باهاش باج افزار مینوشتم) بگم؟
مقدار دهی متغیر ها در اسمبلی
باحاله
https://www.tutorialspoint.com/assembly_programming/assembly_variables.htm
علاقه مندان مطالعه کنن
باحاله
https://www.tutorialspoint.com/assembly_programming/assembly_variables.htm
علاقه مندان مطالعه کنن
فلسفه پایتون چیست؟
ذن پایتون، اثر تیم پیترز
زیبا بهتر از زشت است.
صریح بهتر از ضمنی است.
ساده بهتر از پیچیده است.
پیچیده بهتر از پیچیده تر است.
تخت بهتر از تو در تو است.
پراکنده بهتر از متراکم است.
خوانایی مهم است.
موارد خاص آنقدر خاص نیستند که قوانین را زیر پا بگذارند.
اگرچه عملی بودن بر خلوص غلبه می کند.
خطاها هرگز نباید بی صدا بگذرند.
مگر اینکه به صراحت ساکت شود.
در مواجهه با ابهام، از وسوسه حدس زدن خودداری کنید.
باید یک - و ترجیحاً فقط یک - راه واضح برای انجام آن وجود داشته باشد.
اگرچه این راه ممکن است در ابتدا واضح نباشد مگر اینکه هلندی باشید.
الان بهتر از هرگز.
اگرچه هرگز اغلب بهتر از *در حال حاضر* نیست.
اگر توضیح پیاده سازی سخت باشد، ایده بدی است.
اگر توضیح پیاده سازی آسان باشد، ممکن است ایده خوبی باشد.
فضاهای نام یک ایده عالی برای بوق زدن هستند -- بیایید بیشتر از اینها انجام دهیم!
>>> import this
The Zen of Python, by Tim PetersPersian:
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!
ذن پایتون، اثر تیم پیترز
زیبا بهتر از زشت است.
صریح بهتر از ضمنی است.
ساده بهتر از پیچیده است.
پیچیده بهتر از پیچیده تر است.
تخت بهتر از تو در تو است.
پراکنده بهتر از متراکم است.
خوانایی مهم است.
موارد خاص آنقدر خاص نیستند که قوانین را زیر پا بگذارند.
اگرچه عملی بودن بر خلوص غلبه می کند.
خطاها هرگز نباید بی صدا بگذرند.
مگر اینکه به صراحت ساکت شود.
در مواجهه با ابهام، از وسوسه حدس زدن خودداری کنید.
باید یک - و ترجیحاً فقط یک - راه واضح برای انجام آن وجود داشته باشد.
اگرچه این راه ممکن است در ابتدا واضح نباشد مگر اینکه هلندی باشید.
الان بهتر از هرگز.
اگرچه هرگز اغلب بهتر از *در حال حاضر* نیست.
اگر توضیح پیاده سازی سخت باشد، ایده بدی است.
اگر توضیح پیاده سازی آسان باشد، ممکن است ایده خوبی باشد.
فضاهای نام یک ایده عالی برای بوق زدن هستند -- بیایید بیشتر از اینها انجام دهیم!
👍1
Programming
یه راه باحال و آسون که خودم برای رمزنگاری استفاده میکنم (قبلا باهاش باج افزار مینوشتم) بگم؟
Media is too big
VIEW IN TELEGRAM
یک مثال ساده و باحال در مورد انکریپت کردن و دیکریپت کردن داده ها در پایتون
این پست ممکنه بعد چند دیقه/ساعت/روز/ماه پاک بشه
این پست ممکنه بعد چند دیقه/ساعت/روز/ماه پاک بشه
Programming
یک مثال ساده و باحال در مورد انکریپت کردن و دیکریپت کردن داده ها در پایتون این پست ممکنه بعد چند دیقه/ساعت/روز/ماه پاک بشه
https://gist.github.com/m0h4mad/044f40fe2b7b534166f68cb3be7328c4
نحوه جست و جوی فایل ها با پایتون
مخصوص باج افزار ها برای جست و جوی فایل های مشخص توی سیستم و انکریپت/دیکریپت کردنشون
نحوه جست و جوی فایل ها با پایتون
مخصوص باج افزار ها برای جست و جوی فایل های مشخص توی سیستم و انکریپت/دیکریپت کردنشون
convert dict to object
تبدیل دیکشنری به ابجکت
————————————
پ.ن2: روشای دیگه ای هم هست که میتونید از اینجا مشاهده کنید
تبدیل دیکشنری به ابجکت
————————————
import stringپ.ن1: طبق گفته دوستان این کتابخونه که استفاده کردم مصرف رمش بالاس خودتون تست کنید ببینید چه جوریه
# 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)
پ.ن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
با این کتابخونه میتونید فایل ها رو به سطل زباله سیستم عامل انتقال بدید بجا حذف کردن
رو ویندوز تست شده اگه سیستم عامل دیگه ای دارید تست کنید و کامنت نتیجشو بگین
رو ویندوز تست شده اگه سیستم عامل دیگه ای دارید تست کنید و کامنت نتیجشو بگین
👎81👍1