Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/ninja_learn_ir/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Ninja Learn | نینجا لرن@ninja_learn_ir P.393
NINJA_LEARN_IR Telegram 393
معرفی Pydantic 🧩

ـPydantic یه کتابخونه خفنه برای پایتون که بهت اجازه می‌ده راحت و دقیق داده‌هات رو اعتبارسنجی (validation) و تایپ کنی. اگه توی پروژه‌های بزرگ کار می‌کنی، Pydantic خیلی کمکت می‌کنه چون بهت کمک می‌کنه داده‌ها رو تمیز و بی‌نقص نگه داری.


چرا Pydantic؟ 🔍

فرض کن می‌خوای داده‌های کاربر رو توی یه اپلیکیشن بگیری، اما مطمئن نیستی که داده‌ها دقیقا همونی هستن که می‌خوای. ممکنه کاربر یه مقدار اشتباه وارد کنه، یه فیلد رو جا بندازه، یا نوع داده رو اشتباه بزنه. با Pydantic، می‌تونی مطمئن باشی که همه چیز درست وارد شده و اگه چیزی اشتباه بود، خیلی راحت یه ارور می‌گیری و جلوش رو می‌گیری.


چطور کار می‌کنه؟ 🔨

ـPydantic با استفاده از مدل‌ها کار می‌کنه. مدل‌ها همون کلاس‌های پایتون هستن که به کمکشون می‌تونی ساختار داده رو تعریف کنی. بیاید با یه مثال شروع کنیم:

from pydantic import BaseModel

class User(BaseModel):
id: int
name: str
email: str
age: int = 18 # مقدار پیش‌فرض

user_data = {
"id": 1,
"name": "Ali",
"email": "ali@example.com"
}

user = User(**user_data)
print(user)

اینجا یه مدل به نام User تعریف کردیم که شامل id، name، email و age هست. اگه فیلدی رو اشتباه بدیم یا از نوعی غیر از نوع مشخص‌شده استفاده کنیم، Pydantic خطا می‌ده.


بررسی Validation در Pydantic 🛠️

ـPydantic بهت این امکان رو می‌ده که خیلی راحت داده‌ها رو اعتبارسنجی کنی. مثلا اگه بخوای مطمئن بشی که email به فرمت درستی وارد شده، Pydantic خودش اینو هندل می‌کنه و نیازی نیست دستی بررسی کنی. بیاین یه مثال دیگه رو ببینیم:

from pydantic import BaseModel, EmailStr, PositiveInt

class User(BaseModel):
id: PositiveInt
name: str
email: EmailStr
age: int = 18

try:
user = User(id=-1, name="Ali", email="ali@bad-email", age=22)
except ValueError as e:
print("خطا:", e)

اینجا PositiveInt و EmailStr رو استفاده کردیم که به طور خودکار id باید مثبت باشه و email هم باید فرمت درستی داشته باشه. این یعنی خیلی راحت می‌تونی داده‌ها رو کنترل کنی و از ورود داده‌های اشتباه جلوگیری کنی.

مدل‌های تو در تو (Nested Models) 🧬

اگه داده‌هات پیچیده‌ترن و شامل چند مدل می‌شن، می‌تونی مدل‌های تو در تو بسازی. مثلا:

from typing import List
from pydantic import BaseModel

class Address(BaseModel):
street: str
city: str

class User(BaseModel):
id: int
name: str
addresses: List[Address]

user_data = {
"id": 1,
"name": "Ali",
"addresses": [
{"street": "خیابون اول", "city": "تهران"},
{"street": "خیابون دوم", "city": "مشهد"}
]
}

user = User(**user_data)
print(user)

جمع‌بندی 🎯

فهمیدیم Pydantic یه ابزار قوی برای مدیریت و اعتبارسنجی داده‌هاست که به‌ویژه تو پروژه‌های بزرگ و APIها خیلی کمک می‌کنه. می‌تونی مدل‌های پیچیده بسازی، داده‌ها رو اعتبارسنجی کنی، و با استفاده از تایپ‌های قوی پایتون، کد تمیزتر و قابل خوانا تر بکنی.


امید وارم مفید بوده باشه :)

#python #pydantic #programing



@ninja_learn_ir
👍83👌2🔥1



tgoop.com/ninja_learn_ir/393
Create:
Last Update:

معرفی Pydantic 🧩

