سایر توضیحات
مقدمه
چرا پایتون 1
چگونه کدنویسی را بیاموزیم 1
این کتاب مناسب کیست 2
وبسایت کتاب 2
بخش اول؛ آموزش برنامهنویسی 3
فصل 1؛ همه مارها نمیخزند! 5
چند کلمه در مورد زبان 6
نصب پایتون 6
نصب پایتون روی ویندوز 7
نصب پایتون روی macOS 8
نصب پایتون روی Ubuntu 9
نصب پایتون روی سیستمعامل Raspberry Pi یا Raspbian 10
پس از نصب پایتون 12
ذخیره کردن برنامههای پایتون 13
آنچه در این فصل یاد گرفتید 15
فصل 2؛ محاسبات و متغیرها 17
محاسبه با پایتون 17
عملگرهای پایتون 19
ترتیب عملیات 19
متغیرها مانند برچسبها هستند 20
استفاده از متغیرها 22
آنچه در این فصل یاد گرفتید 24
فصل 3؛ رشتهها، لیستها، تاپلها و دیکشنریها 25
رشتهها 25
ایجاد رشتهها 25
رسیدگی به مشکلات با رشتهها 27
جاسازی مقادیر در رشتهها 29
ضرب رشتهها 30
لیستها از رشتهها قدرتمندتر هستند 31
افزودن موارد به یک لیست 33
حذف موارد از یک لیست 34
لیست حساب 34
تاپلها 36
دیکشنریهای پایتون 37
آنچه در این فصل آموختیم 39
پازلهای برنامهنویسی 39
شماره 1: موارد دلخواه 39
شماره 2: شمارش رزمندگان 40
شماره 3: خوشآمدگویی! 40
شماره 4: نامه چند خطی 40
فصل 4؛ طراحی با لاکپشت 41
استفاده از ماژول TURTLES در پایتون 41
ایجاد یک بوم 42
حرکت لاکپشت 43
آنچه در این فصل یاد گرفتید 48
پازلهای برنامهنویسی 48
شماره 1: یک مستطیل 48
شماره 2: مثلث 48
شماره 3: یک جعبه بدون گوشه 48
شماره 4: یک جعبه کج شده بدون گوشه 49
فصل 5؛ پرسیدن سؤال با IF و ELSE 51
عبارتهای if 51
بلوک، گروهی از عبارات برنامهنویسی است 52
شرطها به ما کمک میکنند تا چیزها را با هم مقایسه کنیم 54
عبارتهای if-THEN-ELSE 55
عبارتهای if و ELIF 56
شرطهای ترکیبی 57
متغیرهای بدون مقدار NONE 58
تفاوت بین رشتهها و اعداد 59
آنچه در این فصل یاد گرفتید 61
پازلهای برنامهنویسی 62
شماره 1: آیا شما ثروتمند هستید؟ 62
شماره 2: چشمکزن TWINKIES! 62
شماره 3: فقط عدد مناسب 62
شماره 4: من میتوانم با آن نینجاها مبارزه کنم 62
فصل 6؛ حلقه زدن (LOOPING) 63
استفاده از حلقه FOR 63
وقتی در مورد حلقه زدن صحبت میکنیم . . . 70
آنچه در این فصل یاد گرفتید 73
پازلهای برنامهنویسی 73
شماره 1: حلقه سلام 73
شماره 2: اعداد زوج 73
شماره 3: پنج ماده مورد علاقه من 74
شماره 4: وزن شما در ماه 74
فصل 7؛ بازیافت کد با توابع و ماژولها 75
استفاده از توابع 76
بخشهایی از یک تابع 76
متغیرها و قلمرو 77
استفاده از ماژولها 80
تابع ورودی 82
آنچه در این فصل یاد گرفتید 83
پازلهای برنامهنویسی 83
شماره 1: تابع پایه وزن ماهانه 83
شماره 2: تابع وزن ماهانه و سالانه 84
شماره 3: برنامه وزن ماهانه 84
شماره 4: برنامه وزن در مریخ 84
فصل 8؛ نحوه استفاده از کلاسها و اشیاء 85
تقسیم کردن چیزها به کلاسها 86
فرزندان و والدین 87
افزودن اشیاء به کلاسها 88
تعریف توابع کلاسها 88
اضافه کردن مشخصات کلاس 89
چرا از کلاسها و اشیاء استفاده کنیم؟ 91
اشیاء و کلاسها در تصاویر 92
سایر ویژگیهای مفید اشیاء و کلاسها 94
توابع ارثی 95
توابع، توابع دیگر را فراخوانی میکنند 96
مقداردهی اولیه به یک شئ 98
آنچه در این فصل یاد گرفتید 99
پازلهای برنامهنویسی 99
شماره 1: اختلاط زرافه 99
شماره 2: پنجه لاکپشت 100
شماره 3: دو مارپیچ کوچک 100
شماره 4: چهار مارپیچ کوچک 100
فصل 9؛ گرافیک بیشتر لاکپشت 101
با مربع اصلی شروع کنید 101
طراحی ستارهها 102
طراحی ماشین 106
رنگآمیزی چیزها 108
تابعی برای رسم یک دایره پر شده 108
ایجاد سیاه و سفید خالص 109
تابع رسم مربع 110
طراحی مربعهای پر شده 111
طراحی ستارههای پر شده 113
آنچه در این فصل یاد گرفتید 115
پازلهای برنامهنویسی 115
شماره 1: رسم یک هشت ضلعی 115
شماره 2: رسم یک هشت ضلعی پر شده 116
شماره 3: یکی دیگر از توابع رسم ستاره 116
شماره 4: چهار مارپیچ بازبینی شده است 116
فصل 10؛ استفاده از TKINTER برای گرافیک بهتر 117
ایجاد یک دکمه قابل کلیک 118
استفاده از پارامترهای نامگذاری شده 120
ایجاد یک بوم برای طراحی 121
طراحی خطوط 122
طراحی جعبهها 123
رسم تعداد زیادی مستطیل 125
تنظیم رنگ 127
طراحی قوس 130
رسم چند ضلعی 132
نمایش متن 133
نمایش تصاویر 135
ایجاد انیمیشن پایه 137
واکنش یک شئ به چیزی 139
روشهای بیشتر برای استفاده از شناسه 142
آنچه در این فصل یاد گرفتید 143
پازلهای برنامهنویسی 143
شماره 1: صفحه را با مثلثها پر کنید 143
شماره 2: مثلث متحرک 144
شماره 3: عکس متحرک 144
شماره 4: صفحه را با عکس پر کنید 144
بخش دوم؛ BOUNCE! 145
فصل 11؛ شروع اولین بازی شما: BOUNCE! 147
ضربه زدن به توپ پرنده 147
ایجاد بوم بازی 148
ایجاد کلاس BALL 149
افزودن برخی اقدامات 151
حرکت دادن توپ 152
جهش توپ 153
تغییر جهت شروع حرکت توپ 155
آنچه در این فصل یاد گرفتید 157
پازلهای برنامهنویسی 157
شماره 1: تغییر رنگها 157
شماره 2: رنگهای چشمک زن 157
شماره 3: مواضع خود را بگیرید! 157
شماره 4: اضافه کردن پارو. . . ؟ 158
فصل 12؛ پایان اولین بازی: BOUNCE! 159
اضافه کردن پارو 159
حرکت دادن پارو 161
پیدا کردن زمانی که توپ به پارو برخورد میکند 162
اضافه کردن یک عنصر شانس 165
آنچه در این فصل یاد گرفتید 168
پازلهای برنامهنویسی 168
شماره 1: شروع بازی را به تأخیر بیندازید 168
شماره 2: یک "GAME OVER" مناسب 168
شماره 3: به توپ شتاب دهید 169
شماره 4: امتیاز بازیکن را ثبت کنید 169
بخش سوم؛ آقای استیکمن برای خروج مسابقه میدهد 171
فصل 13؛ ایجاد گرافیک برای بازی MR. STICK MAN 173
طرح بازی MR. STICK MAN 173
دریافت GIMP 174
ایجاد عناصر بازی 176
تهیه یک تصویر شفاف 176
طراحی آقای استیکمن 177
آقای استیکمن که در حال دویدن به سمت راست است 178
آقای استیکمن که در حال دویدن به سمت چپ است 179
طراحی سکوها 179
طراحی درب 180
طراحی پسزمینه 181
شفافیت 182
آنچه در این فصل یاد گرفتید 183
فصل 14؛ توسعه بازی MR. STICK MAN 185
ایجاد کلاس GAME 185
تنظیم عنوان پنجره و ایجاد بوم 185
تکمیل تابع __ __INIT 186
ایجاد تابع MAINLOOP 188
ایجاد کلاس COORDS 190
بررسی برخورد 190
برخورد اسپرایتها به صورت افقی 191
برخورد اسپرایتها به صورت عمودی 193
قرار دادن همه اینها با هم: کد تشخیص برخورد نهایی 193
تابع COLLIDED_LEFT 193
تابع COLLIDED_RIGHT 194
تابع COLLIDED_TOP 195
تابع COLLIDED_BOTTOM 195
ایجاد کلاس SPRITE 196
افزودن سکوها 197
افزودن یک شئ سکو 198
افزودن دستهای از سکوها 199
آنچه در این فصل یاد گرفتید 200
پازلهای برنامهنویسی 201
شماره 1: صفحه شطرنجی 201
شماره 2: صفحه شطرنجی با دو تصویر 201
شماره 3: قفسه کتاب و چراغ 201
شماره 4: پسزمینه تصادفی 202
فصل 15؛ ایجاد آقای استیکمن 203
اولیهسازی شکل چوبی 203
بارگذاری تصاویر شکل چوبی 204
راهاندازی متغیرها 205
اتصال به کلیدها 206
چرخاندن شکل چوبی به چپ و راست 206
ساختن JUMP شکل چوبی 207
آنچه تا اینجای کار داریم 208
آنچه در این فصل یاد گرفتید 210
فصل 16؛ تکمیل بازی آقای استیکمن 211
متحرکسازی شکل چوبی 211
ایجاد تابع ANIMATE 212
بررسی حرکت 212
تغییر تصویر 214
گرفتن موقعیت شکل چوبی 215
حرکت دادن شکل چوبی 216
شروع تابع MOVE 216
آیا شکل چوبی به پایین یا بالای بوم برخورد کرده است؟ 218
آیا شکل چوبی به دو طرف بوم برخورد کرده است؟ 218
برخورد با اسپرایتهای دیگر 219
برخورد در پایین 220
بررسی چپ و راست 221
آزمایش اسپرایت شکل چوبی 223
خروج! 224
ایجاد کلاس DOORSPRITE 224
تشخیص درب 225
افزودن شئ DOOR 225
بازی نهایی 226
آنچه در این فصل یاد گرفتید 232
پازلهای برنامهنویسی 232
شماره 1: "YOU WIN!" 232
شماره 2: متحرک کردن درب 232
شماره 3: سکوهای متحرک 233
شماره 4: لامپ به عنوان اسپرایت 233
فصل 17؛ گام بعدی چیست؟ 235
نصب پایتون PIP روی ویندوز 236
نصب پایتونPIP روی اوبونتو 236
نصب پایتونPIP روی رزبریپای 237
نصب پایتونPIP در MACOS 238
آزمایش PYGAME 238
سایر بازیها و گرافیکهای برنامهنویسی 240
سایر زبانهای برنامهنویسی 240
JAVASCRIPT 241
JAVA 241
C# 241
C/C++ 242
RUBY 243
GO 243
RUST 243
SWIFT 244
کلمات پایانی 244
پیوست الف؛ کلیدواژههای پایتون 245
AND 245
AS 246
ASSERT 246
ASYNC 247
AWAIT 247
BREAK 247
CLASS 248
CONTINUE 248
DEF 249
DEL 249
ELIF 249
ELSE 250
EXCEPT 250
FINALLY 250
FOR 250
FROM 250
GLOBAL 252
IF 252
IMPORT 253
IN 253
IS 253
LAMBDA 254
NONLOCAL 254
NOT 254
OR 254
PASS 255
RAISE 256
RETURN 257
TRY 257
WHILE 257
WITH 258
YIELD 258
پیوست ب؛ توابع داخلی پایتون 259
استفاده از توابع داخلی 259
تابع ABS 259
تابع ALL 261
تابع ANY 261
تابع BIN 262
تابع BOOL 262
تابع CALLABLE 264
تابع CHR 264
تابع DIR 265
تابع DIVMOD 266
تابع EVAL 267
تابع EXEC 268
تابع FLOAT 269
تابع INPUT 270
تابع INT 270
تابع LEN 271
تابع LIST 272
توابع MAX و MIN 272
تابع ORD 274
تابع POW 274
تابع RANGE 275
تابع SUM 276
باز کردن یک فایل در پایتون 276
باز کردن یک فایل ویندوز 276
باز کردن یک فایل MACOS 277
باز کردن یک فایل اوبونتو یا رزبریپای 277
نوشتن در فایلها 278
پیوست پ؛ عیب یابی 279
خطاهای ""TK در وارد کردن لاکپشت در اوبونتو 279
خطایATTRIBUTE در استفاده از لاکپشت 279
مشکلات اجرای لاکپشت 280
کلاس بدون آرگومانها 281