دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Al Sweigart
سری:
ISBN (شابک) : 9781593279660, 2020034288
ناشر: No Starch Press
سال نشر: 2021
تعداد صفحات: 386
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 8 Mb
در صورت تبدیل فایل کتاب Beyond the Basic Stuff with Python. Best Practices. به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب فراتر از موارد اساسی با پایتون. بهترین روشها نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
فاصله بین افراد مبتدی و حرفه ای را پر کنید شما یک آموزش برنامه نویسی پایه پایتون را تکمیل کرده اید یا کتاب پرفروش Al Sweigart را به پایان رسانده اید. گام بعدی برای تبدیل شدن به یک توسعه دهنده نرم افزار توانا و مطمئن چیست؟ به Beyond the Basic Stuff با پایتون خوش آمدید. بیش از مجموعهای از نحو پیشرفته و نکات استادانه برای نوشتن کدهای تمیز، یاد خواهید گرفت که چگونه مهارتهای برنامهنویسی پایتون خود را با استفاده از خط فرمان و سایر ابزارهای حرفهای مانند فرمتکنندههای کد، بررسیکنندههای نوع، لینترها و کنترل نسخه ارتقا دهید. Sweigart شما را از طریق بهترین روشها برای تنظیم محیط توسعه، نامگذاری متغیرها، و بهبود خوانایی راهنمایی میکند، سپس به مستندات، سازماندهی و اندازهگیری عملکرد، و همچنین طراحی شیگرا و تحلیل الگوریتم Big-O که معمولاً در مصاحبههای کدنویسی استفاده میشود، میپردازد. مهارت هایی که یاد می گیرید توانایی برنامه نویسی شما را افزایش می دهد - نه فقط در پایتون بلکه در هر زبانی. شما یاد خواهید گرفت: سبک کدنویسی و نحوه استفاده از ابزار قالببندی خودکار پایتون برای کدهای پاکتر منابع رایج اشکالات و نحوه شناسایی آنها با تحلیلگرهای استاتیک چگونه فایلها را در پروژههای کد خود با ابزار قالب Cookiecutter ساختاربندی کنیم برنامهنویسی کاربردی تکنیک هایی مانند لامبدا و توابع مرتبه بالاتر چگونه سرعت کد خود را با ماژول های timeit و cProfile داخلی پایتون نمایه کنیم. برای ایجاد کلاسهایی در برنامهنویسی شیگرا و اینکه چرا از آنها برای سازماندهی کد استفاده میشود. در پایان کتاب، تفکیک کد منبع دقیق دو بازی خط فرمان کلاسیک، برج هانوی (یک پازل منطقی) را خواهید خواند. ) و Four-in-a-Row (یک بازی دو نفره کاشیریزی) و نحوه پیروی کد آنها از بهترین شیوههای کتاب. شما مهارت های خود را با اجرای برنامه خودتان آزمایش خواهید کرد. البته هیچ کتابی نمی تواند شما را به یک توسعه دهنده نرم افزار حرفه ای تبدیل کند. اما فراتر از چیزهای اساسی با پایتون، شما را در این مسیر بیشتر میکند و شما را به برنامهنویس بهتری تبدیل میکند، زیرا یاد میگیرید کدی خوانا بنویسید که اشکال زدایی آن آسان است و الزامات کاملا پایتونیک: پایتون 3.6 و بالاتر را پوشش میدهد.
BRIDGE THE GAP BETWEEN NOVICE AND PROFESSIONAL You've completed a basic Python programming tutorial or finished Al Sweigart's bestseller, Automate the Boring Stuff with Python. What's the next step toward becoming a capable, confident software developer? Welcome to Beyond the Basic Stuff with Python. More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language. You'll learn: Coding style, and how to use Python's Black auto-formatting tool for cleaner code Common sources of bugs, and how to detect them with static analyzers How to structure the files in your code projects with the Cookiecutter template tool Functional programming techniques like lambda and higher-order functions How to profile the speed of your code with Python's built-in timeit and cProfile modules The computer science behind Big-O algorithm analysis How to make your comments and docstrings informative, and how often to write them How to create classes in object-oriented programming, and why they're used to organize code Toward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself. Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly Pythonic Requirements: Covers Python 3.6 and higher
Об авторе О техническом редакторе Благодарности Введение Для кого написана эта книга и почему О книге Часть I. Первые шаги Часть II. Передовые практики, инструменты и методы Часть III. Объектно-ориентированный Python Путешествие в мир программирования Часть IПервые шаги Глава 1. Обработка ошибок и обращение за помощью Как понять сообщения об ошибках Python Анализ трассировки Поиск сообщений об ошибках Предотвращение ошибок при помощи статического анализатора Как обратиться за помощью по программированию Избегайте лишних разговоров, предоставляйте информацию заранее Формулируйте свой вопрос как вопрос Задавайте вопросы на подходящем веб-сайте Включите краткое описание вопроса в заголовок Объясните, что должен делать ваш код Включите полное сообщение об ошибке Приведите полный код Правильно отформатируйте свой код Сообщите, что вы уже пытались сделать Опишите свою рабочую конфигурацию Примеры вопросов Итоги Глава 2. Подготовка среды и командная строка Файловая система Пути в Python Домашний каталог Текущий рабочий каталог Абсолютные и относительные пути Программы и процессы Командная строка Открытие окна терминала Запуск программ из командной строки Аргументы командной строки Выполнение кода Python из командной строки с ключом -c Выполнение программ Python из командной строки Запуск программы py.exe Выполнение команд из программы Python Сокращение объема вводимого текста при помощи автозавершения Просмотр истории команд Часто используемые команды Переменные среды и PATH Просмотр переменных среды Переменная среды PATH Изменение переменной среды PATH в командной строке Постоянное включение папок в PATH в Windows Постоянное включение папок в PATH в macOS и Linux Запуск программ Python без командной строки Запуск программ Python в Windows Запуск программ Python в macOS Запуск программ Python в Ubuntu Linux Итоги Часть IIПередовые практики, инструменты и методы Глава 3. Форматирование кода при помощи Black Как потерять друзей и настроить против себя коллег Руководства по стилю и PEP 8 Горизонтальные интервалы Использование пробелов для создания отступов Интервалы в строках Вертикальные интервалы Пример использования вертикальных интервалов Рекомендации по использованию вертикальных интервалов Black: бескомпромиссная система форматирования кода Установка Black Запуск Black из командной строки Отключение Black для отдельных частей кода Итоги Глава 4. Выбор понятных имен Схемы регистра имен Соглашения об именах PEP 8 Длина имен Выбирайте имена, пригодные для поиска Избегайте шуток, каламбуров и культурных отсылок Не заменяйте встроенные имена Худшие из возможных имен Итоги Глава 5. Поиск «запахов» в коде Дублирование кода «Магические» числа Закомментированный и мертвый код Отладочный вывод Переменные с числовыми суффиксами Классы, которые должны быть функциями или модулями Списковые включения внутри списковых включений Пустые блоки except и плохие сообщения об ошибках Мифы о «запахах» в коде Миф: функции должны содержать только одну команду return в самом конце Миф: функции должны содержать не более одной команды try Миф: аргументы-флаги нежелательны Миф: глобальные переменные нежелательны Миф: комментарии излишни Итоги Глава 6. Написание питонического кода «Дзен Python» Как полюбить значимые отступы Использование модуля timeit для оценки быстродействия Неправильное использование синтаксиса Использование enumerate() вместо range() Использование команды with вместо open() и close() Использование is для сравнения с None вместо == Форматирование строк Использование необработанных строк, если строка содержит много символов \ (обратный слэш) Форматирование с использованием F-строк Поверхностное копирование списков Питонические способы использования словарей Использование get() и setdefault() со словарями Использование collections.defaultdict для значений по умолчанию Использование словарей вместо команды switch Условные выражения: «некрасивый» тернарный оператор Python Работа со значениями переменных Сцепление операторов присваивания и сравнения Проверка того, что переменная содержит одно из нескольких значений Итоги Глава 7. Жаргон программистов Определения Язык Python и интерпретатор Python Сборка мусора Литералы Ключевые слова Объекты, значения, экземпляры и идентичность Элементы Изменяемость и неизменяемость Индексы, ключи и хеш-коды Контейнеры, последовательности, отображения и разновидности множеств Dunder-методы, или магические методы Модули и пакеты Вызываемые объекты и первоклассные объекты Частые ошибки при использовании терминов Команды и выражения Блок, секция и тело Переменные и атрибуты Функции и методы Итерируемые объекты и итераторы Синтаксические ошибки, ошибки времени выполнения и семантические ошибки Параметры и аргументы Явные и неявные преобразования типов Свойства и атрибуты Байт-код и машинный код Сценарии и программы, языки сценариев и языки программирования Библиотеки, фреймворки, SDK, ядра и API Итоги Дополнительные ресурсы Глава 8. Часто встречающиеся ловушки Python Не добавляйте и не удаляйте элементы из списка в процессе перебора Не копируйте изменяемые значения без copy.copy() и copy.deepcopy() Не используйте изменяемые значения для аргументов по умолчанию Не создавайте строки посредством конкатенации Не рассчитывайте, что sort() выполнит сортировку по алфавиту Не рассчитывайте на идеальную точность чисел с плавающей точкой Не объединяйте операторы != в цепочку Не забудьте запятую в кортежах из одного элемента Итоги Глава 9. Экзотические странности Python Почему 256 — это 256, а 257 — не 257 Интернирование строк Фиктивные операторы инкремента и декремента в языке Python Все или ничего Логические значения как целые числа Сцепление разных видов операторов Антигравитация в Python Итоги Глава 10. Написание эффективных функций Имена функций Плюсы и минусы размера функций Параметры и аргументы функций Аргументы по умолчанию Использование * и ** для передачи аргументов функции Использование * при создании вариадических функций Использование ** при создании вариадических функций Использование * и ** для создания функций-оберток Функциональное программирование Побочные эффекты Функции высшего порядка Лямбда-функции Отображение и фильтрация со списковыми включениями Возвращаемые значения всегда должны иметь один тип данных Выдача исключений и возвращение кодов ошибок Итоги Глава 11. Комментарии, doc-строки и аннотации типов Комментарии Стиль комментариев Встроенные комментарии Пояснительные комментарии Сводные комментарии Комментарии «полученный опыт» Комментарии об авторских правах и интеллектуальной собственности Профессиональные комментарии Кодовые метки и комментарии TODO Магические комментарии и кодировка исходных файлов Doc-строки Аннотации типов Статические анализаторы Аннотации типов для набора типов Аннотации типов для списков, словарей и т. д. Обратное портирование аннотаций типов Итоги Глава 12. Git и организация программных проектов Коммиты и репозитории Создание новых проектов Python с использованием Cookiecutter Установка Git Настройка имени пользователя и адреса электронной почты Установка графических средств Git Работа с Git Как Git отслеживает статус файлов Для чего нужно индексирование? Создание репозитория Git на вашем компьютере Добавление файлов для отслеживания Игнорирование файлов в репозитории Сохранение изменений Удаление файлов из репозитория Переименование и перемещение файлов из репозитория Просмотр журнала коммитов Восстановление старых изменений Отмена несохраненных локальных изменений Деиндексирование проиндексированного файла Отмена последних коммитов Возврат к конкретному коммиту для отдельного файла Перезапись истории коммитов GitHub и команда git push Отправка существующего репозитория на GitHub Клонирование существующего репозитория GitHub Итоги Глава 13. Измерение быстродействия и анализ сложности алгоритмов Модуль timeit Профилировщик cProfile Анализ алгоритмов с использованием нотации «O-большое» Порядки нотации «О-большое» Книжная полка как метафора порядков «О-большое» «О-большое» как оценка худшего сценария Определение порядка сложности нотации «О-большое» вашего кода Почему низкие порядки и коэффициенты не важны Примеры анализа «О-большое» Порядок «О-большое» для часто используемых функций Моментальный анализ сложности «О-большое» не имеет значения при малых n… а значения n обычно малы Итоги Глава 14. Тренировочные проекты Головоломка «Ханойская башня» Вывод результатов Исходный код Написание кода Игра «Четыре в ряд» Вывод результатов Исходный код Написание кода Итоги Часть IIIОбъектно-ориентированный Python Глава 15. Объектно-ориентированное программирование и классы Аналогия из реального мира: заполнение форм Создание объектов на базе классов Создание простого класса: WizCoin Методы, __init__() и self Атрибуты Приватные атрибуты и приватные методы Функция type() и атрибут __qualname__ Примеры программирования с применением ООП и без него: «Крестики-нолики» Трудности проектирования классов для проектов реального мира Итоги Глава 16. Объектно-ориентированное программирование и наследование Как работает наследование Переопределение методов Функция super() Предпочитайте композицию наследованию Обратная сторона наследования Функции isinstance() и issubclass() Методы классов Атрибуты классов Статические методы Когда использовать объектно-ориентированные статические средства и средства уровня классов Термины объектно-ориентированного программирования Инкапсуляция Полиморфизм Когда наследование не используется Множественное наследование Порядок разрешения методов Итоги Глава 17. ООП в Python: свойства и dunder-методы Свойства Преобразование атрибута в свойство Использование методов setter для проверки данных Свойства, доступные только для чтения Когда использовать свойства Dunder-методы Python Dunder-методы строкового представления Числовые dunder-методы Отраженные числовые dunder-методы Dunder-методы присваивания на месте (in-place) Dunder-методы сравнения Итоги