راهنمای سریع *args و **kwargs در پایتون

مدت‌ها بود که سعی داشتم تا یک مطلب به زبان انگلیسی را در مدیوم منتشر کنم. اما با وجود آنکه دانش نسبتا خوبی از قواعد انگلیسی و Writing داشتم، همیشه بیخیال ماجرا می‌شدم. اما امروز تصمیم‌م قطعی شد و یک مطلب هر چند کوتاه (حدود ۳۰۰ کلمه) اما کاربردی را در مدیوم منتشر کردم.

A Quick Guide on *args & **kwargs in Python

ساخت یک وب اپلیکیشن ساده با استفاده از فلَسک

در میان میکروفریمورک‌های دنیای وب می‌توان گفت که فلسک یکی از محبوب‌ترین آن‌هاست. به همین دلیل تصمیم گرفتم تا یک مطلب کوتاه و در عین حال کاربردی برای شروع کار با فلَسک را بنویسم. برای مطالعه این مطلب به نوشته «ایجاد یک وب اپلیکیشن ساده با پایتون و فلاسک» مراجعه کنید.

کار با JSON در پایتون + ویدیو

داشتن درک خوبی از JSON و شیوه کار کردن با اون می‌تونه برای تبدیل شدن به یک توسعه‌دهنده مؤثر خیلی کمک بکنه. JSON یک فرمت متنی برای نمایش داده هستش. JSON مخفف کلمات JavaScript Object Notation به معنای نشانه‌گذاری شیء جاوااسکریپت هستش که همون انگلیسی‌ش بهتره!

ادامه…

پادکست: معرفی و گفتگوهای روزمره

اید تو طول روز دو سه ساعت با خودم حرف بزنم، سر کار، وقت پیاده‌روی، موقع غذا خوردن و و و …. البته دیوونه نیستم که ایکاش بودم، مشکل اینه که کسی نیست باهاش حرف بزنم، که البته ملالی نیست!
اما چه خوب میشه اگه این حرف‌های ذهنی رو ضبط کنم و بزارم هر کی که خواست گوش کنه، شاید یکی خوشش اومد. البته ما خیلی تجهیزات درست و حسابی برای ضبط صدا نداریم ولی خب همین هایی هم که هست خوبه و به نظرم یه آبی ازشون گرم میشه.

بعد مدت‌ها بهونه آوردن از نداشتن ابزار و محتوا و … بالاخره یه قسمت ضبط کردم. توی کست باکس هم منتشر کردم تا کمی جلوه حرفه‌ای تری بهش بدم. قسمت اول پادکست از روزمرگی‌ خودم گفتم و دلیل ساخت یک پادکست رو برای وبلاگم توضیح دادم، جدای از اون‌ها چند تا موسیقی خوب پلی کردیم و همین.

ادامه…

کاربرد _ در پایتون + ویدیو

شاید خیلی از توسعه‌دهنده‌های پایتون خبری از وجود _ به عنوان یک ابزار مهم نداشته باشند. در واقع خودم یکی از اون‌ها بودم. خب باید بگم که این علامت ( _ ) که به انگلیسی میشه Undrescore در جاهای مختلفی از برنامه کاربرد داره. بیایید به کاربردهاش یه نگاهی بندازیم.

کاربرد اول: استفاده در مفسر پایتون

آخرین دستوری که منجر به یه خروجی شده چیه؟ حالا اون خروجی دقیقا چیه؟ اگه می‌خواید به اون مقدار دسترسی داشته باشید کافیه که توی خود مفسر تعاملی پایتون عملگر _ رو وارد بکنید. مثلا:

>>> a = 20
>>> a
20
>>> _
20
>>> _ - 10
10

کاربرد دوم: نادیده گرفتن مقادیر

زمانی که بخواید یه مقداری یا مقادیری رو در برای انتساب‌های جمعی نادیده بگیرید می‌تونید از ـ استفاده کنید. برای روشن شدن قضیه به کد زیر نگاه کنید:

