👇نمونش کامل 👇
import re
# Lexer: تبدیل کد به توکنها
def lexer(code):
tokens = []
for line in code.splitlines():
line = line.strip()
if line:
if line.startswith("PRINT"):
tokens.append(("PRINT", line[6:]))
elif line.startswith("SET"):
match = re.match(r"SET (\w+) (.+)", line)
if match:
tokens.append(("SET", match.group(1), match.group(2)))
elif line.startswith("ADD"):
match = re.match(r"ADD (\w+) (\w+)", line)
if match:
tokens.append(("ADD", match.group(1), match.group(2)))
return tokens
# Parser: تبدیل توکنها به دستورات قابل اجرا
def parser(tokens):
commands = []
for token in tokens:
if token[0] == "PRINT":
commands.append(("PRINT", token[1]))
elif token[0] == "SET":
commands.append(("SET", token[1], token[2]))
elif token[0] == "ADD":
commands.append(("ADD", token[1], token[2]))
return commands
# Interpreter: اجرای دستورات
def interpreter(commands):
variables = {}
for command in commands:
if command[0] == "PRINT":
if command[1] in variables:
print(variables[command[1]])
else:
print(command[1])
elif command[0] == "SET":
variables[command[1]] = eval(command[2], {}, variables)
elif command[0] == "ADD":
if command[1] in variables and command[2] in variables:
variables[command[1]] += variables[command[2]]
return variables
# کد نمونه MiniLang
code = """
SET x 5
SET y 10
ADD x y
PRINT x
"""
# اجرای مراحل Lexer، Parser و Interpreter
tokens = lexer(code)
commands = parser(tokens)
interpreter(commands)
👍6
🔴اینو جواب بدید دیگه خدایش میخام برای منظم شدن چنل
Anonymous Poll
76%
تازه کار هستم 🥺
24%
کهنه کار و حرفه ای🤫😏
سلام دوستان ❤️
ادمین جدید هستم
امیدوارم از من خوشتون بیاد 😅
قراره چالش ها و دانستنی های زیادی درباره پایتون داشته باشیم✔️
ریاکشن بیشتر = حمایت از ما ❤️ 👇
ادمین جدید هستم
امیدوارم از من خوشتون بیاد 😅
قراره چالش ها و دانستنی های زیادی درباره پایتون داشته باشیم✔️
ریاکشن بیشتر = حمایت از ما ❤️ 👇
❤5👍2
Python3
🔴اینو جواب بدید دیگه خدایش میخام برای منظم شدن چنل
برای بهتر شدن پست های چنل ، لطفاً جواب این نظرسنجی رو بدید 🥰
👍6
🌟 ۷ خبر مهم امروز از دنیای پایتون 🌟
📰 #1: گوگل سرویس جدید Cloud AI Notebooks را با پشتیبانی از پایتون عرضه کرد ☁️🤖
امروز گوگل سرویس Cloud AI Notebooks را معرفی کرد. این سرویس به طور ویژه برای پروژههای هوش مصنوعی و یادگیری ماشین طراحی شده و از پایتون پشتیبانی میکند. گوگل اعلام کرده که این ابزار جدید به توسعهدهندگان کمک میکند تا سریعتر و کارآمدتر کار کنند.
📰 #2: انتشار نسخه جدید FastAPI 0.70 🚀
کتابخانه محبوب FastAPI نسخه 0.70 خود را منتشر کرد. این نسخه شامل بهبودهایی در مستندات و رفع برخی باگها است. توسعهدهندگان میتوانند از این بهروزرسانیها برای ساخت APIهای سریع و کارآمدتر بهره ببرند.
📰 #3: معرفی ابزار جدید Poetry برای مدیریت وابستگیها 📦
ابزار Poetry به عنوان یک ابزار قدرتمند برای مدیریت وابستگیها و بستهبندی پروژههای پایتون معرفی شده است. این ابزار با استفاده آسان و ویژگیهای متنوع خود، جایگزین مناسبی برای pip و virtualenv محسوب میشود.
📰 #4: پیشرفتهای جدید در Pandas 1.3.3 🧮
کتابخانه Pandas نسخه 1.3.3 خود را منتشر کرد. این نسخه شامل بهبودهایی در عملکرد و افزایش قابلیتهای جدید برای تجزیه و تحلیل دادهها میباشد. اگر با دادهها کار میکنید، حتماً به این بهروزرسانی نگاهی بیاندازید.
📰 #5: معرفی دوره جدید "Machine Learning with Python" توسط Coursera 📚
پلتفرم آموزشی Coursera دوره جدیدی با عنوان "Machine Learning with Python" را معرفی کرد. این دوره توسط متخصصان برجسته طراحی شده و برای تمامی سطوح مناسب است. اگر به یادگیری ماشین علاقه دارید، این دوره را از دست ندهید.
📰 #6: برگزاری کنفرانس PyCon 2024 در آمستردام 🇳🇱
خبر هیجانانگیز برای علاقهمندان به پایتون! کنفرانس سالانه PyCon 2024 در آمستردام برگزار خواهد شد. این رویداد فرصتی عالی برای شبکهسازی و آشنایی با آخرین پیشرفتها و ابزارهای پایتون فراهم میکند.
📰 #7: بهروزرسانی افزونه VSCode برای توسعهدهندگان پایتون 🛠️
افزونه VSCode برای توسعهدهندگان پایتون بهروز شده و امکانات جدیدی از جمله تکمیل خودکار کد و دیباگینگ پیشرفته به آن افزوده شده است. این بهروزرسانی تجربه توسعه با پایتون را بهبود میبخشد و کار را برای برنامهنویسان راحتتر میکند.
📢 با دنبال کردن کانال تلگرام ما، از آخرین اخبار و بهروزرسانیهای دنیای پایتون مطلع شوید!
(اینجا کلیک کن تا از اخبار مهم پایتون با خبر باشی)
#Python #Google #AI #FastAPI #Python #Poetry #DependencyManagement #MachineLearning #Python
#VSCode #IDE #Python
#PythonNews #TelegramChannel
📰 #1: گوگل سرویس جدید Cloud AI Notebooks را با پشتیبانی از پایتون عرضه کرد ☁️🤖
امروز گوگل سرویس Cloud AI Notebooks را معرفی کرد. این سرویس به طور ویژه برای پروژههای هوش مصنوعی و یادگیری ماشین طراحی شده و از پایتون پشتیبانی میکند. گوگل اعلام کرده که این ابزار جدید به توسعهدهندگان کمک میکند تا سریعتر و کارآمدتر کار کنند.
📰 #2: انتشار نسخه جدید FastAPI 0.70 🚀
کتابخانه محبوب FastAPI نسخه 0.70 خود را منتشر کرد. این نسخه شامل بهبودهایی در مستندات و رفع برخی باگها است. توسعهدهندگان میتوانند از این بهروزرسانیها برای ساخت APIهای سریع و کارآمدتر بهره ببرند.
📰 #3: معرفی ابزار جدید Poetry برای مدیریت وابستگیها 📦
ابزار Poetry به عنوان یک ابزار قدرتمند برای مدیریت وابستگیها و بستهبندی پروژههای پایتون معرفی شده است. این ابزار با استفاده آسان و ویژگیهای متنوع خود، جایگزین مناسبی برای pip و virtualenv محسوب میشود.
📰 #4: پیشرفتهای جدید در Pandas 1.3.3 🧮
کتابخانه Pandas نسخه 1.3.3 خود را منتشر کرد. این نسخه شامل بهبودهایی در عملکرد و افزایش قابلیتهای جدید برای تجزیه و تحلیل دادهها میباشد. اگر با دادهها کار میکنید، حتماً به این بهروزرسانی نگاهی بیاندازید.
📰 #5: معرفی دوره جدید "Machine Learning with Python" توسط Coursera 📚
پلتفرم آموزشی Coursera دوره جدیدی با عنوان "Machine Learning with Python" را معرفی کرد. این دوره توسط متخصصان برجسته طراحی شده و برای تمامی سطوح مناسب است. اگر به یادگیری ماشین علاقه دارید، این دوره را از دست ندهید.
📰 #6: برگزاری کنفرانس PyCon 2024 در آمستردام 🇳🇱
خبر هیجانانگیز برای علاقهمندان به پایتون! کنفرانس سالانه PyCon 2024 در آمستردام برگزار خواهد شد. این رویداد فرصتی عالی برای شبکهسازی و آشنایی با آخرین پیشرفتها و ابزارهای پایتون فراهم میکند.
📰 #7: بهروزرسانی افزونه VSCode برای توسعهدهندگان پایتون 🛠️
افزونه VSCode برای توسعهدهندگان پایتون بهروز شده و امکانات جدیدی از جمله تکمیل خودکار کد و دیباگینگ پیشرفته به آن افزوده شده است. این بهروزرسانی تجربه توسعه با پایتون را بهبود میبخشد و کار را برای برنامهنویسان راحتتر میکند.
📢 با دنبال کردن کانال تلگرام ما، از آخرین اخبار و بهروزرسانیهای دنیای پایتون مطلع شوید!
(اینجا کلیک کن تا از اخبار مهم پایتون با خبر باشی)
#Python #Google #AI #FastAPI #Python #Poetry #DependencyManagement #MachineLearning #Python
#VSCode #IDE #Python
#PythonNews #TelegramChannel
👍2
دانستی مخفی درباره پایتون 🐍
صبح بخیر دوستان! 🌞 آیا میدانستید که در پایتون، میتوانید از توابعی استفاده کنید که درون خودشان صدا زده میشوند، به این حالت توابع بازگشتی میگویند (Recursion)!؟ شاید این ویژگی برای بسیاری ناشناخته باشد، اما با استفاده از این روش، میتوانید مسائل پیچیده را به سادگی حل کنید.
یک مثال ساده از توابع بازگشتی، محاسبه فاکتوریل یک عدد است:
روز خوبی داشته باشید! ☀️
[اینم لینک کانال ما ]
#Python #Recursion #CodingTips #ProgrammingSecrets #صبح_بخیر #پایتون #نکته_پایتون
صبح بخیر دوستان! 🌞 آیا میدانستید که در پایتون، میتوانید از توابعی استفاده کنید که درون خودشان صدا زده میشوند، به این حالت توابع بازگشتی میگویند (Recursion)!؟ شاید این ویژگی برای بسیاری ناشناخته باشد، اما با استفاده از این روش، میتوانید مسائل پیچیده را به سادگی حل کنید.
یک مثال ساده از توابع بازگشتی، محاسبه فاکتوریل یک عدد است:
def factorial(n):در این مثال، تابع factorial خودش را برای مقدارهای کوچکتر از n صدا میزند تا به مقدار نهایی برسد. این نکته کوچک میتواند برای بسیاری از مسائل ریاضی و الگوریتمی، کد شما را بسیار کوتاهتر و کارآمدتر کند. 🌟
if n == 1:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # خروجی: 120
روز خوبی داشته باشید! ☀️
[اینم لینک کانال ما ]
#Python #Recursion #CodingTips #ProgrammingSecrets #صبح_بخیر #پایتون #نکته_پایتون
👍1
نظرتون چیه یه چالش یهویی برگذار کنیم😅🏆
توجه : چالش جایزه خاصی نداره فقط برای اندازه گیری توان شما در کدنویسی هست ❗️
توجه : چالش جایزه خاصی نداره فقط برای اندازه گیری توان شما در کدنویسی هست ❗️
👍5
پارت ۱۱: مفاهیم پایه برنامهنویسی شیءگرا (OOP) در پایتون 🐍📘
در این پارت، به مفاهیم پایه برنامهنویسی شیءگرا (Object-Oriented Programming یا به اختصار OOP) در پایتون میپردازیم. OOP یک پارادایم برنامهنویسی است که از اشیاء و کلاسها برای ساختاردهی و مدیریت کد استفاده میکند.
۱. تعریف کلاس و شیء
کلاسها قالبی برای ایجاد اشیاء هستند. یک کلاس میتواند شامل متغیرها (ویژگیها) و توابع (روشها) باشد.
تعریف یک کلاس ساده
توضیح: در این مثال، کلاسی به نام
۲. سازندهها (Constructors)
سازندهها متدی هستند که هنگام ایجاد یک شیء از کلاس فراخوانی میشوند. در پایتون، سازنده با in
استفاده از سازنده
توضinit
۳. متدها (Methods)
متدها توابعی هستند که در داخل کلاس تعریف میشوند و میتوانند به ویژگیها و دیگر متدهای کلاس دسترسی داشته باشند.
تعریف متد
توضیح: متد
۴. وراثت (Inheritance)
وراثت به شما اجازه میدهد تا یک کلاس جدید ایجاد کنید که تمام ویژگیها و متدهای یک کلاس دیگر را به ارث میبرد.
تعریف وراثت
توضیح: کلاس
۵. چندریختی (Polymorphism)
چندریختی به شما اجازه میدهد تا از یک رابط یکسان برای انواع مختلف اشیاء استفاده کنید.
تعریف چندریختی
توضیح: در این مثال، تابع
۶. مخفیسازی داده (Encapsulation)
مخفیسازی داده به شما اجازه میدهد تا دسترسی به ویژگیهای یک کلاس را محدود کنید.
تعریف مخفیسازی داده
توضیح: در name و یژگیهای
چند تا مثال هم ببینیم👇
در این پارت، به مفاهیم پایه برنامهنویسی شیءگرا (Object-Oriented Programming یا به اختصار OOP) در پایتون میپردازیم. OOP یک پارادایم برنامهنویسی است که از اشیاء و کلاسها برای ساختاردهی و مدیریت کد استفاده میکند.
۱. تعریف کلاس و شیء
کلاسها قالبی برای ایجاد اشیاء هستند. یک کلاس میتواند شامل متغیرها (ویژگیها) و توابع (روشها) باشد.
تعریف یک کلاس ساده
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name} is barking.")
# ایجاد یک شیء از کلاس
my_dog = Dog("Buddy", 3)
print(my_dog.name) # خروجی: Buddy
my_dog.bark() # خروجی: Buddy is barking.
توضیح: در این مثال، کلاسی به نام
Dog
تعریف کردهایم که دارای ویژگیهای name
و age
و یک روش به نام bark
است. سپس شیئی از این کلاس ایجاد کرده و از روشهای آن استفاده کردهایم.۲. سازندهها (Constructors)
سازندهها متدی هستند که هنگام ایجاد یک شیء از کلاس فراخوانی میشوند. در پایتون، سازنده با in
itit__ ش
ناخته میشود.استفاده از سازنده
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
# ایجاد یک شیء با استفاده از سازنده
my_dog = Dog("Buddy", 3)
print(my_dog.name) # خروجی: Buddy
توضinit
__init__
به عنوان سازنده در هنگام ایجاد شیء فراخوانی میشود و ویژگیهای name
و age
را مقداردهی میکند.۳. متدها (Methods)
متدها توابعی هستند که در داخل کلاس تعریف میشوند و میتوانند به ویژگیها و دیگر متدهای کلاس دسترسی داشته باشند.
تعریف متد
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name} is barking.")
# استفاده از متد
my_dog = Dog("Buddy", 3)
my_dog.bark() # خروجی: Buddy is barking.
توضیح: متد
bark
در کلاس Dog
تعریف شده و از ویژگی name
استفاده میکند.۴. وراثت (Inheritance)
وراثت به شما اجازه میدهد تا یک کلاس جدید ایجاد کنید که تمام ویژگیها و متدهای یک کلاس دیگر را به ارث میبرد.
تعریف وراثت
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print(f"{self.name} is eating.")
class Dog(Animal):
def bark(self):
print(f"{self.name} is barking.")
# استفاده از وراثت
my_dog = Dog("Buddy")
my_dog.eat() # خروجی: Buddy is eating.
my_dog.bark() # خروجی: Buddy is barking.
توضیح: کلاس
Dog
از کلاس Animal
وراثت میبرد و به ویژگیها و متدهای آن دسترسی دارد.۵. چندریختی (Polymorphism)
چندریختی به شما اجازه میدهد تا از یک رابط یکسان برای انواع مختلف اشیاء استفاده کنید.
تعریف چندریختی
class Cat(Animal):
def meow(self):
print(f"{self.name} is meowing.")
# تعریف تابعی که از چندریختی استفاده میکند
def make_sound(animal):
if isinstance(animal, Dog):
animal.bark()
elif isinstance(animal, Cat):
animal.meow()
# استفاده از چندریختی
my_dog = Dog("Buddy")
my_cat = Cat("Kitty")
make_sound(my_dog) # خروجی: Buddy is barking.
make_sound(my_cat) # خروجی: Kitty is meowing.
توضیح: در این مثال، تابع
make_sound
از چندریختی استفاده میکند تا با اشیاء مختلف از کلاسهای Dog
و Cat
تعامل داشته باشد.۶. مخفیسازی داده (Encapsulation)
مخفیسازی داده به شما اجازه میدهد تا دسترسی به ویژگیهای یک کلاس را محدود کنید.
تعریف مخفیسازی داده
class Dog:
def __init__(self, name, age):
self.__name = name # ویژگی خصوصی
self.__age = age # ویژگی خصوصی
def get_name(self):
return self.__name
def get_age(self):
return self.__age
# استفاده از مخفیسازی داده
my_dog = Dog("Buddy", 3)
print(my_dog.get_name()) # خروجی: Buddy
print(my_dog.get_age()) # خروجی: 3
توضیح: در name و یژگیهای
__name
و __age
خصوصی هستند و فقط از طریق متدهای get_name
و get_age
قابل دسترسی هستند.چند تا مثال هم ببینیم👇
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍4