المتغيرات وأنواع البيانات في بايثون
25 دقيقة تقريبًا
- Variable
- String
- Integer
- Float
- Boolean
- None
- type
يحسب العدّاد في الأعلى تمارين الدرس، وعددها 4، أما القراءة وتشغيل الأمثلة فلا تُحتسب.
أنت كمتخصص SEO شايف حاجة زي https://example.com/python-seo/ وتقول عليها: ده URL.
لكن بايثون مش فاهم حاجة اسمها URL بالشكل اللي أنت فاهمه بيها. بالنسبة له، ده "https://example.com/python-seo/" وبس، وده اسمه String.
وده أول Mindset مهم لازم تاخده معاك من هنا: بايثون مش عارف إن ده URL، ولا إن ده Keyword، ولا Title، ولا Domain، ولا عدد Clicks. أنت اللي بتحدد معنى البيانات من خلال نوعها وطريقة استخدامها.
خلينا ناخد صفحة SEO كاملة
عندنا الصفحة دي:
دلوقتي بايثون شايف أربع أنواع مختلفة من البيانات في الصفحة دي.
النصوص String
أي نص بين علامتي تنصيص، سواء " " أو ' '، بايثون يعتبره String. وده النوع اللي هتقابله كتير جدًا في شغل SEO:
الأرقام الصحيحة Integer
أرقام من غير كسور، زي:
بايثون بيسمّي النوع ده int، وهيقابلك في Status Codes وClicks وImpressions وWord Count وعدد Internal Links.
الأرقام العشرية Float
لو الرقم فيه كسر، زي:
بايثون بيعتبره float، وده هيظهر كتير مع بيانات Search Console زي الـ Position والـ CTR.
صح أو غلط Boolean
ودي مهمة جدًا في SEO. مثلًا:
النوع هنا اسمه bool، وقيمته دايمًا واحدة من اتنين: True أو False. ده مناسب جدًا لأسئلة SEO زي: هل الصفحة Indexable؟ True. هل عندها Meta Description؟ False. هل فيها H1؟ True.
طيب المتغيّر إيه دوره؟
لما تكتب:
عندك حاجتين: الاسم clicks، والقيمة 1540. المتغيّر clicks بقى اسم بنستخدمه علشان نشير للقيمة، فبدل ما نكتب 1540 كل شوية، نقدر نقول:
1540
نرجع لموضوع Object
لما نكتب url = "https://example.com"، فالقيمة "https://example.com" نفسها اسمها Object، وهو Object من نوع str. ولما نكتب clicks = 500، فالـ 500 ده Object من نوع int. وممكن نخلي بايثون يقولنا النوع بنفسه باستخدام type():
<class 'str'> <class 'int'>
نجرب على بيانات SEO كاملة
من غير ما تشغّل الكود، توقّع نوع البيانات اللي type() هيطبعه لكل متغيّر.
إيه اللي بايثون هيطبعه لكل سطر؟
طيب ليه أصلًا يهمني أعرف النوع؟
بص على clicks = 100 وclicks = "100". بالنسبة لك الاتنين شكلهم واحد، لكن بالنسبة لبايثون مختلفين تمامًا: الأولى int والتانية str. جرّب:
150
لكن لو كتبت:
ليه الكود اللي فوق هيطلع خطأ؟
ودي مشكلة SEO حقيقية: تخيل جايب بيانات Search Console وعمود الـ Clicks شكله أرقام، لكن لو بايثون قرأ العمود غلط على إنه Text، أي عملية حسابية عليه هتبوظ. علشان كده موضوع Data Types مش درس أكاديمي، إحنا محتاجينه علشان لما نتعامل مع بيانات حقيقية نفهم بايثون شايف البيانات دي أصلًا إيه.
في نوع مهم كمان: None
تخيل صفحة مفيهاش Meta Description. ممكن نمثلها كده:
None معناها مفيش قيمة هنا، مش نص "None"، ومش 0، ومش False. دي ببساطة غياب القيمة، وهنقابلها كتير، مثلًا canonical = None يعني الصفحة مالهاش Canonical مستخرج.
الجملة دي صح ولا غلط؟ None معناها إن القيمة هي كلمة "None" كنص.
تمرين الدرس
عندك الصفحة دي:
مثّل بيانات الصفحة دي بمتغيّرات بايثون
اكتب سبع متغيّرات بالأسماء دي بالظبط: url، title، status_code، word_count، position، indexable، meta_description. اختار نوع البيانات الصحيح لكل قيمة — لاحظ إن الـ Meta Description مفقودة.
الدرس الجاي هنستخدم نفس الفكرة دي، لكن بدل متغيّر لكل قيمة هنتعلم نخزّن مجموعة صفحات كاملة في حاجة واحدة: الـ Lists والـ Dictionaries.
بقيت تمارين لم تحلّها
0/4التمارين المتبقية: 4 من 4. يُحتسب الدرس مكتملًا حين تحلّها كلها، ويمكنك العودة إليها متى شئت.
أحسنت، وصلت إلى نهاية الدرس.