English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستتعلم أنواع البيانات المختلفة التي يمكن استخدامها في بايثون.
لدي كل قيمة نوع في بايثون. نظرًا لأن كل شيء في برمجة بايثون هو عنصر، فإن نوع البيانات هو في الواقع فئة، بينما هو متغير هو مثال على هذه الفئات (العناصر).
يوجد أنواع متعددة في بايثون. يتم عرض بعض الأنواع المهمة أدناه.
تتبع الأعداد الصحيحة والأعداد العشرية والأعداد المعقدة فئة الأعداد في بايثون. في بايثون، يتم تعريفها كفئات int، float و complex.
يمكننا استخدام دالة type() لتحديد أي فئة ينتمي إليها متغير أو قيمة. بنفس الطريقة، تستخدم دالة isinstance() للتحقق مما إذا كان العنصر ينتمي إلى فئة معينة.
a = 5 print(a, "نوعه هو", type(a)) a = 2.0 print(a, "نوعه هو", type(a)) a = 1+2j print(a, "هل هو عدد معقد؟", isinstance(1+2j, complex))
كمية الإخراج
نوع 5 هو <class 'int'> نوع 2.0 هو <class 'float'> (1+2j) هل هو عدد معقد؟ True
يمكن أن تكون الأعداد الصحيحة أي طول، ولكنها معتمدة على محدودية الذاكرة المتاحة.
يمكن أن تكون الأرقام العشرية دقيقة إلى أقصى حد 15 رقماً عشريًا. يتم فصل الأعداد الصحيحة والأرقام العشرية بالكومي.
يُكتب عدد معقد على شكل x + yj، حيثxهي الجزء الموجب،yهي الجزء المركب. هناك بعض الأمثلة هنا.
>>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j)
لاحظ، متغير floatبتم قطعها.
القائمةهي ترتيب العناصر. إنها أحد أنواع البيانات الأكثر شيوعًا في بايثون، وغالبًا ما تكون مرنة. تسمح العناصر في القائمة بأن تكون ليست من نفس النوع.
قائمة الإعلانات بسيطة جدًا. يتم فصل العناصر المفصولة بالكومات ببندانات [ ].
a = [1, 2.2, 'python']
يمكننا استخدام محوّل قطع [] لاستخراج عنصر أو سلسلة من العناصر من القائمة. لاحظ أن في بايثون، تبدأ الأنماط من 0.
a = [5, 10, 15, 20, 25, 30, 35, 40] # a[2] = 15 print("a[2] = ", a[2]) # a[0:3] = [5, 10, 15] print("a[0:3] = ", a[0:3]) # a[5:] = [30, 35, 40] print("a[5:] = ", a[5:])
كمية الإخراج
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
القائمة قابلة للتغيير، مما يعني أن يمكن تغيير قيمة عناصر القائمة.
a = [1, 2, 3] a[2] = 4 print(a)
كمية الإخراج
[1, 2, 4]
المجموعة(Tuple) هو سلسلة من العناصر المترتيبة، مثل القائمة (List). الفرق الوحيد هو أن المجموعاتغير قابل للتغييرللـ. لا يمكن تعديل المجموعات بعد إنشائها.
تستخدم المجموعات لحماية البيانات، عادةً تكون أسرع من القوائم لأنها لا يمكنها التغيير ديناميكياً.
هي مكتوبة داخل الأقواس ()، حيث تتميز البنود بفواصل الفاصلة.
t = (5, 'program', 1+3j)
يمكننا استخدام محوّل قطع [] لاستخراج العناصر، لكن لا يمكن تغيير قيمتها.
t = (5, 'program', 1+3j) # t[1] = 'program' print("t[1] = ", t[1]) # t[0:3] = (5, 'program', (1+3j)) print("t[0:3] = ", t[0:3]) #توليد خطأ # المجموعات غير قابلة للتغيير t[0] = 10
كمية الإخراج
t[1] = program t[0:3] = (5, 'program', (1+3j)) Traceback (أحدث استدعاءات): ملف "test.py", سطر 11، في <module> t[0] = 10 TypeError: 'tuple' object does not support item assignment
السلسلةهي سلسلة من أحرف Unicode. يمكننا استخدام الأسهم البسيطة أو الأسهم المزدوجة لتمثيل السلاسل. يمكن استخدام الأسهم الثلاثة ''' أو """ لتمثيل السلاسل المتعددة الأسطر.
s = "This is a string" print(s) s = '''A multiline string''' print(s)
كمية الإخراج
This is a string A multiline string
就像列表和元组一样,切片运算符 [ ] 可以与字符串一起使用。但是,字符串是不可变的。
s = 'Hello world!' # s[4] = 'o' print("s[4] = ", s[4]) # s[6:11] = 'world' print("s[6:11] = ", s[6:11]) # 发生错误 # 字符串在Python中是不可变的 s[5] = 'd'
كمية الإخراج
s[4] = o s[6:11] = world Traceback (أحدث استدعاءات): File '<string>", line 11, in <module> TypeError: 'str' object does not support item assignment
Set 是唯一项的无序集合。Set 由用大括号 { } 括起来,并由逗号分隔的值的集合。集合中的项目是无序的。
a = {5,2,3,1,4} # 输出set集变量 print("a = ", a) # 输出a的数据类型 print(type(a))
كمية الإخراج
a = {1, 2, 3, 4, 5} <class 'set'>
我们可以在两个集合上执行集合操作,例如 并集,交集。集具有唯一值。他们消除重复。
a = {1,2,2,3,3,3} print(a)
كمية الإخراج
{1, 2, 3}
由于 set 是无序集合,因此索引没有意义。因此,切片运算符 [] 不起作用。
>>> a = {1,2,3} >>> a[1] Traceback (أحدث استدعاءات): ملف "<string>", سطر 301، في runcode ملف "<interactive input>", سطر 1، في <module> TypeError: 'set' object does not support indexing
字典是 键值对 的无序集合。
当我们拥有大量数据时,通常使用它。字典针对检索数据进行了优化。我们必须知道检索值的密钥。
在Python中,大括号 {} 内定义了字典,每一项都是形式为 key:value 。键 和 值 可以是任何类型。
>>> d = {1:'value','key':2} >>> type(d) <class 'dict'>
我们可以使用键来检索相应的值。
d = {1:'value','key':2} print(type(d)) print(\"d[1] = \", \d[1]); print("d['key'] = ", d['key']); #توليد خطأ print("d[2] = ", d[2]);
كمية الإخراج
<class 'dict'> d[1] = value d['key'] = 2 Traceback (أحدث استدعاءات): ملف "<string>", سطر 9، في <module> KeyError: 2
يمكننا من خلال استخدام وظائف التحويل المختلفة، مثل التحويل بين أنواع البيانات المختلفة مثل int()،float()،str()،إلخ.
>>> float(5) 5.0
تحويل float إلى int سينقش هذا القيمة (جعلها قريبة من الصفر).
>>> int(10.6) 10 >>> int(-10.6) -10
يجب أن تحتوي التحويلات بين النصوص على قيم متوافقة.
>>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (أحدث استدعاءات): ملف "<string>", سطر 301، في runcode ملف "<interactive input>", سطر 1، في <module> ValueError: غير صالح كنص لـ int() مع قاعدة 10: '1p'
يمكننا حتى تحويل سلسلة إلى سلسلة أخرى.
>>> set([1,2,3]) {1, 2, 3} >>> tuple({5,6,7}) (5, 6, 7) >>> list('hello') ['h', 'e', 'l', 'l', 'o']
لتحويل إلى قائمة، يجب أن تكون كل عنصر زوجيًا:
>>> dict([[1,2],[3,4]]) {1: 2, 3: 4} >>> dict([(3,26),(4,44)]) {3: 26, 4: 44}