دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: Second edition
نویسندگان: Slatkin. Brett
سری: Effective software development series
ISBN (شابک) : 9780134853987, 9780134854717
ناشر: Addison-Wesley Professional; Addison-Wesley : Pearson Education
سال نشر: 2019;2020
تعداد صفحات: 0
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 47 مگابایت
کلمات کلیدی مربوط به کتاب پایتون موثر: 90 روش خاص برای نوشتن پایتون بهتر: علوم کامپیوتر، برنامه نویسی، فنی، علوم، فناوری، نرم افزار، کامپیوتر، غیرداستانی، کدنویسی
در صورت تبدیل فایل کتاب Effective Python: 90 specific ways to write better Python به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب پایتون موثر: 90 روش خاص برای نوشتن پایتون بهتر نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
بهروزرسانی و توسعهیافته برای پایتون 3
شروع به توسعه برنامهها با پایتون آسان است، به همین دلیل است که
این زبان بسیار محبوب است. با این حال، درک نقاط قوت، جذابیتها و
بیان منحصربهفرد پایتون دشوار است، و دامهای پنهانی وجود دارد
که میتوانند به راحتی شما را غافلگیر کنند.
این نسخه دومPython موثرمیتواند به شما کمک می کند تا بر
یک رویکرد واقعاً \"پایتونیک\" در برنامه نویسی مسلط شوید و از
تمام قدرت پایتون برای نوشتن کدهای فوق العاده قوی و با عملکرد
خوب استفاده کنید. برت اسلاتکین با استفاده از سبک مختصر و سناریو
محور که در پرفروشترینC اسکات مایرز پیشگام بود، 90
بهترین روش، نکته و میانبر پایتون را گرد هم میآورد و آنها را با
مثالهای کد واقعی توضیح میدهد تا شما میتواند با اطمینان
پایتون را بپذیرد.
با تکیه بر سالها تجربه در ساخت زیرساختهای پایتون در Google،
اسلاتکین خصلتها و اصطلاحات کمتر شناختهشدهای را کشف میکند که
به شدت بر رفتار و عملکرد کد تأثیر میگذارند. شما بهترین راه
برای انجام وظایف کلیدی را خواهید فهمید تا بتوانید کدی بنویسید
که درک، نگهداری و بهبود آن آسان تر باشد. علاوه بر توصیههای
بیشتر، این نسخه جدید بهطور قابلتوجهی همه موارد را از نسخه اول
بازبینی میکند تا نشان دهد بهترین شیوهها چگونه تکامل
یافتهاند.
ویژگیهای کلیدی عبارتند از
30 دستورالعمل جدید عملی برای همه حوزههای اصلی Python توضیحات
مفصل و مثالهایی از عبارات، عبارات و انواع داخلی بهترین روشها
برای نوشتن توابع که قصد را روشن میکنند، استفاده مجدد را ترویج
میکنند و از اشکالات اجتناب میکنند تکنیکها و اصطلاحات بهتر
برای استفاده از درک و توابع تولیدکننده پوشش نحوه بیان دقیق
رفتارها با کلاسها و رابط ها راهنمایی در مورد نحوه جلوگیری از
مشکلات با متاکلاس ها و ویژگی های پویا رویکردهای کارآمدتر و واضح
تر برای همزمانی و موازی راه حل هایی برای بهینه سازی و سخت شدن
برای به حداکثر رساندن عملکرد و کیفیت تکنیک ها و ماژول های داخلی
که به اشکال زدایی و آزمایش ابزارها و بهترین شیوه ها برای توسعه
مشترک کمک می کند. پایتون موثربرنامه نویسان در حال رشد را
آماده می کند تا با استفاده از پایتون تأثیر زیادی بگذارند.
Updated and Expanded for Python 3
It's easy to start developing programs with Python, which is
why the language is so popular. However, Python's unique
strengths, charms, and expressiveness can be hard to grasp, and
there are hidden pitfalls that can easily trip you up.
This second edition ofEffective Pythonwill help you
master a truly "Pythonic" approach to programming, harnessing
Python's full power to write exceptionally robust and
well-performing code. Using the concise, scenario-driven style
pioneered in Scott Meyers' best-sellingEffective C++,
Brett Slatkin brings together 90 Python best practices, tips,
and shortcuts, and explains them with realistic code examples
so that you can embrace Python with confidence.
Drawing on years of experience building Python infrastructure
at Google, Slatkin uncovers little-known quirks and idioms that
powerfully impact code behavior and performance. You'll
understand the best way to accomplish key tasks so you can
write code that's easier to understand, maintain, and improve.
In addition to even more advice, this new edition substantially
revises all items from the first edition to reflect how best
practices have evolved.
Key features include
30 new actionable guidelines for all major areas of Python
Detailed explanations and examples of statements, expressions,
and built-in types Best practices for writing functions that
clarify intention, promote reuse, and avoid bugs Better
techniques and idioms for using comprehensions and generator
functions Coverage of how to accurately express behaviors with
classes and interfaces Guidance on how to avoid pitfalls with
metaclasses and dynamic attributes More efficient and clear
approaches to concurrency and parallelism Solutions for
optimizing and hardening to maximize performance and quality
Techniques and built-in modules that aid in debugging and
testing Tools and best practices for collaborative
developmentEffective Pythonwill prepare growing
programmers to make a big impact using Python.
Cover Half Title Title Page Copyright Page Dedication Contents Preface Acknowledgments About the Author Chapter 1 Pythonic Thinking Item 1: Know Which Version of Python You’re Using Item 2: Follow the PEP 8 Style Guide Item 3: Know the Differences Between bytes and str Item 4: Prefer Interpolated F-Strings Over C-style Format Strings and str.format Item 5: Write Helper Functions Instead of Complex Expressions Item 6: Prefer Multiple Assignment Unpacking Over Indexing Item 7: Prefer enumerate Over range Item 8: Use zip to Process Iterators in Parallel Item 9: Avoid else Blocks After for and while Loops Item 10: Prevent Repetition with Assignment Expressions Chapter 2 Lists and Dictionaries Item 11: Know How to Slice Sequences Item 12: Avoid Striding and Slicing in a Single Expression Item 13: Prefer Catch-All Unpacking Over Slicing Item 14: Sort by Complex Criteria Using the key Parameter Item 15: Be Cautious When Relying on dict Insertion Ordering Item 16: Prefer get Over in and KeyError to Handle Missing Dictionary Keys Item 17: Prefer defaultdict Over setdefault to Handle Missing Items in Internal State Item 18: Know How to Construct Key-Dependent Default Values with __missing__ Chapter 3 Functions Item 19: Never Unpack More Than Three Variables When Functions Return Multiple Values Item 20: Prefer Raising Exceptions to Returning None Item 21: Know How Closures Interact with Variable Scope Item 22: Reduce Visual Noise with Variable Positional Arguments Item 23: Provide Optional Behavior with Keyword Arguments Item 24: Use None and Docstrings to Specify Dynamic Default Arguments Item 25: Enforce Clarity with Keyword-Only and Positional-Only Arguments Item 26: Define Function Decorators with functools.wraps Chapter 4 Comprehensions and Generators Item 27: Use Comprehensions Instead of map and filter Item 28: Avoid More Than Two Control Subexpressions in Comprehensions Item 29: Avoid Repeated Work in Comprehensions by Using Assignment Expressions Item 30: Consider Generators Instead of Returning Lists Item 31: Be Defensive When Iterating Over Arguments Item 32: Consider Generator Expressions for Large List Comprehensions Item 33: Compose Multiple Generators with yield from Item 34: Avoid Injecting Data into Generators with send Item 35: Avoid Causing State Transitions in Generators with throw Item 36: Consider itertools for Working with Iterators and Generators Chapter 5 Classes and Interfaces Item 37: Compose Classes Instead of Nesting Many Levels of Built-in Types Item 38: Accept Functions Instead of Classes for Simple Interfaces Item 39: Use @classmethod Polymorphism to Construct Objects Generically Item 40: Initialize Parent Classes with super Item 41: Consider Composing Functionality with Mix-in Classes Item 42: Prefer Public Attributes Over Private Ones Item 43: Inherit from collections.abc for Custom Container Types Chapter 6 Metaclasses and Attributes Item 44: Use Plain Attributes Instead of Setter and Getter Methods Item 45: Consider @property Instead of Refactoring Attributes Item 46: Use Descriptors for Reusable @property Methods Item 47: Use__getattr__, __getattribute__, and __setattr__ for Lazy Attributes Item 48: Validate Subclasses with __init_subclass__ Item 49: Register Class Existence with __init_subclass__ Item 50: Annotate Class Attributes with __set_name__ Item 51: Prefer Class Decorators Over Metaclasses for Composable Class Extensions Chapter 7 Concurrency and Parallelism Item 52: Use subprocess to Manage Child Processes Item 53: Use Threads for Blocking I/O, Avoid for Parallelism Item 54: Use Lock to Prevent Data Races in Threads Item 55: Use Queue to Coordinate Work Between Threads Item 56: Know How to Recognize When Concurrency Is Necessary Item 57: Avoid Creating New Thread Instances for On-demand Fan-out Item 58: Understand How Using Queue for Concurrency Requires Refactoring Item 59: Consider ThreadPoolExecutor When Threads Are Necessary for Concurrency Item 60: Achieve Highly Concurrent I/O with Coroutines Item 61: Know How to Port Threaded I/O to asyncio Item 62: Mix Threads and Coroutines to Ease the Transition to asyncio Item 63: Avoid Blocking the asyncio Event Loop to Maximize Responsiveness Item 64: Consider concurrent.futures for True Parallelism Chapter 8 Robustness and Performance Item 65: Take Advantage of Each Block in try/except /else/finally Item 66: Consider contextlib and with Statements for Reusable try/finally Behavior Item 67: Use datetime Instead of time for Local Clocks Item 68: Make pickle Reliable with copyreg Item 69: Use decimal When Precision Is Paramount Item 70: Profile Before Optimizing Item 71: Prefer deque for Producer–Consumer Queues Item 72: Consider Searching Sorted Sequences with bisect Item 73: Know How to Use heapq for Priority Queues Item 74: Consider memoryview and bytearray for Zero-Copy Interactions with bytes Chapter 9 Testing and Debugging Item 75: Use repr Strings for Debugging Output Item 76: Verify Related Behaviors in TestCase Subclasses Item 77: Isolate Tests from Each Other with setUp, tearDown, setUpModule, and tearDownModule Item 78: Use Mocks to Test Code with Complex Dependencies Item 79: Encapsulate Dependencies to Facilitate Mocking and Testing Item 80: Consider Interactive Debugging with pdb Item 81: Use tracemalloc to Understand Memory Usage and Leaks Chapter 10 Collaboration Item 82: Know Where to Find Community-Built Modules Item 83: Use Virtual Environments for Isolated and Reproducible Dependencies Item 84: Write Docstrings for Every Function, Class, and Module Item 85: Use Packages to Organize Modules and Provide Stable APIs Item 86: Consider Module-Scoped Code to Configure Deployment Environments Item 87: Define a Root Exception to Insulate Callers from APIs Item 88: Know How to Break Circular Dependencies Item 89: Consider warnings to Refactor and Migrate Usage Item 90: Consider Static Analysis via typing to Obviate Bugs Index A B C D E F G H I J K L M N O P Q R S T U V W Y Z