English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس بايثون الأساسية

تحكم في العملية في بايثون

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات بايثون

عناصر وصفات بايثون

تاريخ ووقت بايثون

معرفة متقدمة في بايثون

دليل بايثون

أنواع البيانات في Python

في هذا الدرس، ستتعلم أنواع البيانات المختلفة التي يمكن استخدامها في بايثون.

أنواع البيانات في بايثون

لدي كل قيمة نوع في بايثون. نظرًا لأن كل شيء في برمجة بايثون هو عنصر، فإن نوع البيانات هو في الواقع فئة، بينما هو متغير هو مثال على هذه الفئات (العناصر).

يوجد أنواع متعددة في بايثون. يتم عرض بعض الأنواع المهمة أدناه.

رقم (Number) في Python

تتبع الأعداد الصحيحة والأعداد العشرية والأعداد المعقدة فئة الأعداد في بايثون. في بايثون، يتم تعريفها كفئات 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بتم قطعها.

قائمة بايثون (List)

القائمةهي ترتيب العناصر. إنها أحد أنواع البيانات الأكثر شيوعًا في بايثون، وغالبًا ما تكون مرنة. تسمح العناصر في القائمة بأن تكون ليست من نفس النوع.

قائمة الإعلانات بسيطة جدًا. يتم فصل العناصر المفصولة بالكومات ببندانات [ ].

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)

المجموعة(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

Python 集合(Set)

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字典

字典是 键值对 的无序集合。

当我们拥有大量数据时,通常使用它。字典针对检索数据进行了优化。我们必须知道检索值的密钥。

在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}