آموزش پایتون pdf

به روز ترین مطالب آموزشی و متدلوژی های برنامه نویسی

آموزش پایتون رایگان

۱۲۰ بازديد

سلام دوستان ...در قسمت قبل آموزش پایتون مفاهیم زیر را یاد دادیم

  • آموزش ساختار های داده
  • استفاده از لیست ها به عنوان صف در پایتون
  • آموزش عبارت del در زبان برنامه نویسی پایتون

با ادامه آموزش پایتون همراه ما باشید.

آموزش دنباله ها و چندتایی ها (tuples) در زبان برنامه نویسی پایتون

دیدیم که لیست ها و رشته ها خصیصه های مشترک بسیاری داشتند، مانند عملیات اندیس گذاری و بخش بندی (slicing) . آنها دو مثال از انواع داده دنباله هستند

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

1 >>> t = 12345, 54321, 'hello!'
1    >>> t[0]
1    12345
1    >>> t
1    (12345, 54321, 'hello!')
1    >>> # Tuples may be nested:
1    ... u = t, (1, 2, 3, 4, 5)
1    >>> u
1    ((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
1    >>> # Tuples are immutable:
1    ... t[0] = 88888
1    Traceback (most recent call last):
1      File "", line 1, in 
1    TypeError: 'tuple' object does not support item assignment
1    >>> # but they can contain mutable objects:
1    ... v = ([1, 2, 3], [3, 2, 1])
1    >>> v
1    ([1, 2, 3], [3, 2, 1])
1

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

اگرچه ممکن است چندتایی ها شبیه لیست ها به نظر برسند، اما اغلب در موقعیت های مختلف و برای اهداف متفاوتی از چندتایی ها استفاده می شود. چندتایی ها غیر قابل تغییر هستند، و معمولا در بر دارنده دنباله ای از عناصر نا همگن هستند که به وسیله باز کردن (unpacking- در ادامه این بخش می بینیم) یا اندیس گذاری (یا حتی توسط ویژگی در صورت namedtuples) قابل دسترسی هستند.

لیست ها قابل تغییر هستند، و عناصر آنها معمولا همگن هستند و با گردش و تکرار روی لیست قابل دسترسی هستند. مشکل ویژه ساختار چندتایی ها در شرایطی است که شامل صفر یا یک عنصر هستند. نحوه نگارش، تعدادی جایگزین برای اصلاح این مشکل دارد. چندتایی های خالی به وسیله یک جفت پرانتز خالی ساخته می شوند. چندتایی با یک عنصر ، به وسیله یک مقدار و یک ویرگول پس از آن ساخته می شود ( قرار دادن یک مقدار در پرانتز کارآمد نیست). زشت اما موثر. برای مثال:

1>>> empty = ()
1>>> singleton = 'hello',    # <-- note trailing comma
1>>> len(empty)
10
1>>> len(singleton)
11
1>>> singleton
1('hello',)

عبارت t = 12345, 54321, 'hello!' یک مثال از بسته بندی چندتایی است. مقادیر 12345 ، 54321 و 'hello!' با هم در یک چندتایی بسته بندی شده اند. عملیات عکس آن نیز امکان پذیر است:

1>>> x, y, z = t

این باز کردن دنباله (sequence unpacking) نام دارد و برای هر دنباله در سمت راست (right-hand side) کار می کند. باز کردن دنباله نیازمند این است که به تعداد عناصر موجود در دنباله، متغیر در سمت چپ علامت مساوی باشد. توجه کنید که تخصیص های متعدد فقط ترکیبی از بسته بندی چندتایی و باز کردن دنباله است.

آموزش مجموعه ها (set) در آموزش پایتون

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

کاربردهای اصلی شامل تست عضویت و حذف ورودی های تکراری است. همچنین اشیای مجموعه از عملیات ریاضی مانند اجتماع, اشتراک, تفاضل و تفاضل متقارن پشتیبانی می کند. از پرانتز {} یا تابع set() برای ساخت مجموعه می توان استفاده کرد. نکته: برای ایجاد یک مجموعه خالی باید از set() استفاده کنید نه {}. دومی یک دیکشنری خالی می سازد، ساختار داده ای که در بخش بعدی درباره آن بحث می کنیم. در اینجا یک نمایش مختصر داریم:

1>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
1>>> print(basket)                      # show that duplicates have been removed
1{'orange', 'banana', 'pear', 'apple'}
1>>> 'orange' in basket                 # fast membership testing
1True
1>>> 'crabgrass' in basket
1False
1 
1>>> # Demonstrate set operations on unique letters from two words
1...
1>>> a = set('abracadabra')
1>>> b = set('alacazam')
1>>> a                                  # unique letters in a
1{'a', 'r', 'b', 'c', 'd'}
1>>> a - b                              # letters in a but not in b
1{'r', 'd', 'b'}
1>>> a | b                              # letters in a or b or both
1{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
1>>> a & b                              # letters in both a and b
1{'a', 'c'}
1>>> a ^ b                              # letters in a or b but not both
1{'r', 'd', 'b', 'm', 'z', 'l'}

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

1>>> a = {x for x in 'abracadabra' if x not in 'abc'}
1>>> a
1{'r', 'd'}

آموزش دیکشنری ها در برنامه نویسی پایتون

نوع داده مفید دیگری که درون پایتون ساخته شده دیکشنری است

بعضی اوقات در سایر زبان ها مانند “associative memories” و “associative arrays” نیز دیکشنری پیدا می شود. برخلاف دنباله ها که با بازه ای از اعداد اندیس گذاری می شوند، دیکشنری ها با کلیدها اندیس گذاری می شوند که این کلیدها می توانند هر نوع غیر قابل تغییری باشند. رشته ها و اعداد همیشه می توانند کلید باشند. چندتایی ها در زمانی که تنها شامل رشته ها، اعداد و چندتایی های دیگر باشند، می توانند کلید باشند.

اگر چندتایی شامل هر گونه شی قابل تغییر ، مستقیم یا غیر مستقیم باشد، نمیتواند به عنوان کلید مورد استفاده قرار گیرد. از لیست ها نمی توان به عنوان کلید استفاده کرد زیرا آنها با استفاده از تخصیص اندیس، تخصیص بخش (slice) یا با استفاده از متدهای append() و extend() می توانند تغییر کنند.

بهتر است به دیکشنری به عنوان مجموعه ای از جفت "کلید:مقدار" نگاه کنیم با این شرط که کلید ها (درون یک دیکشنری) یکتا هستند. یک جفت پرانتز {} یک دیکشنری خالی ایجاد می کند. قرار دادن لیستی از جفت کلید:مقدار که با ویرگول از هم جداشده اند درون پرانتز ها ، کلید:مقدار اولیه را به دیکشنری اضافه می کند. همچنین دیکشنری ها در خروجی به این روش نوشته می شوند.

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

اگر list(d) را روی یک دیکشنری اعمال کنید، یک لیست از تمامی کلیدهای موجود در دیکشنری به ترتیب درج باز می گرداند ( اگر میخواهید که مرتب شود به جای آن از sorted(d) استفاده کنید). برای بررسی اینکه آیا یک کلید در دیکشنری وجود دارد از کلمه کلیدی in استفاده کنید. در اینجا مثالی کوچک که از دیکشنری استفاده کرده است را می بینیم:

1>>> tel = {'jack': 4098, 'sape': 4139}
1>>> tel['guido'] = 4127
1>>> tel
1{'jack': 4098, 'sape': 4139, 'guido': 4127}
1>>> tel['jack']
14098
1>>> del tel['sape']
1>>> tel['irv'] = 4127
1>>> tel
1{'jack': 4098, 'guido': 4127, 'irv': 4127}
1>>> list(tel)
1['jack', 'guido', 'irv']
1>>> sorted(tel)
1['guido', 'irv', 'jack']
1>>> 'guido' in tel
1True
1>>> 'jack' not in tel
1False

سازنده dict() مستقیما از دنباله های جفت کلید:مقدار دیکشنری می سازد.

1>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
1{'sape': 4139, 'guido': 4127, 'jack': 4098}

علاوه بر آن از درک مطلب دیکشنری (dict comprehensions) برای ساخت دیکشنری ها از عبارات کلید:مقدار دلخواه می توان استفاده کرد.

1>>> {x: x**2 for x in (2, 4, 6)}
1{2: 4, 4: 16, 6: 36}

گاهی ساده تر است، زمانی که کلیدها رشته های ساده هستند، جفت ها را با آرگومان های کلمه کلیدی مشخص کنیم:

1>>> dict(sape=4139, guido=4127, jack=4098)
1{'sape': 4139, 'guido': 4127, 'jack': 4098}

آموزش تکنیک های حلقه در برنامه نویسی python

هنگامی که در دیکشنری ها از حلقه استفاده شود، می توان با استفاده از متد items() کلید و مقدار متناظر با آن را به طور همزمان بازیابی کرد.

1>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
1>>> for k, v in knights.items():
1...     print(k, v)
1...
1gallahad the pure
1robin the brave

هنگامی که در یک دنباله از حلقه استفاده شود، با استفاده از تابع enumerate() میتوان اندیس مکان و مقدار متناظر با آن را به صورت همزمان بازیابی کرد.

1>>> for i, v in enumerate(['tic', 'tac', 'toe']):
1...     print(i, v)
1...
10 tic
11 tac
12 toe

برای حلقه زدن روی دو یا بیشتر دنباله به صورت همزمان، ورودی ها با استفاده از تابع zip() می توانند جفت شوند.

1>>> questions = ['name', 'quest', 'favorite color']
1>>> answers = ['lancelot', 'the holy grail', 'blue']
1>>> for q, a in zip(questions, answers):
1...     print('What is your {0}?  It is {1}.'.format(q, a))
1...
1What is your name?  It is lancelot.
1What is your quest?  It is the holy grail.
1What is your favorite color?  It is blue.

برای حلقه زدن روی یک دنباله به صورت معکوس، ابتدا دنباله را در جهت رو به جلو مشخص کنید، سپس تابع reversed() را فراخوانی کنید.

1>>> for i in reversed(range(1, 10, 2)):
1...     print(i)
1...
19
17
15
13
11

برای حلقه زدن روی یک دنباله به صورت مرتب شده، از تابع sorted() استفاده کنید که یک لیست جدید مرتب شده را باز می گرداند و در دنباله اولیه تغییری ایجاد نمی کند.

1>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
1>>> for f in sorted(set(basket)):
1...     print(f)
1...
1apple
1banana
1orange
1pear

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

1>>> import math
1>>> raw_data = [56.2, float('NaN'), 51.7, 55.3, 52.5, float('NaN'), 47.8]
1>>> filtered_data = []
1>>> for value in raw_data:
1...     if not math.isnan(value):
1...         filtered_data.append(value)
1...
1>>> filtered_data
1[56.2, 51.7, 55.3, 52.5, 47.8]

 

مباحث بیشتر درباره شرط ها در برنامه نویسی Python

شروط استفاده شده در عبارات while و if می تواند شامل هر عملگری باشد، نه فقط مقایسه. عملگرهای مقایسه ای in و not in وجود و عدم وجود یک مقدار درون یک دنباله را بررسی می کنند.

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

برای مثال a < b == c بررسی می کند که آیا a کمتر از b است و علاوه بر آن b مساوی c است. مقایسه ها ممکن است با استفاده از عملگرهای بولی (Boolean) مانند and و or ترکیب شوند، و خروجی مقایسه (یا هر عبارت بولی دیگر) با استفاده از not منفی شود. اینها نسبت به عملگرهای مقایسه ای اولویت پایین تری دارند.

بین آنها، not بالاترین اولویت و or پایین ترین اولویت را دارد، بنابراین A and not B or C برابر است با (A and (not B)) or C. مثل همیشه، از پرانتز ها برای بیان ترکیب بندی دلخواه می توان استفاده کرد. عملگرهای بولی and و or عملگرهای مدار کوتاه نیز نامیده می شوند. آرگومان های آنها از چپ به راست بررسی می شوند، و به محض تعیین خروجی، بررسی متوقف می شود.

برای مثال، اگر a و c صحیح (true) باشند اما b غلط باشد (false)،A and B and C عبارت c را بررسی نمی کند. زمانی که به عنوان یک مقدار عمومی نه بولی مورد استفاده قرار می گیرد، مقدار بازگشتی یک عملگر مدار کوتاه، آخرین آرگومان بررسی شده است. می توان نتیجه یک مقایسه یا سایر عبارات بولی را به یک متغیر، تخصیص داد. برای مثال:

 

1>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
1>>> non_null = string1 or string2 or string3
1>>> non_null
1'Trondheim'

توجه داشته باشید که در پایتون، بر خلاف C ، تخصیص درون عبارات باید صراحتا توسط عمگر =: انجام شود. با این کار از یک کلاس مشترک از اشتباهات مواجه شده در برنامه نویسی C جلوگیری می شود. نوشتن = در یک عبارت، در حالی که منظور == بوده است.

آموزش پایتون ادامه دارد

 

آموزش پایتون از صفر تا 100

۹۶ بازديد

سلام دوستان ...در قسمت قبل آموزش پایتون مفاهیم زیر را یاد دادیم

  • معرفی زبان برنامه نویسی پایتون
  • فراخوانی مفسر در زبان برنامه نویسی پایتون
  • حالت تعاملی در Python
  • آموزش استفاده از رمزنگاری متن کد در مفسر پایتون
  • استفاده از پایتون به عنوان ماشین حساب
  • رشته ها در برنامه نویسی python
  • لیست ها در برنامه نویسی python

حال با ادامه آموزش پایتون همراه ما باشید.

مراحل اولیه برای برنامه نویسی پایتون Python

1البته که می توان از پایتون برای کارهای پیچیده تر از دو به اضافه دو استفاده کرد. برای مثال، می توان یک زیر دنباله اولیه سری فیبوناتچی را به صورت زیر نوشت:
1>>> # Fibonacci series:
1... # the sum of two elements defines the next
1... a, b = 0, 1
1>>> while a < 10:
1...     print(a)
1...     a, b = b, a+b
1...
10
11
11
12
13
15
18

این مثال چندین ویژگی جدید را معرفی می کند

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

2. حقله while تا زمانی که شرط (در اینجا a < 10) صحیح (true) باشد اجرا می شود. در پایتون همانند C، هر مقدار صحیح(integer) غیر صفر صحیح (true) است. صفر غلط(false) است . شرط نیز ممکن است مقدار رشته یا لیست باشد؛ در واقع هر داده ترتیبی می تواند باشد. هر چیزی با طول غیر صفر صحیح و دنباله های خالی غلط هستند. تست استفاده شده در این مثال یک مقایسه ساده است. عملگرهای مقایسه ای استاندارد مشابه C نوشته می شوند. < کمتر از ، > بزرگتر از ، == تساوی ، <= کمتر مساوی ، >= بزرگتر مساوی ، =! نا مساوی.

3. بدنه حلقه فرورفتگی دارد. فرو رفتگی روش پایتون برای دسته بندی عبارات است. در prompt تعاملی، برای هر خط فرو رفته باید یک tab یا چندین فاصله تایپ کنید. در عمل به وسیله ویرایشگر متن، ورودی های پیچیده تری را برای پایتون آماده می کنید. همه ویرایشگر های متن محبوب دارای تسهیلات ایجاد فرورفتگی خودکار هستند. زمانی که یک عبارت ترکیبی به صورت تعاملی وارد شود، یک خط خالی باید پس آن وجود داشته باشد که نشان دهنده تکمیل آن باشد (زیرا پارسر(parser)نمیتواند حدس بزند که شما چه زمانی خط آخر را نوشته اید). توجه داشته باشید که همه خطوط درون یک بلاک باید به یک اندازه فرو رفته باشند.

4. تابع print() مقدار آرگومان هایی که به آن داده شده را چاپ می کند. عملکرد این تابع متفاوت است از نوشتن ساده عبارات مورد نظر(مانند نوشتن در مثال ماشین حساب). دلیل این تفاوت نحوه مدیریت چندین آرگومان، مقادیر اعشاری و رشته ها توسط این تابع است. رشته ها بدون علامت نقل قول چاپ می شوند و در بین موارد فاصله قرار می گیرد ، بنابراین می توانید به همه چیز به زیبایی شکل دهید. مانند این:

1>>> i = 256*256
1>>> print('The value of i is', i)
1The value of i is 65536

از آرگومان کلمه کلیدی end برای جلوگیری از اعمال خط جدید پس از خروجی می توان استفاده کرد و یا می توان خروجی را با یک رشته متفاوت اتمام کرد.

1>>> a, b = 0, 1
1>>> while a < 1000:
1...     print(a, end=',')
1...     a, b = b, a+b
1...
10,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

توجه !

1. از آنجایی که ** اولویت بالاتری نسبت به – دارد، -3**2 به صورت -(3**2) تفسیر می شود ، پس بنابراین نتیجه -9 می شود. برای جلوگیری از این اتفاق و رسیدن به نتیجه 9، می توان از (-3)**2 استفاده کرد.

2. بر خلاف سایر زبان ها، کاراکتر های خاص مانند n با هر دوی نقل قول تکی ('...') و دوتایی ("...") معنای یکسان دارند. تنها تفاوت در این دو این است که در نقل قول تکی نیازی به گریز از " نیست( اما باید از ’ گریز کرد) و بالعکس.

ابزارهای کنترل در زبان پایتون Python

آموزش عبارات if در زبان برنامه نویسی Python

شاید شناخته شده ترین نوع عبارات، عبارت if باشد. برای مثال:

1>>> x = int(input("Please enter an integer: "))
1Please enter an integer: 42
1>>> if x < 0:
1...     x = 0
1...     print('Negative changed to zero')
1... elif x == 0:
1...     print('Zero')
1... elif x == 1:
1...     print('Single')
1... else:
1...     print('More')
1...

میتوان به تعداد دلخواه (هیچ یا بیشتر ) بخش elif قرار داد، و بخش else اختیاری است. کلمه کلیدی elif خلاصه شده else if است، و بهتر است از اعمال فرورفتگی اضافی خودداری شود. یک دنباله if….elif….elif…. جایگزینی برای عبارات switch یا case موجود در سایر زبان ها است.

آموزش عبارات for در زبان برنامه نویسی Python

عبارات for در پایتون با آنچه که در C یا پاسکال استفاده می کردید، ممکن است کمی متفاوت باشد. به جای روند تکرار همیشگی که روی دنباله ای از اعداد حسابی که به صورت افزایشی تغییر میکند (مانند پاسکال)، یا به جای دادن این امکان به کاربر که بتواند گام تکرار و شرط پایان حلقه را مشخص کند (مانند C)، عبارت for در پایتون روی موارد هر نوع دنباله ای ( یک رشته یا یک لیست)، بر اساس همان ترتیبی که در دنباله قرار دارند، تکرار می شوند. برای مثال:

1>>> # Measure some strings:
1... words = ['cat', 'window', 'defenestrate']
1>>> for w in words:
1...     print(w, len(w))
1...
1cat 3
1window 6
1defenestrate 12

کدی که یک مجموعه را تغییر می دهد و همزمان روی عناصر همان مجموعه تکرار می کند (درون حلقه for)، می تواند برای اجرای صحیح چالش بر انگیز باشد. به جای آن، معمولا سر راست تر است که روی یک کپی از مجموعه حلقه بزنید یا یک مجموعه جدید ایجاد کنید.

1# Strategy:  Iterate over a copy
1for user, status in users.copy().items():
1    if status == 'inactive':
1        del users[user]
1 
1# Strategy:  Create a new collection
1active_users = {}
1for user, status in users.items():
1    if status == 'active':
1        active_users[user] = status

آموزش تابع range() در برنامه نویسی پایتون

اگر احتیاج دارید که روی دنباله ای از اعداد در حلقه تکرار کنید، تابع داخلی range() به کار می آید. این تابع توالی از اعداد حسابی تولید می کند.

1>>> for i in range(5):
1...     print(i)
1...
10
11
12
13
14

نقطه پایان داده شده هیچگاه جزء ای از دنباله تولید شده نیست. Range(10) ده مقدار تولید می کند که اندیس های مجاز برای عناصر یک دنباله به طول ده هستند. امکان دارد که بخواهیم بازه از عددی دیگر شروع شود، و یا یک واحد افزایشی متفاوت مشخص کنیم (حتی منفی، گاهی به آن گام می گویند).

1range(5, 10)
1   5, 6, 7, 8, 9
1 
1range(0, 10, 3)
1   0, 3, 6, 9
1 
1range(-10, -100, -30)
1  -10, -40, -70

برای تکرار روی اندیس های یک دنباله، می توانید range() و len() را مانند زیر ترکیب کنید:

1>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
1>>> for i in range(len(a)):
1...     print(i, a[i])
1...
10 Mary
11 had
12 a
13 little
14 lamb

اگر چه در بیشتر این موراد، راحت تر است از تابع enumerate() استفاده شود. لینک Looping Techniques را ببینید. اگر فقط یک range را چاپ کنید، اتفاق عجیبی می افتد:

1>>> print(range(10))
1range(0, 10

شی باز گردانده شده توسط تابع range() به طرق مختلف به صورت یک لیست رفتار می کند، در حالی که واقعا لیست نیست. شی ای است که عناصر پی در پی دنباله مورد نظر را در زمان تکرار در حلقه باز می گرداند. اما واقعا یک لیست نیست، بدین ترتیب در ذخیره فضا صرفه جویی می کند. می گوییم چنین شی ای قابل تکرار است، یعنی به عنوان هدف برای توابع و ساختار هایی که انتظار چیزی را دارند که بتوان از آن عناصر ترتیبی به دست آورد تا هنگامی که عناصر خاتمه یابند ، مناسب است. دیدیم که عبارت for دارای این چنین ساختاری است، درحالی که یک مثال از یک تابع که یک شی قابل تکرار را پذیرفته تابع sum() است:

1>>> sum(range(4))  # 0 + 1 + 2 + 3
16

در ادامه با توابع بیشتری آشنا خواهیم شد که تکرار پذیر ها را به عنوان آرگومان دریافت می کنند و آنها را باز می گردانند. در انتها شاید کنجکاو باشید بدانید چگونه از یک range یک لیست بگیرید. و این راه حل است:

1>>> list(range(4))
1[0, 1, 2, 3]

در بخش ساختار های داده، جزییات بیشتری درباره list() ارائه می دهیم.

آموزش پایتون ادامه دارد