a, _, b = (1, 2, 3) # a = 1, b = 3
print(a, b)

مقدار ۲ در هیچ متغیری ذخیره نمیشه. اگر هم از یک علامت ستاره قبل از آندرسکور استفاده کنید یک بازه از مقادیر رو بیخیال میشه:

a, *_, b = (7, 6, 5, 4, 3, 2, 1)
print(a, b)

کاربرد سوم: استفاده در حلقه‌ها

می‌تونید بجای استفاده از متغیر در یک حلقه for از یک آندرسکور استفاده کنید:

for _ in 'Arastoo':
    print( _ )

کاربرد چهارم: جدا کردن ارقام

وقتی می‌خواید یه مقدار عددی بزرگ رو در یک متغیر قرار بدید، اگه نمی‌تونید که درست از تعداد ارقام متوجه بشید می‌تونید با _ اون‌ها رو از هم جدا بکنید. البته این تنها یک موضوع ظاهریه و چیزی رو توی متغیر غیر از عدد واقعی ذخیره نمیکنه:

million = 1_000_000
binary = 0b_0010
octa = 0o_64
hexa = 0x_23_ab

کاربرد پنجم: مهمترین مورد: نام گذاری

چهار حالت برای نام‌گذاری متغیر با استفاده از _ وجود دارد:

  • استفاده از _ قبل از نام متغیر
  • استفاده از _ بعد از نام متغیر
  • استفاده از دو _ قبل از نام متغیر
  • استفاده از دو _ قبل و بعد از نام متغیر

استفاده از _ قبل از نام متغیر

class Test:

    def __init__(self):
        self.name = "datacamp"
        self._num = 7

obj = Test()
print(obj.name)
print(obj._num)

در قواعد پایتون ذکر شده که برای خصوصیاتی که می‌خواهید Private باشند از یک _ قبل از نام آن‌ها استفاده کنید. البته این موضوع در روند اجرا کاری انجام نمی‌دهد اما اگر بخواهید اصولی کد بنویسید باید این موضوع را در نظر داشته باشید.

البته برای توابع می‌شود از چنین قابلیتی حتی در روند اجرا نیز استفاده کرد. به تکه کد زیر نگاه کنید:

def func():
    return "datacamp"

def _private_func():
    return 7

حالا اگه بخوام که تابع رو توی یه ماژول دیگه import بکنم با تابع func مشکلی نخواهد داشت ولی تابع _private_func رو نمیتونم import بکنم:

>>> from my_functions import *
>>> func()
'datacamp'
>>> _private_func()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '_private_func' is not defined

البته اگه شیوه import کردن رو تغییر بدم و مستقیم از نام تابع همراه با ماژول استفاده بکنم همچین قابلیتی غیرفعال میشه:

>>> import my_functions
>>> my_functions.func()
'datacamp'
>>> my_functions._private_func()
7

ظاهرا تنها زمانی که بخواید به صورت غیر مستقیما (تکنیکالی اینم اشتباهه) از تابع استفاده کنید به شما خطا میده.

استفاده از _ بعد از نام متغیر

زمانی که مجبور باشید از یک نام برای متغیر استفاده بکنید که همزمان اون نام کلمه کلیدی پایتون هستش می‌تونید یک _ به آخرش اضافه کنید:

>>> def function(class):
  File "<stdin>", line 1
    def function(class):
                 ^
SyntaxError: invalid syntax
>>> def function(class_):
...     pass

استفاده از دو _ قبل از نام متغیر

تصور کنید که شما دو کلاس دارید که هر دو یک خصوصیت با یک اسم دارند. حالا شما یک کلاس سوم هم دارید که از هر دو کلاس قبلی میخواد ارث‌بری بکنه، زمانی که بخواد به هر دو خصوصیت دسترسی داشته باشه به مشکل بر می‌خوره چرا که نمی‌تونه همزمان از دو خصوصیت با یک نام استفاده بکنه. پایتون برای حل این مشکل با تکنیک name mangling از ما پذیرایی میکنه.