ـPydantic یه کتابخونه خفنه برای پایتون که بهت اجازه می‌ده راحت و دقیق داده‌هات رو اعتبارسنجی (validation) و تایپ کنی. اگه توی پروژه‌های بزرگ کار می‌کنی، Pydantic خیلی کمکت می‌کنه چون بهت کمک می‌کنه داده‌ها رو تمیز و بی‌نقص نگه داری.


چرا Pydantic؟ 🔍

فرض کن می‌خوای داده‌های کاربر رو توی یه اپلیکیشن بگیری، اما مطمئن نیستی که داده‌ها دقیقا همونی هستن که می‌خوای. ممکنه کاربر یه مقدار اشتباه وارد کنه، یه فیلد رو جا بندازه، یا نوع داده رو اشتباه بزنه. با Pydantic، می‌تونی مطمئن باشی که همه چیز درست وارد شده و اگه چیزی اشتباه بود، خیلی راحت یه ارور می‌گیری و جلوش رو می‌گیری.


چطور کار می‌کنه؟ 🔨

ـPydantic با استفاده از مدل‌ها کار می‌کنه. مدل‌ها همون کلاس‌های پایتون هستن که به کمکشون می‌تونی ساختار داده رو تعریف کنی. بیاید با یه مثال شروع کنیم:

from pydantic import BaseModel

class User(BaseModel):
id: int
name: str
email: str
age: int = 18 # مقدار پیش‌فرض

user_data = {
"id": 1,
"name": "Ali",
"email": "ali@example.com"
}

user = User(**user_data)
print(user)

اینجا یه مدل به نام User تعریف کردیم که شامل id، name، email و age هست. اگه فیلدی رو اشتباه بدیم یا از نوعی غیر از نوع مشخص‌شده استفاده کنیم، Pydantic خطا می‌ده.


بررسی Validation در Pydantic 🛠️

ـPydantic بهت این امکان رو می‌ده که خیلی راحت داده‌ها رو اعتبارسنجی کنی. مثلا اگه بخوای مطمئن بشی که email به فرمت درستی وارد شده، Pydantic خودش اینو هندل می‌کنه و نیازی نیست دستی بررسی کنی. بیاین یه مثال دیگه رو ببینیم:

from pydantic import BaseModel, EmailStr, PositiveInt

class User(BaseModel):
id: PositiveInt
name: str
email: EmailStr
age: int = 18

try:
user = User(id=-1, name="Ali", email="ali@bad-email", age=22)
except ValueError as e:
print("خطا:", e)

اینجا PositiveInt و EmailStr رو استفاده کردیم که به طور خودکار id باید مثبت باشه و email هم باید فرمت درستی داشته باشه. این یعنی خیلی راحت می‌تونی داده‌ها رو کنترل کنی و از ورود داده‌های اشتباه جلوگیری کنی.

مدل‌های تو در تو (Nested Models) 🧬

اگه داده‌هات پیچیده‌ترن و شامل چند مدل می‌شن، می‌تونی مدل‌های تو در تو بسازی. مثلا:

from typing import List
from pydantic import BaseModel

class Address(BaseModel):
street: str
city: str

class User(BaseModel):
id: int
name: str
addresses: List[Address]

user_data = {
"id": 1,
"name": "Ali",
"addresses": [
{"street": "خیابون اول", "city": "تهران"},
{"street": "خیابون دوم", "city": "مشهد"}
]
}

user = User(**user_data)
print(user)

جمع‌بندی 🎯

فهمیدیم Pydantic یه ابزار قوی برای مدیریت و اعتبارسنجی داده‌هاست که به‌ویژه تو پروژه‌های بزرگ و APIها خیلی کمک می‌کنه. می‌تونی مدل‌های پیچیده بسازی، داده‌ها رو اعتبارسنجی کنی، و با استفاده از تایپ‌های قوی پایتون، کد تمیزتر و قابل خوانا تر بکنی.


امید وارم مفید بوده باشه :)

#python #pydantic #programing



@ninja_learn_ir

BY Ninja Learn | نینجا لرن


Share with your friend now:
tgoop.com/ninja_learn_ir/393

View MORE
Open in Telegram


Telegram News

Date: |

Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. 6How to manage your Telegram channel? Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots.
from us


Telegram Ninja Learn | نینجا لرن
FROM American