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

فهرست عناوین....................................................................................... 3

مقدمه مترجم........................................................................................ 18

درباره پایتون.......................................................................................................... 18

جایگاه پایتون در ایران............................................................................................ 19

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

در مورد این کتاب.................................................................................................... 21

درباره نویسنده....................................................................................................... 22

مقدمه مؤلف.......................................................................................... 23

مخاطبین این کتاب................................................................................................. 23

رئوس موضوعات..................................................................................................... 24

هشدارها و نکته‌ها................................................................................................... 24

نسخه‌های مختلف پایتون......................................................................................... 24

مثال‌ها و تمرین‌های مطرح شده در کتاب.................................................................. 24

فصل 1................................................................................................. 25

مروری بر پایتون....................................................................................................... 25

مقایسه پایتون با زبان‌های دیگر............................................................................... 26

چرا پایتون؟............................................................................................................. 29

چه موقع از پایتون استفاده نکنیم؟........................................................................... 30

پایتون  2 در مقابل پایتون  3...................................................................................... 31

نصب پایتون............................................................................................................ 32

اجراء پایتون............................................................................................................ 32

استفاده از مفسر محاوره‌ای..................................................................................... 33

استفاده از فایل‌های پایتون.................................................................................... 34

 

م بعدی چیست؟............................................................................................... 34

اندرزهایی از مکتب پایتون....................................................................................... 35

فعالیت‌ها................................................................................................................. 36

فصل 2................................................................................................. 37

اجزاء پایتون: اعداد، رشته‌ها، و متغیرها.................................................................. 37

متغیرها، نام‌ها، و اشیاء............................................................................................. 38

اعداد...................................................................................................................... 41

اعداد صحیح........................................................................................................ 42

تقدم عملگرها....................................................................................................... 46

مبناها.................................................................................................................. 46

تبدیل گونه‌ها........................................................................................................ 48

یک عدد  int چقدر می‌تواند بزرگ باشد؟.................................................................. 50

اعداد ممیز-شناور................................................................................................. 51

توابع ریاضی........................................................................................................ 51

رشته‌ها................................................................................................................... 51

ایجاد رشته‌ها با کوتِیشن....................................................................................... 52

تبدیل گونه‌های دیگر به رشته با استفاده از تابع  str()............................................... 55

گریز حروف با استفاده از  \..................................................................................... 55

ترکیب رشته‌ها با  +............................................................................................... 56

تکثیر رشته‌ها با  *................................................................................................. 57

استخراج حروف با استفاده از  [ ]............................................................................. 57