مثال:

class Sample():

    def __init__(self):
        self.a = 1
        self._b = 2
        self.__c = 3
obj1 = Sample()

برای دسترسی داشتن به خصوصیات a و b و c چه کاری انجام می‌دهید:

print(obj1.a)
print(obj1._b)
print(obj1.__c)

حالا اگر برنامه رو اجرا بکنید با مشکل روبرو می‌شید. چرا که ما عضوی به اسم __c رو نداریم. بجاش پایتون می‌آد اون عضور رو _Sample__c معرفی میکنه. یعنی ترکیبی از نام کلاس و خود خصوصیت. اینطوری دیگه مشکلی پیش نمیاد.

برای درک بهتر قضیه پیشنهاد میکنم ویدیو اول این مطلب رو ببینید.

استفاده از دو _ قبل و بعد از نام متغیر

توی پایتون به متدهایی که به شکل زیر هستند میگیم متدهای جادویی یا داندر متد. این دستورات ابزارهای پیشفرض پایتونی هستند.

class Sample():

    def __init__(self):
        self.__num__ = 7

obj = Sample()
obj.__num__

بهتره هیچوقت برای اسم گذاری‌هامون از این سبک استفاده نکنیم چرا که ممکنه با دستورات اصلی پایتون اشتباه گرفته بشن.

منبع

https://www.datacamp.com/community/tutorials/role-underscore-python

معرفی سرویس Microverse

اگه یه کسی بیاد بهتون بگه که من توی شیش ماه به صورت رایگان به شما برنامه‌نویسی یاد می‌دم و در نهایت یه کاری رو هم بهتون معرفی می‌کنم که حقوق خوبی داره و به صورت ریموت انجام میشه و من از حقوق‌ت تا زمانی که به درآمد ۱۵ هزار دلار رسیدی ۱۵ درصدش رو برمی‌دارم، شما چی می‌گید؟

چنین سیستمی وجود داره و اسمش هم Microverse هستش. به نظر من که پیشنهاد وسوسه‌کننده‌ایه، شما قراره برای شیش ماه توسط افراد متخصصی به صورت آنلاین آموزش ببینید و در نهایت یک کار ریموت رو انجام بدید. خوبی این موضوع اینه که شما محدودیت جغرافیایی برای کار و برای آموزش رو ندارید. چرا که همه چیز پشت میز کار شما اتفاق می‌افته. از طرفی دیگه از اونجایی که با دلار آمریکا حقوق‌تون رو پرداخت می‌کنن، در نتیجه نگرانی از بابت کم بودن حقوق رو هم ندارید.

خب بعد از اینکه یه کاری رو به شما پیشنهاد دادن، تا سقف یک هزار دلار کاری به پول شما ندارن، ولی وقتی که از این مقدار بیشتر شد تا زمانی که به ۱۵ هزار دلار می‌رسه، ماهیانه از شما ۱۵ درصد حقوق‌تون رو می‌گیرن. به همین خاطر به نظر می‌رسه که قرارداد خوب و منطقیه.

زمان بندی کلاس‌ها

یه موضوعی که به نظر میاد کمی سازش کردن باهاش سخت باشه، زمان‌بندی کلاس‌هاست. باید بگم که شما تنها در صورتی می‌تونید این کلاس‌ها رو شرکت کنید که هیچ کار دیگه‌ای نداشته باشید. چرا که کلاس‌ها هر هفته از دوشنبه تا جمعه از ۸ صبح به وقت UTC6 (یک ساعت و نیم جلوتر از ما هستند) تا ۵ بعدازظهر برگذار میشه و شما باید سر کلاس‌ها به صورت آنلاین حضور داشته باشید.

متاسفانه خودم نمی‌تونم شرکت کنم!

چه چیزهایی قراره یاد بگیرم؟

