en
Feedback
ערוץ - python tip israel

ערוץ - python tip israel

Open in Telegram

ערוץ מדריכים לפייתון וקוד פתוח

Show more
1 792
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
מהו assert ולמה הוא משמש? להלן התחביר הבסיסי של הצהרת assert:
assert condition, message

condition: זהו התנאי שאתה רוצה לבדוק. אם הוא שווה ל-False, נזרקת AssertionError. message: זהו הודעה אופציונלית שתוכל לספק כדי לתת יותר מידע על הטענה. דוגמאות: דוגמא 1:
x = 10
assert x > 5, "x should be greater than 5"
בדוגמה זו, מכיוון ש-x גדול מ-5, לא תתרחשנה חריגות. דוגמא 2:
my_list = [1, 2, 3]
assert len(my_list) == 3, "List length should be 3"
בדוגמה זו, התנאי בודק אם אורך my_list הוא 3, בדוגמא הוא שווה לtrue. לכן, לא נקבל שגיאות. דוגמא 3:
def divide(a, b):
    assert b != 0, "Cannot divide by zero"
    return a / b

result = divide(10, 2)
print(result
פה, ההצהרת assert מבטיחה ש- b אינו 0 לפני ביצוע החישוב. מתי נשתמש: 1. ניפוי באגים ובדיקות: נשתמש ב-הצהרות assert כדי לאמת שגיאות בקוד במהלך הפיתוח. זה יכול לעזור לנו לתפוס שגיאות בלתי צפויות בשלב מוקדם. 2. בדיקות קוד: בפרויקטים מורכבים יותר, תוכל להשתמש ב-הצהרות assert כחלק מבדיקות קוד כדי לוודא שחלקים שונים של הקוד פועלים כצפוי. 3. אימות נתונים: בעת עבודה עם נתונים, תוכל להשתמש בטענות כדי לאמת שהנתונים עומדים בפורמט או מבנה הצפוי. הערה: הצהרות assert צריכות לשמש למטרות ניפוי באגים ופיתוח. תוכלו להשבית אותם באופן גלובלי ב-Python באמצעות מתג שורת הפקודה -O (optimize) או משתנה הסביבה PYTHONOPTIMIZE, הם לא מיועדים לטיפול בטעויות בקוד אמיתי שאתם הולכים לפרסם כמו אתרי אינטרנט ספריות וקוד בפרודקשן מוד וכו'.

גיפיטי למפתחים נתקין את הספריה pip install gpt-engineer נגדיר את המשתנה סביבה לOPENAI_API_KEY לטוקן מאתר openai לינוקס: export OPENAI_API_KEY=[your_api_key_here] וינדוס: set OPENAI_API_KEY="your_api_key_here" 📁 ניצור תקיה חדשה (לא משנה השם) 🗄 ניצור קובץ בשם prompt (השם חשוב) בתוכו נכתוב את ההנחיות לgpt מה אנחנו רוצים שהוא יצור ואז נריץ gpt-engineer [folder name] את הסוגריים נחליף בשם התקיה ואז הgpt יתחיל לשאול אותכם שאלות על הקוד למי שרוצה סרטון הדרכה שמצאתי ביוטיוב על זה https://www.youtube.com/watch?v=FPZONhA0C60 הקוד מקור לספרייה בגיטהאב https://github.com/AntonOsika/gpt-engineer

איפה למדתם פייתון / תיכנות?
Anonymous voting

🕯 שבת שלום לכולם🕯 gpt for developer מוצ"ש יעלה הדרכה על ספריה ליצירת קוד עם gpt אבל!! הקבצים והתקיות יווצרו לבד ללא צורך להעתיק את הקוד...😋 וגם gpt ישאל אותכם שאלות על הקוד כדי לשפר את ההבנה שלו על איך אתם רוצים שהקוד הקוד יהיה

מרכאות מאותו סוג פעמיים בתוך f סטרינג עד לגירסא 3.12 אם תשתמשו פעמיים באותו סוג מרכאות כלומר פעמיים מרכאות כפולות או פעמיים מרכאות משולשות תקבלו שגיאה הנה דוגמא לעידכון מהdocs songs = ['Take me back to Eden', 'Alkaline', 'Ascensionism'] f"This is the playlist: {", ".join(songs)}" 'This is the playlist: Take me back to Eden, Alkaline, Ascensionism'

פייתון 3.12 שוחררה בגירסת בטא סליחה על האיחור למי שרוצה לראות מה חדש https://docs.python.org/3.12/whatsnew/3.12.html

טיפ: גישה לערך על ידי key אם אתם עובדים עם מילונים כניראה שמתם לב שאפשר לגשת לערכים בשני דרכים שונות: באמצעות סוגריים מרובעים [] או באמצעות המטודה .get(). בטח שאלתם את עצמכם איזו מתוך שתי האפשרויות עדיפה לשימוש😉 או שלא🤨 דוגמאות: 🖱 שימוש בסוגריים מרובעים:
my_dict = {'name': 'John', 'age': 30}

name = my_dict['name']
print(name)  # output: 'John'

🧲 המטודה .get():
my_dict = {'name': 'John', 'age': 30}

# גישה לערך באמצעות השיטה .get():
name = my_dict.get('name')
print(name)  # output: 'John'

🤔 אז מה ההבדל, ולמה עדיף להשתמש ב - get() במקום []? 🚫 סוגריים מרובעים: שימוש בסוגריים מרובעים [] לגישה לערכים במילון יכול להוביל ל-KeyError אם המפתח אינו קיים במילון ולעצור את ריצת התוכנית 👍 המטודה .get(): נוצרה כדי לפתור את הkeyerro ללא שימוש בtry. היא לא מעלה חריג אם המפתח לא נמצא במילון, אלא תחזיר ערך ברירת מחדל (אותו תוכלו לציין בעצמכם) או None אם המפתח אלא קיים. זה עוזר למנוע קריסות לא צפויות בתוכנית. דוגמא:
my_dict = {'name': 'John', 'age': 30}

name = my_dict.get('test', 'Unknown')
print(name)  # output: 'Unknown'
test לא קיים 🎉 סיכום: תשתמשו ב־.get() 😉

פתחתי ערוץ יוטיוב 🎉🎉 אשמח שתרשמו ופרגנו בלייקים🙏🙏 אני עובד המון כדי להביא תוכן מעניין וחדש במשך יעלה לשם הדרכות וסרטונים חדשים https://www.youtube.com/@python-tip-israel

הפיתרון שלי לבעית הקאש בשרת הchat MESSAGE_DB = fetch_post() CHANGE = False def cached(func): """ cached db check if user change or send message by check the CHANGE verable if dose it fetch all the messages from the db else return the function :param func: :return: """ @wraps(func) def check_change(*args, **kwargs): global CHANGE, MESSAGE_DB if CHANGE: MESSAGE_DB = fetch_post() CHANGE = False else: return func(*args, **kwargs) return check_change דוגמא לפונקציה שעושה שימוש בדקרטור
@app.route('/add', methods=['POST'])
@login_required
@cached
def add_message():
    global CHANGE
    form = AddMessage()
    if form.validate_on_submit():
        try:
            if not SEND:
                flash('שליחת הודעה חסומה כרגע')
                return jsonify({'send': 'False'}), 200
            CHANGE = True ###### this is the cached check #######
            message = form.message.data
            name = session.get('user_name')
            send_post(message, name)

            flash('ההודעה נשלחה בהצלחה.', 'success')
            return jsonify({'send': 'True'}), 200

        except SupabaseException:
            flash('שליחת ההודעה נכשלה. בבקשה נסה שוב מאוחר יותר.', 'error')
            return jsonify({'error': 'הודעה לא נשלחה נסה שוב.'}), 500

    flash('קרתה שגיאה נא לשלוח הודעה ללא תווים מיוחדים.', 'error')
    return jsonify({'error': 'קרתה שגיאה נסה שוב מאוחר יותר.'}), 500


הסבר כללי למי שלא הבין 😀 יש לי פונקציה שנותנת למשתמש את כל ההודעות מהמסד נתונים כל פעם שהוא נכנס לאתר הבעיה שזה לוקח המון זמן לבקש את המידע מהשרת נתונים וגם מעמיס עליו אז במקום כל פעם לבקש את הנתונים מחדש הכנתי דקרטור שרק אם המשתמש ביצע עידכון למסד נתונים הוא ישנה את המצב של המשתנה CHANGE לTrue עכשיו כל פעם שהשתמש יכנס לאתר האתר הדקרטור cached יבדוק אם היו שינוים או שעודכן מידע לשרת על ידי בדיקת המשתנה CHANGE אם היו שינוים או עידכונים לשרת ילך למסד נתונים ויבקש את הנתונים העדכנים אחרת פשוט יחזיר את הנתונים שכבר בזיכרון של השרת בתוך המשתנה MESSAGE_DB מקווה שהייתי מובן😊

האתר צאטים בקוד פתוח🕊 🙏 אשמח לעזרה והצעות לשיפור למי שמעתיק או רוצה להריץ את הקוד בעצמו נא לשים קרדיט לערוץ שלי עבדתי על זה המון https://github.com/nhman-python/chat-flask

כלי חדש נוסף באתר🎉🎉 base64 לוקח טקסט ועוד לו encode\decode https://python-tips.vercel.app/base64

@app.route('/admin', methods=['GET', 'POST']) @admin_required def admin_panel(): form = AdminForm() if request.method == 'POS
@app.route('/admin', methods=['GET', 'POST']) @admin_required def admin_panel(): form = AdminForm() if request.method == 'POST' and form.validate_on_submit(): locked = form.lock_web.data if locked: admin_lock() flash("Website locked successfully!", "success") else: admin_unlock() flash("Website unlocked successfully!", "success") return render_template_string(ADMIN, form=form)

האם להוסיף אימות דרך מייל במקום לאשר כל משתמש ידנית?
Anonymous voting

טיפ: לאלא שמסתבכים בבניה של הלוגיקה לאתרים או דברים כאלה אל תחשבו על איך יראה האתר תחשבו קודם כל מה אתם רוצים שהוא יעשה ומה צריך בשביל זה תבנו את הפונקציות הנצרכות לדוגמא פונקציה למשיכת כל ההודעות מהשרת ואחרי זה תבנו את הhtml עצמו אפשר אפילו להעזר בchat gpt לאלו שלא הכי יודעים html css js ... @app.route('/fetch-message') @login_required def fetch_all(): return jsonify({'message': fetch_post()})

עובד על פאנל ניהול בסיסי 🗝 שבו המנהל יוכל להשבית אפשרות שליחה או לנעול את האתר ועוד כמה פיטצרים בהמשך יעלה את זה כקוד פתוח

האתר צאטים באוויר🎉🎉🎉🎉🎉 מוזמנים להירשם ויאשר אותכם https://chat-python.vercel.app/ מי שנרשם שישלח פה את השם משתמש יאשר אותו

שבת שלום לכל חברי הקבוצה🙏 נוסף הכלי שמאריך קישורים לאתר הכלים (+ עיצוב משופר) https://python-tips.vercel.app/redirect-url הקבוצה סגורה עד צאת השבת🥂

מוצ"ש יעלה הדרכה איך ליצור אתר עם hcaptch