بُرش رشته‌ها بوسیله  ]گام :پایان :شروع[................................................................ 58

فعالیت‌ها............................................................................................................. 67

فصل 3................................................................................................. 68

لیست‌ها، چندگانه‌ها، دیکشنری‌ها، و مجموعه‌ها.................................................... 68

لیست‌ها و چندگانه‌ها............................................................................................... 68

لیست‌ها.................................................................................................................. 69

ایجاد لیست‌ با[]  ،  و   list().................................................................................... 69

تبدیل گونه‌های دیگر به لیست با استفاده از تابع  list()............................................. 70

گرفتن یک عضو توسط  ]آفسِت[............................................................................. 71

لیستی از لیست‌ها.................................................................................................. 71

تغییر اعضاء توسط  ] آفسِت[.................................................................................. 72

استفاده از بُرش برای استخراج اعضایی که در یک بُرد معین قرار دارند...................... 73

اضافه کردن اقلام به انتهای یک لیست توسط تابع  append().................................. 73

ترکیب لیست‌ها با یکدیگر توسط تابع  extend() و یا  +=.......................................... 73

اضافه کردن یک عضو جدید با دادن آفسِت آن به تابع  insert()................................ 74

حذف یک عضو توسط  del با مشخص کردن آفسِت آن............................................. 75

حذف یک عضو توسط مقدار آن با استفاده از تابع  remove()..................................... 75

گرفتن یک عضو  توسط آفسِت ، و حذف آن با تابع  pop()........................................ 76

یافتن آفسِت یک آیتم با دادن مقدار آن به تابع  index()........................................... 76

بررسی اینکه آیا مقدار مشخصی در یک لیست وجود دارد توسط  in............................ 77

شمارش تعداد مقادیری که در یک لیست ظاهر می‌شوند توسط تابع  count()............. 77

بهم‌چسباندن اعضای لیست بصورت یک رشته با تابع  join().................................... 77

مرتب کردن آیتم‌ها توسط تابع  sort().................................................................... 78

گرفتن طول لیست توسط تابع  len()...................................................................... 79

نسبت‌دهی لیست‌ها با =، و کپی آنها توسط تابع  copy()............................................ 79

چندگانه‌ها............................................................................................................... 81

ایجاد یک چندگانه توسط ()................................................................................... 81

مقایسه چندگانه‌ها و لیست‌ها................................................................................. 82

دیکشنری‌ها............................................................................................................ 83

ایجاد یک دیکشنری با  {}...................................................................................... 83

تبدیل به یک دیکشنری با استفاده از تابع تبدیل  dict()............................................ 84

اضافه کردن یا تغییر یک آیتم توسط  ]کلید[............................................................. 85

ترکیب دیکشنری‌ها با هم توسط تابع  update()...................................................... 87

حذف یک آیتم بوسیله کلید آن توسط  del................................................................ 88

حذف کلیه آیتم‌ها با استفاده از تابع  clear()............................................................. 88

بررسی اینکه آیا کلیدی در یک دیکشنری وجود دارد توسط  in................................... 88

گرفتن یک آیتم توسط  ]کلید[................................................................................. 89

گرفتن کلیه کلیدهای یک دیکشنری توسط تابع  keys()............................................ 90

گرفتن کلیه جفت‌های کلید-مقدار توسط تابع  items().............................................. 91

نسبت دهی دیکشنری‌ها با  =، کپی آنها با  copy()..................................................... 91

مجموعه‌ها............................................................................................................... 91

ایجاد  یک مجموعه‌ توسط  set()............................................................................ 92

تبدیل گونه‌های دیگر به یک مجموعه توسط تابع  set()............................................ 93

بررسی اینکه آیا مقدار خاصی در یک مجموعه قرار دارد توسط  in.............................. 94

ترکیب مجموعه‌ها و عملگرهای آن.......................................................................... 95

مقایسه ساختارهای مختلف داده‌............................................................................... 98

ساختن ساختارهای بزرگتر...................................................................................... 99

فعالیت‌ها.............................................................................................................. 100

تمرین‌ها............................................................................................................ 100

فصل 4.............................................................................................. 103

ساختار برنامه‌های پایتون..................................................................................... 103

توضیح گذاری با  #................................................................................................ 103

ادامه خطوط با  \.................................................................................................... 104

مقایسه عبارات با  if،  elif، و  else......................................................................... 105

چه چیزی  True است؟........................................................................................ 109

تکرار با  while..................................................................................................... 110

خارج شدن از حلقه با  break............................................................................... 111

پرش از روی مرحله فعلی با  continue................................................................. 111

بررسی اینکه آیا از  break استفاده شده توسط  else............................................... 112

تکرار با  for.......................................................................................................... 112

خروج از حلقه  for با  break................................................................................. 114

عبور از یک مرحله با  continue........................................................................... 114

بررسی استفاده از  break با  else......................................................................... 115

تکرار چند دنباله باهم توسط تابع  zip()................................................................ 115

تولید دنباله‌های عددی توسط تابع  range().......................................................... 116

تکرارکننده‌های دیگر........................................................................................... 117

سازنده‌ها.............................................................................................................. 118

لیست سازها...................................................................................................... 118

دیکشنری‌سازها................................................................................................. 121

مجموعه‌سازها.................................................................................................... 121

مولد‌ سازها......................................................................................................... 122

توابع.................................................................................................................... 123

آرگومان‌های مکانی............................................................................................. 128

آرگومان‌های اسمی.............................................................................................. 128

تعیین مقدار پیش‌فرش برای یک پارامتر............................................................... 129

گرد آوری آرگومان‌های مکانی توسط  *.................................................................. 130

گرد آوری آرگومان‌های اسمی توسط  **................................................................. 131

رشته‌های توصیف کننده یک تابع......................................................................... 132

توابع شهروندان درجه یک هستند........................................................................ 133

توابع درونی....................................................................................................... 135

بَستارها............................................................................................................. 136

توابع بی‌نام‌، یا توابع لاندا.................................................................................... 137

مولدها.................................................................................................................. 139

آذین‌دهنده‌ها........................................................................................................ 140

مفهوم فضاهای اسمی و حوزه............................................................................... 142

استفاده  از _ و __ در نام‌ها................................................................................. 145

رسیدگی به خطاها توسط  try    و    except.......................................................... 146

ایجاد اعتراضات خودتان....................................................................................... 148

فعالیت‌ها.............................................................................................................. 149

فصل 5.............................................................................................. 151

ماجول‌ها، پکیج‌ها و برنامه‌ها................................................................................. 151

برنامه‌های خودکفا................................................................................................. 151

آرگومان‌های خط فرمان......................................................................................... 152

ماجول‌ها و دستور  import................................................................................... 152

چگونه یک ماجول را در برنامه خود وارد کنیم......................................................... 152

وارد کردن یک ماجول با نام دیگری..................................................................... 155

وارد کردن آنچه مورد نیاز است از یک ماجول......................................................... 155

مسیر جستجوی ماجول....................................................................................... 155

پکیج‌ها................................................................................................................. 156

کتابخانه استاندارد پایتون..................................................................................... 157

رسیدگی به کلیدهای ناموجود یک دیکشنری  باsetdefault()   و   defaultdict()....... 158

شمردن آیتم‌ها با تابع  Counter()....................................................................... 160

مرتب کردن کلیدها توسط  OrderedDict().......................................................... 162

پشته + صَف == صَف  دو سر................................................................................ 163

تکرارکننده‌های ماجول  itertools......................................................................... 164

چاپ دقیق با استفاده از  pprint()......................................................................... 165

کسب توانایی‌های بیشتر با گرفتن برنامه‌های دیگری............................................. 166

فعالیت‌ها.............................................................................................................. 166

فصل 6.............................................................................................. 168

اشیاء و کلاس‌ها..................................................................................................... 168

اشیاء چیستند؟...................................................................................................... 168

تعریف یک کلاس تو سط  class........................................................................... 169

وراثت.................................................................................................................. 171

بازنویسی یک متد................................................................................................. 173

اضافه کردن یک متد به یک زیر کلاس................................................................... 175

کمک گرفتن از والد بوسیله  super....................................................................... 175

چرا باید از  self استفاده کرد؟............................................................................... 177

خواندن و نوشتن مقدارِ خاصه‌ها  توسط ویژگی‌ها................................................... 178

دستکاری نام‌ها برای پنهان نگاه داشتن آنها......................................................... 181

انواع مِتُدها........................................................................................................... 182

چند ریختی........................................................................................................... 184

متدهای خاص....................................................................................................... 186

ترکیب.................................................................................................................. 189

چه موقع از کلاس‌‌ها و اشیاء استفاده کنیم و چه موقع از ماجول‌ها........................... 190

چندگانه‌های نام‌دار............................................................................................. 191

فعالیت‌ها.............................................................................................................. 193

فصل 7.............................................................................................. 195

کار کردن با داده‌ها بصورت حرفه‌ای.................................................................... 195

رشته‌های متنی..................................................................................................... 195

یونی‌کُد.............................................................................................................. 195

کُدگذاری............................................................................................................ 201

فرمت‌بندی........................................................................................................ 205

جستجو با استفاده از عبارات باقاعده.................................................................... 210

داده‌های باینری.................................................................................................... 219

بایت‌ها و آرایه‌های بایتی...................................................................................... 220

تبدیل داده‌های باینری توسط  struct................................................................... 221

ابزارهای دیگر مربوط به داده‌های باینری............................................................... 225

تبدیل بایت‌ها/رشته‌ها با  binascii()..................................................................... 226

عملیات بیتی...................................................................................................... 226

فعالیت‌ها.............................................................................................................. 227

فصل 8.............................................................................................. 230

ذخیره سازی داده‌ها............................................................................................... 230

عملیات ورودی/خروجی بر روی فایل‌ها.................................................................. 230

نوشتن در یک فایل متنی با  write()..................................................................... 232

خواندن یک فایل متنی با توابع  read()،  readline()، و  readlines()........................ 233

نوشتن در یک فایل باینری با  write().................................................................. 236

نوشتن در یک فایل باینری با  read ().................................................................. 236

بستن فایلها بصورت خودکار با استفاده از  with..................................................... 237

تغییر موقعیت کنونی فایل با  seek()..................................................................... 237

فایلهای متنی ساخت‌یافته...................................................................................... 240

فایل‌های  CSV................................................................................................... 240

فایل‌های  XML................................................................................................... 243

HTML............................................................................................................. 245

 

JSON (جی‌سان)............................................................................................... 246

YAM............................................................................................................. 249

یک نکته امنیتی.................................................................................................. 250

فایل‌های پیکره‌بندی........................................................................................... 251

دیگر فرمت‌های تبادل داده‌ها............................................................................... 252

سریالی کردن داده‌ها بوسیله  pickle..................................................................... 253

فایل‌های ساخت‌یافته باینری................................................................................. 254

صفحات گسترده................................................................................................ 254

فایل‌های  HDF5................................................................................................. 254

پایگاه‌های داده‌ای رابطه‌ای................................................................................... 255

SQL................................................................................................................ 257

APIهای مربوط به پایگاه داده.............................................................................. 259

SQLite............................................................................................................ 260

MySQL........................................................................................................... 262

PostgreSQL................................................................................................... 262

SQLAlchemy................................................................................................. 263

روشهای ذخیره‌سازی‌ غیرSQL............................................................................. 270

خانواده  dbm..................................................................................................... 271

memcached................................................................................................... 272

Redis.............................................................................................................. 273

دیگر ذخیره کننده‌های غیر  SQL.......................................................................... 283

پایگاه‌های داده تمام-متن.................................................................................... 284

فعالیت‌ها.............................................................................................................. 285

فصل 9.............................................................................................. 287

برنامه نویسی وِب در پایتون................................................................................. 287

سرویس‌گیرنده‌های وِب........................................................................................ 288

بررسی اتصال با  telnet...................................................................................... 290

کتابخانه‌های استاندارد وِب در پایتون.................................................................... 291

فراتر از کتابخانه استاندارد: استفاده از ماجول  requests........................................ 294

سرویس‌دهنده‌های وِب......................................................................................... 295

ساده‌ترین شکل یک سرویس‌دهنده وب در پایتون................................................. 295

میانجیِ دروازهِ سرویس‌دهنده وِب......................................................................... 297

چهارچوب‌ها....................................................................................................... 298

چهارچوب  Bottle.............................................................................................. 299

Flask............................................................................................................... 302

سرویس‌دهنده‌های غیر-پایتونی.......................................................................... 307

دیگر چهارچوب‌های وب در پایتون....................................................................... 309

سرویس‌های  وِب  و  اوتوماسیون.......................................................................... 311

ماجول   webbrowser....................................................................................... 311

APIهای وِب، و انتقال حالت نمایشی..................................................................... 312

JSON.............................................................................................................. 313

Crawl و  Scrape.............................................................................................. 313

استخراج داده‌های   HTML با  BeautifulSoup.................................................... 314

فعالیت‌ها.............................................................................................................. 315

فصل 10............................................................................................ 317

سیستم.................................................................................................................... 317

فایل‌ها.................................................................................................................. 317

ایجاد یک فایل با   open().................................................................................. 317

بررسی موجود بودن با استفاده از  exists()............................................................ 318

بررسی گونه با استفاده از  isfile()،isdir()............................................................. 318

کپی فایل‌ها با استفاده از  copy().......................................................................... 319

تغییر نام با استفاده از  rename()........................................................................ 319

ایجاد پیوند با  استفاده ازlink()   و  symlink()........................................................ 319

تغییر مجوز با  chmod()..................................................................................... 320

تغییر مالکیت با  chown()................................................................................... 320

گرفتن نام مسیر با  abspath()............................................................................ 321

گرفتن مسیر یک لینک‌ سمبولیک با  realpath().................................................... 321

حذف یک فایل با  remove()............................................................................... 321

دایرکتوری‌ها......................................................................................................... 321

ایجاد یک دایرکتوری با  mkdir().......................................................................... 321

حذف یک دایرکتوری با  rmdir()........................................................................... 322

فهرست کردن محتوای یک دایرکتوری با  listdir()................................................. 322

تغییر دایرکتوری جاری با  chdir()........................................................................ 322

فهرست کردن فایل‌هایی که با یک الگو مطابقت دارند توسط  glob()........................ 323

برنامه‌ها و پروسه‌ها............................................................................................... 323

ایجاد یک پروسه با استفاده از  subprocess........................................................ 324

ایجاد یک پروسه با استفاده از چندپردازی............................................................. 326

به پایان رساندن یک پروسه با  terminate()........................................................ 327

تقویم‌ها و ساعت‌ها............................................................................................... 328

ماجول  datetime............................................................................................... 329

استفاده از ماجول  time....................................................................................... 332

خواندن و نوشتن تاریخ‌ها و زمان‌ها....................................................................... 334

ماجول‌های دیگر برای تاریخ و زبان...................................................................... 337

فعالیت‌ها.............................................................................................................. 337

فصل 11............................................................................................ 339

همزمانی و شبکه.................................................................................................... 339

همزمانی............................................................................................................... 340

صف‌ها............................................................................................................... 341

پروسه‌ها............................................................................................................ 343

ریسه‌ها................................................................................................................ 344

ریسه‌های سبز و رویدادها.................................................................................... 347

تابیده‌ها............................................................................................................. 350

asyncio........................................................................................................... 352

Redis.............................................................................................................. 353

فراتر از صف‌ها................................................................................................... 357

شبکه‌ها................................................................................................................ 358

الگوها................................................................................................................ 358

مدل انتشار-دریافت............................................................................................ 359

TCP/IP............................................................................................................ 363

سوکت‌ها............................................................................................................ 365

ZeroMQ.......................................................................................................... 370

Scapy............................................................................................................. 375

سرویس‌های اینترنتی......................................................................................... 376

سرویس‌های وِب و  APIها................................................................................... 378

پردازش از راه دور............................................................................................... 379

داده‌های بزرگ و  MapReduce........................................................................... 386

کار در میان ابرها................................................................................................ 387

فعالیت‌ها.............................................................................................................. 392

فصل 12............................................................................................ 393

چگونه یک برنامه‌نویس پایتونِ واقعی شوید....................................................... 393

نکاتی درباره برنامه‌نویسی..................................................................................... 393

یافتن برنامه‌های پایتون........................................................................................ 394

چگونگی نصب پکیج‌ها.......................................................................................... 395

استفاده از  pip.................................................................................................... 395

استفاده از مدیریت پکیج..................................................................................... 397

نصب پکیج با استفاده از منبع پکیج...................................................................... 397

محیط‌های توسعه یکپارچه.................................................................................... 397

IDLE................................................................................................................ 398

PyCharm........................................................................................................ 398

iPython........................................................................................................... 398

نام‌گذارهای مناسب و مستند سازی....................................................................... 398

آزمایش برنامه‌ها................................................................................................... 400

بررسی برنامه‌ها با  pylint،  pyflakes، و  pep8...................................................... 401

بررسی برنامه‌ها با  unittest................................................................................ 403

بررسی برنامه‌ها با  doctest................................................................................ 408

بررسی برنامه‌ها با  nose..................................................................................... 409

چهارچوب‌های آزمایشی دیگر............................................................................... 410

یکپارچه‌سازی  پیوسته (Continuous Integration)................................................ 410

اشکال‌زدایی برنامه‌های پایتون.............................................................................. 411

اشکالزدایی با استفاده از  pdb............................................................................... 412

ثبت پیام‌های خطا................................................................................................. 419

بهینه‌سازی برنامه‌ها.............................................................................................. 422

اندازه‌گیری زمان................................................................................................. 422

الگوریتم‌ها و ساختارهای داده‌............................................................................... 425

Cython،  NumPy، و گسترش پایتون توسط زبان  C............................................ 426

PyPy............................................................................................................... 426

کنترل منبع........................................................................................................... 427

Mercurial........................................................................................................ 427

Git................................................................................................................... 428

برنامه‌های این کتاب............................................................................................. 431

منابع بیشتر برای یادگیری پایتون.......................................................................... 431

کتاب‌ها.............................................................................................................. 431

وب‌سایت‌ها........................................................................................................ 431

ضمیمه‌های این کتاب.......................................................................................... 432

ضمیمه  A........................................................................................... 433

کاربرد پایتون در هنر............................................................................................. 433

گرافیک 2-بُعدی.................................................................................................. 433

کتابخانه استاندارد.............................................................................................. 433

PIL و  Pillow.................................................................................................... 434

ImageMagick................................................................................................. 437

رابط‌های گرافیکی کاربر (GUI)............................................................................. 438

Qt.................................................................................................................... 439

GTK+.............................................................................................................. 439

WxPython...................................................................................................... 439

Kivy................................................................................................................ 439

Web................................................................................................................ 439

گرافیک 3-بعدی و انیمیشن.................................................................................. 440

Blender.......................................................................................................... 442

Maya............................................................................................................... 442

Houdini.......................................................................................................... 443

ترسیمات، نمودارها، و تجسم داده‌ها...................................................................... 443

matplotlib....................................................................................................... 443

Bokeh............................................................................................................. 444

بازی‌ها................................................................................................................. 445

صوت و موسیقی................................................................................................... 445

ضمیمه  B........................................................................................... 446

کاربرد پایتون در تجارت و کسب و کار............................................................... 446

مجموعه نرم‌افزارهای اداری مایکروسافت............................................................. 446

انجام کارهای تجاری........................................................................................... 448

پردازش داده‌های تجاری...................................................................................... 448

استخراج، ارسال، و بارگذاری داده‌ها..................................................................... 449

پایتون در امور مالی............................................................................................... 451

امنیت داده‌های تجاری.......................................................................................... 451

نقشه‌ها................................................................................................................. 452

فرمت‌ها............................................................................................................. 452

ترسیم یک نقشه................................................................................................ 454

ضمیمه  C........................................................................................... 457

کاربرد پایتون در علوم.......................................................................................... 457

ریاضیات و آمار در کتابخانه استاندارد.................................................................... 457

توابع ریاضی...................................................................................................... 457

کار با اعداد مختلط.............................................................................................. 459

محاسبه دقیق اعداد اعشاری با  decimal.............................................................. 460

انجام محاسبات گویا با کسرها............................................................................ 461

استفاده از دنباله‌های بسته‌بندی شده با آرایه‌ها....................................................... 461

انجام عملیات آماری ساده توسط  statistics......................................................... 462

ضرب ماتریس‌ها................................................................................................ 462

نسخه‌های علمی پایتون‌........................................................................................ 462

NumPy.............................................................................................................. 463

ایجاد یک آرایه با  array()................................................................................... 464

ایجاد یک آرایه با  arrange().............................................................................. 465

ایجاد یک آرایه با  zeros()،  ones()، یا   random()............................................... 466

تغییر شکل یک آرایه با  reshape()...................................................................... 467

گرفتن یک عضو از آرایه توسط   []........................................................................ 468

ریاضیات آرایه‌ها................................................................................................. 469

جبر خطی.......................................................................................................... 470

کتابخانه  SciPy................................................................................................... 471

کتابخانه  SciKit.................................................................................................. 471

کتابخانه  IPython............................................................................................... 472

یک مفسر بهتر................................................................................................... 472

کتابچه  IPython................................................................................................ 474

Pandas............................................................................................................. 476

کابرد پایتون در حوزه‌های علمیِ خاص................................................................... 477

ضمیمه  D........................................................................................... 479

نصب پایتون 3....................................................................................................... 479

نصب پایتون استاندارد.......................................................................................... 479

Mac OS X....................................................................................................... 483

Windows........................................................................................................ 483

Linux و  Unix................................................................................................... 484

نصب  Anaconda............................................................................................... 484

نصب و کاربرد  pip   و   virtualenv..................................................................... 488

نصب و کاربرد  conda.......................................................................................... 488

ضمیمه  E........................................................................................... 489

پاسخ تمرین‌ها...................................................................................................... 489