خب براساس ادعای خود سرویس، به شما قراره چیزهایی یاد داده بشه که در بین پروژه‌ها و شغل‌ها بیشترین درخواست رو داشته. شما قراره ۶۰۰ ساعت صرف یادگیری توسعه وب به صورت Full-Stack بکنید که شامل یادگیری HTML/CSS/JS/React/Ruby/Ruby on Rails میشه. توی این روند آموزشی بیشتر از ۳۰ پروژه رو هم می‌سازید که اینم پوینت مثبتیه برای خودش. جدای از این گزینه‌ها، شما قراره که با مقدمات دنیای علوم کامپیوتر آشنا بشید که شامل الگوریتم‌ و ساختمان‌های داده میشه. و در نهایت هم فارغ از مباحث تخصصی شما با مهارت‌های نرم یا همون Soft-Skills هم آشنا میشید. فریلنسینگ، مشارکت در کدهای متن باز، آماده شدن برای مصاحبه‌های کاری و ارتباط داشتن با مربی‌های همیشگی هم بخش‌های دیگه‌ای هست که براتون در نظر گرفته شده.

چطوری وارد پروسه یادگیری بشیم؟

خب این قدم کمی سخته، Microverse داره سعی میکنه آدم‌هایی رو درست کنه که بعدا براش پول در بیارن، البته اینقدر خشن نباید به قضیه نگاه کنیم، اون داره یه کاری رو براتون میکنه و شما بابت اون کار باید یه کاری بکنید. قضیه خیلی ساده‌ای هستش. برای وارد شدن به این سیستم شما باید سه مرحله رو پشت سر بذارید. یه سری چالش و سوال‌ها هستش که باید به اون‌ها پاسخ بدید. این فرایند چیزی حدود ۴ روز طول میکشه. در نهایت اگه موفق بشید که چالش‌ها رو به درستی انجام بدید و کارهاتون رو ببرید جلو وارد پروسه اصلی آموزش میشید.

یه نکته مهم هم اینه که شما برای کار کردن با این سرویس و استفاده از آموزش‌ها زبان انگلیسی رو در حد قابل قبولی بدونید.

اگه سوال‌های بیشتری درباره این سرویس دارید سراغ این لینک برید، کلی سوال از پیش جواب داده شده وجود داره که شاید یکی‌ش همون سوال شما باشه.

به شخصه خیلی علاقه‌مند به شرکت در چنین وبسایت‌هایی هستم، بحث اینجا کاملا استعداد و تواناییه، قرار نیست بشینی ادبیات و کتاب‌های بی مربوط بخونی تا یه تست برای وارد شدن به همچین آموزشگاهی بدی، اگه واقعا توانایی‌ش رو داشته باشی، می‌تونی وارد بشی. چی از این بهتر؟!

اولین قدم‌ها برای ورود به دنیای پایتون

چطوری میشه یه برنامه‌نویس خوب پایتون بود؟ یا بهتر بگم «چگونه وارد پروسه یادگیری پایتون شویم»؟ مطمئنا پاسخ دادن به چنین سوالاتی یک جواب مشخص و معین نداره، اما من قصد دارم با استفاده از تجربیات شخصی و منابع موجود به این سوالات در قالب یک مقاله پاسخ بدم و قدم به قدم شما رو با روال وارد شدن به دنیای برنامه‌نویسی پایتون آشنا بکنم.

۱. پایتون چیست؟

پایتون یا Python یک زبان برنامه‌نویسی شئ‌گرا، پویا و تفسیری است، از آنجایی که پایتون انعطاف‌پذیری بالایی دارد، می‌تواند در پروژه‌های بزرگ و کوچک به خوبی استفاده شود. بر خلاف چیزی که لوگو الان پایتون است، هدف سازنده اصلی پایتون -گیدو وان روسوم- از این نامگذاری اشاره به گروه کمدی بریتانیایی Monty Python بوده است. تقریبا می‌شود گفت که پایتون در تمام فیلدهای کامپیوتری استفاده می‌شود اما حضور برجسته پایتون را می‌شود در فیلدهای زیر مشاهده کرد:

  • برنامه‌نویسی علمی، ریاضیات، تحلیل داده و…
  • طراحی و توسعه اپلیکیشن‌های مبتنی بر وب و GUI
  • یادگیری ماشین و هوش مصنوعی

