CodeBaz.dev
682 subscribers
675 photos
108 videos
155 files
499 links
من، محمدرضا کسائی، برنامه‌نویس فول‌استک در تپسی و مدرس پایتون و جنگو در مجتمع فنی تهران هستم. در اینجا قصد دارم تجربیات و دانش خود را در زمینه‌های مختلف برنامه‌نویسی با شما به اشتراک بگذارم.
https://CodeBaz.dev
https://x.com/CodebazDev
Download Telegram
🐍 چرا زبان پایتون اسمش شد پایتون؟

شاید براتون جالب باشه که اسم زبان برنامه‌نویسی پایتون ربطی به مار پایتون نداره! 😄

در واقع، این نام از یک کمدی تلویزیونی بریتانیایی به نام "Monty Python's Flying Circus" گرفته شده. این برنامه توسط گروه کمدی معروف Monty Python ساخته شده بود که به خاطر طنز خاص و نگاه متفاوتش به دنیای اطراف شناخته می‌شه.

👨‍💻 گیدو ون راسوم، خالق زبان پایتون، زمانی که در حال انتخاب اسم برای زبان جدیدش بود، تصمیم گرفت نام پایتون رو از این برنامه کمدی بگیره چون خودش طرفدار این گروه بود و از سبک شوخ‌طبعی و نگاه متفاوتشون الهام گرفت.
#python
🆔 @CodeBazDev
👍21
استفاده از
import *

به چند دلیل بده!

یکی از این دلایل تصادف نام‌ها یا Name Collisions نام داره.

فرض کن در یک فایل جنگو می‌خوای هم از فرم‌ها استفاده کنی، هم از مدل‌ها
# ANTI-PATTERN 
from django.forms import *
from django.db.models import *

class MyForm(Form):
name = CharField()


💥 الان مشکل چیه؟
هم django.forms و هم django.db.models کلاسی به اسم CharField دارن!
چون تو import * کردی، آخرین CharField که وارد شده (models.CharField) جایگزین forms.CharField شده.

نتیجه؟ فرم به جای یک فیلد فرم معمولی، داره یه فیلد مدل استفاده می‌کنه! 🤯

نسخه صحیح
from django import forms
from django.db import models

class MyForm(forms.Form):
name = forms.CharField()

🔐 اینطوری هم کد خواناتر و ایمن‌تره، هم هیچ نامی روی دیگری تاثیر نمیذاره

شما چه مشکلات دیگه ای در مورد استفاده از import * سراغ دارید؟ کامنت بذارید 😁

#python
🆔 @CodeBazDev
👍7