آموزش برنامه نویسی Python 3.12
(پیش فروش)
مقدمه ای بر اصول پایه ای پایتون
حسین یعسوبی
شابک: 4-52-7785-622-978
مهر 1404
572
زمان باقیمانده تا پایان پیش فروش
550,000 تومان
670,000 تومان
-
+
| نوبت چاپ | یک |
|---|---|
| وزن | 1200 گرم |
| جلد | 1 از 1 |
| موجود است؟ | خیر |
|---|---|
| چاپ شده است؟ | خیر |
| در حال پیش فروش است؟ | بلی |
| کتاب الکترونیکی است؟ | خیر |
کتابی که در دست دارید، چهارمین ویرایش از کتاب پایتون "فابریزیو رومانو" است که همچون نسخه 3.9، بهکمک هنریش کراکر، آخرین بهروزرسانیها را در محتویات کتاب و کدهای آن پیاده کردهاند.
این کتاب نظر بسیاری از متخصصان را به خود جلب کرده است؛ چرا که برنامهنویسی پایتون را از سطح مبتدی آغاز کرده و تا سطح تقریبا پیشرفته ادامه داده و در یک فصل نیز به کتابخانههای علم داده پرداخته است. بنابراین اگر بگویم ترجمه بهترین کتاب آموزش برنامهنویسی پایتون موجود است، گزاف نگفتهام. با کمی گشت و گذار در وب، به این نتیجه خواهید رسید.
فصل 1؛ معرفی کوتاه پایتون 23
معرفی کوتاه پایتون 24
ورود به پایتون 26
درباره پایتون 27
قابلحمل بودن 27
انسجام 27
بهرهوری توسعهدهنده 27
یک کتابخانه وسیع 28
کیفیت نرمافزار 28
یکپارچگی نرمافزار 28
علم داده 28
رضایتمندی و لذت 28
موانع چیست؟ 29
امروزه چه افرادی از پایتون استفاده میکنند؟ 30
تنظیم محیط 30
نصب پایتون 30
تنظیم مفسر پایتون 31
منابع نصب مفید 31
نصب پایتون روی ویندوز 31
نصب پایتون روی macOS 33
نصب پایتون روی لینوکس 33
کنسول پایتون 34
درباره محیطهای مجازی 34
نخستین محیط مجازیتان 36
نصب کتابخانههای شخص ثالثی 39
کنسول 40
چگونگی اجرای یک برنامه پایتون 40
اجرای اسکریپتهای پایتون 40
اجرای پوسته تعاملی پایتون 41
اجرای پایتون بهشکل یک سرویس 42
اجرای پایتون بهشکل یک برنامهکاربردی GUI 42
کدهای پایتون چگونه سازماندهی میشود 43
چگونه از ماژولها و پکیجها استفاده کنیم؟ 45
مدل اجرایی پایتون 47
نامها و فضاهای نام 47
قلمروها 49
راهنماییهایی درباره نحوه کدنویسی صحیح 54
فرهنگ پایتون 55
نکتهای از IDEها 56
سخنی درباره هوش مصنوعی 57
خلاصه 58
فصل 2؛ انواع دادههای توکار 59
هر چیزی یک شئ است 59
تغییرپذیری 60
اعداد 62
اعداد صحیح 62
اعداد بولین 65
اعداد حقیقی 66
اعداد مختلط (complex) 67
اعداد کسری و اعشاری 68
ترتیبهای تغییرناپذیر 69
رشتهها و بایتها 69
Encoding and decoding strings 71
ایندکس کردن و برش دادن رشتهها 72
فرمتبندی رشته 73
تاپلها 74
ترتیبهای تغییرپذیر 76
لیستها 76
آرایههای Byte 79
انواع set 80
انواع نگاشت: دیکشنریها 82
نوعهای دادهها 87
Dates and Times 87
کتابخانه استاندارد 88
کتابخانههای شخص ثالثی 92
ماژول collections 93
namedtuple 94
defaultdict 95
ChainMap 96
Enums 97
نکات پایانی 98
کش کردن مقادیر کوچک 99
چگونگی انتخاب ساختارهای دادهها 99
درباره indexing و slicing 101
درباره نامها 102
خلاصه 102
فصل 3؛ شرطها و تکرارها 105
برنامهنویسی شرطی 105
گزاره if 105
یک else ویژه: elif 106
گزارههای if تودرتو 108
عملگر مبنای سه 109
تطابق الگو 110
حلقهزنی (Looping) 111
حلقه for 112
تکرار روی یک بازه 112
تکرار روی یک ترتیب 113
تکرارکردنیها و تکرارپذیرها 114
تکرار کردن روی چند ترتیب 116
حلقه while 118
شکست (break) و ادامهی (continue) گزارهها 121
یک بند else ویژه 124
عبارتهای تخصیص (assignment expressions) 125
گزارهها و عبارتها 126
استفاده از عملگر شیر دریایی 126
یک گوشزد 128
درج همه اینها با همدیگر 128
یک تولیدکننده عدد اول 129
اعمال تخفیفها 131
نگاهی گذرا به ماژول itertools 133
تکرارکنندههای infinite 134
پایان یافتن تکرارکنندهها روی کوتاهترین ترتیب ورودی 134
مولدهای ترکیبی 135
خلاصه 136
فصل 4؛ توابع، بلوکهای ساختمانی کد 137
چرا از توابع استفاده میکنیم؟ 138
کاهش کدهای تکراری 139
تفکیک یک کار پیچیده 139
پنهانسازی جزئیات پیادهسازی 140
بهبود خوانایی 141
بهبود قابلیت ردیابی 142
قلمروها و وضوح نام 143
گزارههای global و nonlocal 144
پارامترهای ورودی 146
پاسدادن آرگومان 147
تخصیص به نام پارامترها 148
تغییر یک شئ تغییرپذیر 148
پاس دادن آرگومانها 149
آرگومانهای جایگاهی 150
آرگومانهای کلیدواژهای 150
آنپک کردن تکرارپذیری (iterable unpacking) 151
آنپککردن دیکشنری (dictionary unpacking) 151
ترکیب انواع آرگومانها 152
تعریف پارامترها 153
پارامترهای اختیاری 153
پارامترهای جایگاه متغیر 154
پارامترهای کلیدواژه متغیر 155
پارامترهای فقط جایگاهی 156
پارامترهای فقط کلیدواژهای 158
ترکیب پارامترهای ورودی 158
مثالهای امضا 160
پرهیز از تلهی پیشفرضهای تغییرپذیر 161
مقادیر بازگشتی 162
بازگرداندن چند مقدار 164
چند نکته مهم 165
توابع بازگشتی 165
توابع بی نام 166
خصوصیات تابع (Function attributes) 168
توابع داخلی (پیشساخته) 169
مستندسازی کد 170
درونریزی اشیاء 171
درونریزیهای وابسته (Relative Imports) 173
مثال پایانی 174
خلاصه 175
فصل 5؛ خلاصهها و مولدها 177
(COMPREHENSIONS & GENERATORS) 177
توابع map، zip و filter 179
Map 179
Zip 182
فیلتر 184
Comprehensions (خلاصهها) 184
comprehensionهای تودرتو 186
فیلتربندی یک comprehension 187
Dictionary comprehensions 190
Set comprehensions 191
مولدها (generators) 191
توابع مولد 192
رفتن به آنسوی next 195
عبارت yield from 197
عبارتهای مولد (generator expressions) 198
چند نکته اجرایی 201
افراطی نکردن خلاصهها و مولدها 205
بومیسازی نامها 208
رفتار مولد در توکارها 210
آخرین مثال 211
خلاصه 213
فصل 6؛ شئگرایی، دکوراتورها و تکرارکنندهها 215
دکوراتورها 215
یک کارخانه دکوراتور 222
برنامهنویسی شئگرا (OOP) 224
سادهترین کلاس پایتون 225
فضاهاینام شئ و کلاس 226
سایهبندی خصیصه 227
آرگومان self 228
آمادهسازی آغازین یک نمونه 229
OOP درباره استفاده دوباره کد است 230
وراثت و ترکیب 230
دسترسی یک کلاس مبنا 236
چند-وراثتی 238
Method resolution order (MRO) 241
متدهای کلاس و ایستا 243
متدهای ایستا (static methods) 243
متدهای کلاس 245
متدهای اختصاصی و name mangling 247
دکوراتور property 249
دکوراتور cached_property 251
اضافهبار دادن عملگر (Operator overloading) 254
چند ریختی- یک بازبینی مختصر 255
کلاسهای data 255
نوشتن یک تکرارکننده سفارشی 256
خلاصه 258
فصل 7؛ استثناها و مدیران محتوا 259
استثناها 259
بالا آمدن استثناها 261
تعریف استثناهای شخصی 262
Tracebacks 262
رسیدگی به استثناها 263
گروههای استثناء 268
نه فقط برای خطاها 273
مدیران محتوا (Context Managers) 274
مدیران محتوای کلاس-محور 277
مدیران محتوای مولد-محور 279
خلاصه 281
فصل 8؛ حفظ دائمی فایلها و دادهها 283
کار با فایلها و دایرکتوریها 283
بازکردن فایلها 284
استفاده از یک مدیر محتوا برای بازکردن یک فایل 285
خواندن و نوشتن در یک فایل 286
خواندن و نوشتن در حالت باینری 287
محافظت دربرابر بازنویسی یک فایل موجود 288
بررسی موجود بودن فایل و دایرکتوری 288
دستکاری فایلها و دایرکتوریها 289
دستکاری نام مسیرها 291
فایلها و دایرکتوریهای موقتی 292
محتویات دایرکتوری 293
فشردهسازی فایل و دایرکتوری 294
تبادل فرمتهای دادهها 295
کار با JSON 296
انکدینگ/دکدینگ سفارشی با JSON 299
IO، جریانها و درخواستها 303
استفاده از یک جریان درون-حافظهای 304
ایجاد درخواستهای HTTP 305
ذخیره دائمی دادهها روی دیسک 308
سریالیکردن دادهها با pickle 308
ذخیره دادهها با shelve 310
ذخیرهسازی دادهها در یک دیتابیس 311
فایلهای پیکربندی 319
فرمتهای مرسوم 320
فرمت پیکربندی INI 320
فرمت پیکربندی TOML 323
خلاصه 325
فصل 9؛ رمزنگاری و توکنها 327
ضرورت رمزنگاری 327
راهنماییهای مفید 328
Hashlib 328
HMAC 332
Secrets 333
اعداد تصادفی 333
تولید توکن 334
تطبیق digest 336
توکنهای JSON Web 336
ادعاهای رجیسترشده 339
ادعاهای زمان-محور 340
ادعاهای Auth-related 341
استفاده از الگوریتمهای نامتقارن (کلید-عمومی) 344
مراجع مفید 345
خلاصه 346
فصل 10؛ تست کردن 347
آزمایش برنامهکاربردی خود 347
تشریح آناتومی یک آزمایش 350
خط مشئهای آزمایش کردن 351
آزمایش یونیت (واحد) 353
نوشتن یک آزمایش واحد 353
اشیاء ساختگی و وصلهبندی 355
بیانیهها 355
آزمایش یک مولد CSV 355
مرزبندیها و سطوح جزئیات 369
آزمایش تابع export 370
نقطه نظرهای پایانی 374
توسعه آزمایش-محور 375
خلاصه 378
فصل 11؛ دیباگ و رفع اشکال 379
تکنیکهای دیباگکردن 380
دیباگکردن با چاپ 380
دیباگ کردن با یک تابع سفارشی 381
استفاده از دیباگر پایتون 383
تفتیش logها 387
تکنیکهای دیگر 390
خواندن tracebackها 390
ادعاها (Assertions) 390
محل یافتن اطلاعات 391
راهنماییهای رفع اشکال 392
جایی برای سرکشی 392
استفاده از آزمایشها برای دیباگ 393
مانیتورینگ 393
پروفایل کردن پایتون 393
چه زمانی پروفایل بگیریم؟ 397
اندازهگیری زمان اجرا 398
خلاصه 399
فصل 12؛ مقدمهای بر TYPE HINTING 401
دیدگاه پایتون در نوعها 401
نوعدهی اردکی 402
تاریخچه اهمیت نوع 403
مزایای نشانهگذاری نوع یا type hinting 405
حاشیهنویسیهای نوع 406
حاشیهنویسی توابع 406
نوع Any 407
اسامی مستعار type 408
فرمهای ویژه (Special forms) 409
اختیاری (Optional) 409
Union (اتحاد) 410
Generics 411
حاشیهنویسی متغیرها 412
حاشیهنویسی ظرفها 413
حاشیهنویسی تاپلها 414
تاپلهای طول ثابت 414
تاپلهای با فیلدهای نامدار 414
تاپلهای طول دلخواه 416
کلاسهای پایه انتزاعی Abstract base classes (ABCs) 416
بدویهای نوعدهی ویژه 419
نوع Self 420
حاشیهنویسی پارامترهای متغیر 421
پروتکلها 422
کنترلر نوع ایستای Mypy 425
برخی منابع مفید 428
خلاصه 429
فصل 13؛ مختصری درباره علم داده 431
IPython و Jupyter Notebook 432
استفاده از Anaconda 434
آغاز کار با Notebook 434
سروکله زدن با دادهها 435
تنظیم Notebook 436
آمادهسازی دادهها 436
پاکسازی دادهها 441
ایجاد DataFarme 443
آنپک کردن نام کمپین 446
آنپک کردن دادههای کاربر 448
تغییرنام ستونها 448
مقایسه برخی سنجهها 449
پاکسازی هر چیزی 452
ذخیرهسازی DataFrame در یک فایل 452
مصورسازی نتایج 453
از اینجا به کجا برویم؟ 460
خلاصه 462
فصل 14؛ مقدمهای بر توسعه API 463
پروتکل انتقال متن (Hypertext Transfer Protocol) 464
وب چگونه کار میکند؟ 464
کدهای وضعیت پاسخ 466
مقدمهای بر APIها 466
API چیست؟ 466
هدف از یک API چیست؟ 467
پروتکلهای API 468
فرمتهای تبادل-داده API 469
API خط آهن 469
مدلینگ دیتابیس 471
تنظیم اصلی و پیکربندی 478
تنظیمات اپلیکیشن 479
اندپوینتهای ایستگاه 481
خواندن دادهها 481
ایجاد دادهها 488
بهروزرسانی دادهها 492
حذف دادهها 495
احراز هویت کاربر 496
مستندسازی API 499
از اینجا به کجا برویم؟ 500
خلاصه 501
فصل 15؛ اپلیکیشنهای CLI 503
آرگومانهای خط فرمان 504
آرگومانهای جایگاهی (positional arguments) 504
options 504
sub-commands 505
تجزیه کردن آرگومان 506
ساخت یک کلاینت CLI برای API راهآهن 509
تعامل با API خط آهن 510
ایجاد رابط کاربری خط فرمان 511
پیکربندی فایلها و رمزها 513
ایجاد زیرفرمانها 517
پیادهسازی زیرفرمانها 521
سایر منابع و ابزارها 523
فصل 16؛ بستهبندی برنامههای کاربردی پایتون 525
Python Package Index (PyPI) 525
بستهبندی با Setuptools 527
Project layout 528
نصب توسعه 529
Changelog 530
License 530
README 530
Pyproject.toml 531
متادیتای پکیج 532
ورژنبندی و متادیتای پویا 534
تعیین وابستگیها 536
URLهای پروژه 539
اسکریپتها و نقاط ورودی (entry points) 539
تعریف محتویات پکیج 541
دسترسی به متادیتا در کد 541
ساخت و انتشار پکیجها 543
ساختن (اسکریپت build) 543
انتشار 545
توصیهای برای آغاز کردن پروژههای جدید 547
سایر فایلها 548
ابزارهای جایگزین 548
خلاصه 550
فصل 17 ؛ چالشهای برنامهنویسی 551
Camel Cards (بازی کارت شتری) 553
بخش 1- صورت مسئله 553
بخش 1- راهحل 555
بخش 2 – صورت مسئله 558
بخش 2- راهحل 559
انبساط کیهانی 560
بخش 1- صورت مسئله 560
بخش 1- راهحل 562
بخش 2- صورت مسئله 567
بخش 2- راهحل 567
ملاحظات پایانی 568
سایر سایتهای چالشهای برنامهنویسی 569
خلاصه 570
| # | موضوع | عنوان | توضیح | رمز عبور | دانلود |
|---|---|---|---|---|---|
| 1 | نمونه pdf | نمونه فایل | دانلود |
امتیاز
ثبت نظر/پرسش/پیشنهاد
کتابهای مرتبط
احتمالا دوست داشته باشید