در حال حاضر پایتون در شرکت‌های بزرگ جهان مورد استفاده قرار می‌گیرد، از این موارد می‌شود به یوتیوب، دراپ‌باکس و رِدایت اشاره کرد. جدای از این موارد غول‌هایی چون اینستاگرام و پینترست نیز برای توسعه وبسایت‌های خود از فریمورک جنگو که یکی از فریمورک‌های پایتون است، استفاده می‌کنند.

بعضی وقت‌ها از بس که پایتون ساده هستش، قدرتش دست کم گرفته میشه 🙂

پایتون زبانی Strong Type است، به این معنا که نوع‌های داده‌ای به درستی بررسی می‌شوند. شما در چنین حالتی برای مثال نمی‌توانید یک رشته و یک عدد طبیعی را با همدیگر جمع بکنید. همچنین از آنجایی که پایتون یک زبان پویا است، تعریف متغیر و مدیریت حافظه در زمان اجرا به صورت خودکار انجام می‌شود. پایتون یک زبان Case-Sensitive نیز است، بنابراین تعریف یک نام به بزرگ و کوچک بودن حروف حساس است.

۲. نسخه‌های پایتون

پایتون یک زبان آزاد و متن باز است، همچنین برای سیستم‌ عامل‌های مختلفی از جمله لینوکس، مک و ویندوز عرضه شده است. اما به صورت کامل‌تر باید بگویم که پایتون روی ۲۱ سیستم عامل مختلف کار می‌کند. در بیشتر این سیستم‌ عامل‌ها پایتون به صورت پیشفرض نصب شده است. برای بررسی کردن این موضوع تنها کافی‌ست یکی از دستورات زیر را در محیط خط فرمان/ترمینال خود وارد کنید:

python -V
python3 -V

هر کدام از دستورات بالا می‌تواند خروجی شبیه به زیر داشته باشد:

Python 3.6.7

اگر چنین خروجی را دریافت نکردید، نشان از این موضوع می‌دهد که پایتون روی سیستم عامل شما نصب نیست.

انتخاب یک نسخه از پایتون

در حال حاضر پایتون از دو نسخه ۳ و ۲ بهره می‌برد. برای بعضی از افراد ممکن است انتخاب بین این دو مورد پیچیده باشد اما بدون شک نسخه ۳ انتخاب مناسبی است، اما در حالت‌هایی نیز ممکن است مجبور باشید از نسخه دوم استفاده بکنید. نسخه ۲ پایتون نسخه قدیمی‌تر این زبان است و زیرساخت برخی از برنامه‌ها هنوز برپایه‌ی این زبان ساخته شده است، از این رو برای کار کردن روی آن دسته از برنامه‌ها نیاز است که پایتون ۲ را بلد باشید، اما این نسخه از طرف بنیاد پایتون تا مدتی دیگر پشتیبانی می‌شود و پیشنهاد شده که همه زیرساخت‌ها به پایتون ۳ بروزرسانی شود. از این رو ما یادگیری نسخه ۳ پایتون را پیشنهاد می‌دهیم. ادامه این مطلب نیز روی همین نسخه تمرکز دارد.

۳. دریافت پایتون

برای دریافت مفسر پایتون شما می‌توانید از وبسایت Python.org استفاده بکنید. از آنجایی که پایتون روی بیشتر سیستم‌ عامل‌های موجود کار می‌کند، بنابراین ممکن است با پکیج‌های مختلفی از پایتون مواجه شوید:

  • اگر از مک استفاده می‌کنید بهتر است برای نصب پایتون از پکیج منیجر brew استفاده نمایید.
  • برای لینوکس نیز استفاده کردن از پکیج منیجرهایی مانند apt، yarm و… مناسب است.
  • برای ویندوز شما باید نسخه نصبی آن را از وبسایت اصلی پایتون دانلود کنید.

