بايثون العرب
10.5K subscribers
866 photos
183 videos
768 links
Download Telegram
🐍 شرح المتغيرات وأنواع البيانات الأساسية في بايثون

في بايثون، المتغيرات هي حاويات لتخزين قيم البيانات. يمكنك التفكير فيها كصناديق تحمل أسماء مختلفة، وكل صندوق يمكن أن يحتوي على نوع مختلف من المعلومات.

أنواع البيانات الأساسية:

1. Integers (أعداد صحيحة):
أعداد كاملة بدون كسور.

    age = 30
count = -10


2. Floats (أعداد عشرية):
أعداد تحتوي على فاصلة عشرية.

    price = 99.99
temperature = -5.5


3. Strings (سلاسل نصية):
تسلسل من الأحرف، محاطة بعلامات اقتباس مفردة (') أو مزدوجة (").

    name = "Ahmed"
message = 'Hello, Python!'


4. Booleans (قيم منطقية):
تمثل إما True (صحيح) أو False (خطأ). تستخدم غالباً في الشروط.

    is_active = True
has_permission = False


كيفية استخدام المتغيرات:

يمكنك إعطاء قيمة لمتغير باستخدام علامة التساوي (=). إذا أردت تغيير قيمة المتغير، فقط قم بتعيين قيمة جديدة له.

# تعريف متغير
user_name = "Ali"
print(user_name) # الناتج: Ali

# تغيير قيمة المتغير
user_name = "Sara"
print(user_name) # الناتج: Sara


#Python #Programming #Variables #DataTypes #PythonArabs
🐍 الفرق بين الأنواع القابلة للتغيير (Mutable) وغير القابلة للتغيير (Immutable) في بايثون

فهم الفرق بين الكائنات القابلة للتغيير وغير القابلة للتغيير أمر أساسي لكتابة كود بايثون فعال وتجنب الأخطاء غير المتوقعة، خاصة عند التعامل مع تمرير الكائنات للدوال أو في العمليات المتوازية.

Immutable Types (أنواع غير قابلة للتغيير):
الكائنات التي لا يمكن تغيير قيمتها بعد إنشائها. إذا قمت بتعيين قيمة جديدة لمتغير يحمل كائنًا غير قابل للتغيير، فأنت في الواقع تقوم بإنشاء كائن جديد وتعيين المتغير ليشير إليه.
أمثلة شائعة: int, float, str, tuple, bool, frozenset.

# مثال على Immutable Type (str)
my_string = "Hello"
print(f"Original string: {my_string}, ID: {id(my_string)}")

my_string = my_string + " World" # هذا ينشئ كائن string جديد
print(f"Modified string: {my_string}, ID: {id(my_string)}")

my\_tuple = (1, 2, 3)
print(f"Original tuple: {my_tuple}, ID: {id(my_tuple)}")

my_tuple = my_tuple + (4,) # هذا ينشئ كائن tuple جديد
print(f"Modified tuple: {my_tuple}, ID: {id(my_tuple)}")


Mutable Types (أنواع قابلة للتغيير):
الكائنات التي يمكن تغيير محتواها بعد إنشائها دون الحاجة لإنشاء كائن جديد. التغييرات تتم على الكائن الأصلي مباشرة.
أمثلة شائعة: list, dict, set, bytearray.

# مثال على Mutable Type (list)
my_list = [1, 2, 3]
print(f"Original list: {my_list}, ID: {id(my_list)}")

my_list.append(4) # يتم تعديل الكائن الأصلي
print(f"Modified list: {my_list}, ID: {id(my_list)}")

my_dict = {'a': 1, 'b': 2}
print(f"Original dict: {my_dict}, ID: {id(my_dict)}")

my_dict['c'] = 3 # يتم تعديل الكائن الأصلي
print(f"Modified dict: {my_dict}, ID: {id(my_dict)}")


لماذا هذا مهم؟
عند تمرير كائن Immutable إلى دالة، لا يمكن للدالة تغيير الكائن الأصلي. أما عند تمرير كائن Mutable، فيمكن للدالة تعديله، مما يؤثر على الكائن الأصلي خارج نطاق الدالة.

def modify_immutable(value):
value = value + 1 # ينشئ قيمة جديدة، ولا يؤثر على الأصل
return value

def modify_mutable(items):
items.append(10) # يعدل القائمة الأصلية

x = 5
print(f"Before modify_immutable: x = {x}")
x = modify_immutable(x)
print(f"After modify_immutable: x = {x}") # x يتغير لأننا قمنا بإعادة تعيينه

my_list_func = [1, 2]
print(f"Before modify_mutable: my_list_func = {my_list_func}")
modify_mutable(my_list_func)
print(f"After modify_mutable: my_list_func = {my_list_func}") # القائمة الأصلية تتغير


#Python #Programming #Tutorial #Mutable #Immutable #DataTypes