البته بدونید که معمولا روی مک و لینوکس به صورت پیشفرض پایتون نصب هستش، پس قبل از اقدام به نصب از بودن یا نبودن پایتون مطمئن بشید.

برای بررسی وجود پایتون رو سیستم عامل همانطور که قبلا اشاره شد، محیط متنی خود را باز کرده و دستور python3 یا python را وارد کنید. مطمئن باشید که نسخه ۳ از پایتون اجرا می‌شود.

ممکنه توی ویندوز هیچکدوم این دستورها کار نکنه، توی ویندوز معمولا با نوشتن py پایتون اجرا میشه.

حال که پایتون اجرا شده، کافی‌ست برنامه زیر را در همان محیط متنی نوشته و اینتر را فشار دهید:

print(‘Hello, World!’)

برای خارج شدن از محیط پایتون می‌توانید از کلید‌های CTRL+D و یا فراخوانی تابع exit() یا quit() استفاده بکنید.

۴. پیدا کردن یک منبع آموزشی مناسب

شاید این قدم کمی مشکل و چالش دار باشد اما پیدا کردن یک منبع مناسب آموزشی مطمئنا کاری نشدنی نیست. از این نظر می‌گویم مشکل که منابع آموزشی بسیار زیادی وجود دارد و پیدا کردن یک مورد مناسب ممکن است کمی سخت باشد. با این حال من لیستی از چندین دوره آموزشی ویدیویی و کتاب مناسب را به صورت لیست شده ارائه می‌کنم که می‌توانید از آن‌ها استفاده بکنید.

۵. انتخاب یک کد ادیتور راحت

منابع آموزشی که در بالا لیست کردم در برداشتن این قدم به شما کمک می‌کنند. در هر کدام از منابع به شما ابزارهای مختلفی را برای کدنویسی معرفی کرده است که می‌توانید از هر کدام استفاده کنید.

من به شخصه اوایل فقط ازIDLE پایتون استفاده می‌کردم، اما بعدا برای انجام پروژه‌ها و کارهای بزرگ‌تر VSCode رو انتخاب کردم.

لیستی از کد ادیتورهای مناسب برای برنامه‌نویسی:

۶. درک قواعد پایتون

قاعده اصلی که در پایتون وجود داره اینه که توی پایتون تنها یک راه برای نوشتن یک برنامه وجود داره و اون راه بهترین راهه!

شاید این موضوع برای‌تان عجیب باشد اما یک واقعیت است. با این حال پایتون یک مانیفست مانند نیز دارد که به برنامه‌نویسان کمک می‌کند تا به این نقطه «افلاطونی» برسند.

برای مشاهده این مانیفست می‌توانید در زمان اجرای پایتون در محیط خط فرمان، دستور زیر را وارد کنید:

import this

این دستور خروجی زیر را به ما می‌دهد:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

۷. آشنایی اولیه با کدنویسی در پایتون

قبل از آنکه به دوره‌ها و منابع آموزشی گفته شده مراجعه کنید، بیایید با سینتکس کلی زبان برنامه‌نویسی پایتون آشنا شویم. ما در این بخش با شیوه تعریف متغیرها، توابع، حلقه‌ها و دستورات کنترلی آشنا می‌شویم و همچنین نگاهی به ساختارهای داده‌ای مختلف در پایتون می‌اندازیم.

۷-۱. تعریف متغیر

همانطور که گفته شد پایتون یک زبان برنامه‌نویسی پویا است. از این جهت در زمان تعریف یک متغیر نیازی به تعیین کردن نوع داده‌ای آن ندارید، این فرایند در زمان اجرا به صورت خودکار مدیریت می‌شود. برای تعریف متغیر در پایتون به سادگی تنها یک نام را تعریف کرده و یک مقدار را به آن نسبت دهید:

name = "Arastoo"

نام متغیر باید از شرایطی پیروی بکند که در این مطلب قصد صحبت در ارتباط با این جزئیات را نداریم.

توی پایتون نسخه ۳ از سیمی‌کولن در آخر دستورات استفاده نمی‌کنیم، مستندات خود پایتون هم پیشنهاد می‌کنند که استفاده نکنیم اما این امر اختیاریه!

۷-۲. تعریف تابع

برای تعریف تابع در پایتون از کلمه کلیدی def استفاده می‌شود. برای مثال برای ایجاد یک تابع برای سلام گفتن به یک ورودی ما به صورت زیر عمل می‌کنیم:

def greeting(name):
    return('Hello, '+ name)

print(greeting('Arastoo'))

اگه دقت کنید می‌بینید که توی خط دوم یه ذره فاصله از کناره چپ صفحه گرفته شده، به این کار میگن indentation یا کناره گذاری. توی پایتون برای اینکه نشون بدیم یه سری دستورات متعلق به یک دستور بالاتر هستش اونا رو کناره گذاری می‌کنیم. توی زبون‌های دیگه برای اینکار از کروشه باز و بسته استفاده می‌کنند.

۷-۳. ایجاد یک حلقه

در پایتون برای ایجاد یک حلقه هم از دستور while و هم از دستور for…in استفاده می‌کنیم. ساختار دستور while با یک شرط شروع می‌شود. برای مثال:

a = 10
while(a>=1):
    print(a)
    a -=1

توی دستور بالا ما گفتیم تا زمانی که متغیر a برابر و بزرگ‌تر از ۱ باشه a رو چاپ بکنه و یکی ازش کم بشه. یه برنامه که از ۱۰ تا ۱ رو چاپ میکنه.

ساختار دستور for…in برای تعریف حلقه نیز به صورت زیر است:

for i in range(10):
    print(i)

هدفمون از استفاده for…in این هستش که یک مقدار داده‌ای تکرارپذیر رو پیمایش بکنیم. range(10) در واقع یک تابع داخلی از پایتون هستش که مقدار عددی ۰ تا ۹ رو برای ما تولید میکنه.

۷-۴. دستورات کنترلی

برای ایجاد دستورات کنترلی در پایتون می‌توانید از دستور if و حالت‌های elif و else استفاده بکنید. برای مثال:

a = 1
if a==True:
    print('True')
elif a==False:
    print('False')
else:
    print('None')

همانطور که مشاهده می‌کنید، در این ساختار نیز ما از کناره گذاری برای بلوک بندی کدها استفاده می‌کنیم.

۷-۵. ساختارهای داده‌ای

لیست: لیست مجموعه‌ای مرتب از داده‌هاست که در پایتون به شکل زیر تعریف می‌شود:

a = [1,2,3,4,5,True,'Arastoo']

تاپل: تاپل شبیه به لیست است با این تفاوت که قابلیت تکرارپذیری ندارد:

b = ('Arastoo',1,2,3,4,5,True)

دیکشنری: دیکشنری یک ساختار داده‌ای است که در آن هر موجودی از یک کلید و یک مقدار داده‌ای تشکیل می‌شود:

c = {"name":"Arastoo","Age":100,"Alive":True}

دیکشنری‌ها قابل مرتب شدن نیستند.

۸. در پایان

یادگیری پایتون و پیش بردن پروژه‌ها با استفاده از پایتون واقعا لذت بخش است. پایتون پیچیدگی کمتری نسبت به اغلب زبان‌ها دارد و همین موضوع باعث می‌شود که کدنویسی در آن سریع‌تر و آسان‌تر شود. مطمئنا انتخاب پایتون به عنوان یک زبان برنامه‌نویسی برای کار، تحقیقات و… می‌تواند انتخابی منطقی باشد. من در این مقاله سعی کردم تا به شما مسیری روشن برای یادگیری پایتون و پیشرفت کردن در آن را نشان دهم.