O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Python: Programming for Python Users

Video Description

Make projects with Python

In Detail

It’s no NEWS that Python is the market-standard tool for data science. However, it’s worth mentioning that Python has made a huge impact in the programming world. Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. This Learning Path starts with the essentials of Python programming. This will touch upon all the necessary Python concepts related to data structures, OOP, functional programming, as well as statistical programming. You will get acquainted with the nuances of Python syntax and how to effectively use the advantages that it offers. Then, you’ll be introduced to the to the world of parallel computing. Finally, the course focuses on building fun projects from scratch with easy-to-understand explanations and practical applications

Prerequisites: Basic knowledge of Python

Resources: Code downloads and errata:

  • Modern Python Solutions Part 1

  • Python Parallel Programming Solutions

  • Python Projects

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Modern Python Solutions Part 1 (5h 4m)

  • Python Parallel Programming Solutions (3h 39m)

  • Python Projects (2h 19m)

  • Table of Contents

    1. Chapter 1 : Modern Python Solutions – Part 1
      1. The Course Overview 00:03:22
      2. Creating Meaningful Names and Using Variables 00:11:38
      3. Working with Large and Small Integers 00:08:03
      4. Choosing between Float, Decimal, and Fraction 00:12:55
      5. Choosing between True Division and Floor Division 00:05:23
      6. Rewriting an Immutable String 00:08:57
      7. String Parsing with Regular Expressions 00:06:14
      8. Building Complex Strings with “template”.format() 00:06:13
      9. Building Complex Strings from Lists of Characters 00:04:44
      10. Using the Unicode Characters that aren't on Our Keyboards 00:03:27
      11. Encoding Strings-Creating ASCII and UTF8 Bytes 00:04:29
      12. Decoding Bytes, How to Get Proper Characters from Some Bytes 00:02:34
      13. Using Tuples of Items 00:04:16
      14. Writing Python Script and Module Files 00:07:48
      15. Writing Long Lines of Code 00:08:10
      16. Including Descriptions and Documentation 00:05:02
      17. Writing Better RST Markup in docstring 00:04:04
      18. Designing Complex if…elif Chains 00:04:43
      19. Designing a While Statement that Terminates Properly 00:06:12
      20. Avoiding a Potential Problem with Break Statements 00:05:05
      21. Leveraging the Exception Matching Rules 00:04:41
      22. Avoiding a Potential Problem With an Except:Clause 00:02:05
      23. Chaining Exceptions with the Raise from Statement 00:03:01
      24. Managing a Context Using the With Statement 00:05:24
      25. Designing Functions with Optional Parameters 00:11:03
      26. Using Super Flexible Keyword Parameter 00:05:16
      27. Forcing Keyword-only Argument with the * Separator 00:04:19
      28. Writing Explicit Types on Function Parameters 00:04:47
      29. Picking an Order for Parameters Based on Partial Functions 00:06:16
      30. Writing Clear Documentation Strings 00:04:14
      31. Designing Recursive Functions Around Python’s Stack Limit 00:04:23
      32. Writing Reusable Script with the Script Library Switch 00:04:31
      33. Choosing a Data Structure 00:09:38
      34. Building Lists – Literals, Appending, and Comprehensions 00:09:58
      35. Slicing And Dicing a List 00:05:20
      36. Deleting From a List 00:09:14
      37. Reversing a Copy of a List 00:04:54
      38. Using Set Methods and Operators 00:08:37
      39. Removing Items from a Set 00:04:19
      40. Creating Dictionaries 00:05:34
      41. Removing from Dictionaries 00:04:16
      42. Controlling the Order of the Dict Keys 00:03:49
      43. Handling Dictionaries and Sets in doctest Examples 00:02:25
      44. Understanding Variables, References, and Assignment 00:03:24
      45. Making Shallow and Deep Copies of Objects 00:05:47
      46. Avoiding Mutable Default Values for Function Parameters 00:06:10
      47. Using Features of the print() Functions 00:07:25
      48. Using input() and getpass() for User Input 00:08:40
      49. Debugging with “Format”.Format_Map(Vars()) 00:03:17
      50. Using Argparse to Get Command-line Input 00:06:58
      51. Using CMD for Creating Command-line Applications 00:06:06
      52. Using the OS Environment Settings 00:04:57
    2. Chapter 2 : Python Parallel Programming Solutions
      1. The Parallel Computing Memory Architecture 00:06:13
      2. Memory Organization 00:06:58
      3. Memory Organization (Continued) 00:05:30
      4. Parallel Programming Models 00:04:13
      5. Designing a Parallel Program 00:06:18
      6. Evaluating the Performance of a Parallel Program 00:05:20
      7. Introducing Python 00:06:19
      8. Working with Processes in Python 00:02:25
      9. Working with Threads in Python 00:03:35
      10. Defining a Thread 00:03:19
      11. Determining the Current Thread 00:01:04
      12. Using a Thread in a Subclass 00:01:57
      13. Thread Synchronization with Lock 00:05:22
      14. Thread Synchronization with RLock 00:01:45
      15. Thread Synchronization with Semaphores 00:04:51
      16. Thread Synchronization with a Condition 00:02:24
      17. Thread Synchronization with an Event 00:01:49
      18. Using the "with" Statement 00:02:01
      19. Thread Communication Using a Queue 00:03:07
      20. Evaluating the Performance of Multithread Applications 00:04:37
      21. Spawning a Process 00:02:48
      22. Naming a Process 00:01:14
      23. Running a Process in the Background 00:01:17
      24. Killing a Process 00:01:27
      25. Using a Process in a Subclass 00:01:21
      26. Exchanging Objects between Processes 00:02:57
      27. Synchronizing Processes 00:02:42
      28. Managing a State between Processes 00:01:26
      29. Using a Process Pool 00:02:22
      30. Using the mpi4py Python Module 00:04:12
      31. Point-to-Point Communication 00:03:00
      32. Avoiding Deadlock Problems 00:03:07
      33. Using Broadcast for Collective Communication 00:03:11
      34. Using Scatter for Collective Communication 00:02:09
      35. Using Gather for Collective Communication 00:01:39
      36. Using Alltoall for Collective Communication 00:03:06
      37. The Reduction Operation 00:02:54
      38. Optimizing the Communication 00:03:28
      39. Using the concurrent.futures Python Modules 00:05:21
      40. Event Loop Management with Asyncio 00:04:21
      41. Handling Coroutines with Asyncio 00:04:06
      42. Manipulating a Task with Asyncio 00:02:23
      43. Dealing with Asyncio and Futures 00:03:05
      44. Using Celery to Distribute Tasks 00:03:27
      45. Creating a Task with Celery 00:03:09
      46. Scientific Computing with SCOOP 00:04:54
      47. Handling Map Functions with SCOOP 00:04:04
      48. Remote Method Invocation with Pyro4 00:05:28
      49. Chaining Objects with Pyro4 00:04:01
      50. Developing a Client-Server Application with Pyro4 00:04:18
      51. Communicating Sequential Processes with PyCSP 00:07:02
      52. A Remote Procedure Call with RPyC 00:03:39
      53. Using the PyCUDA Module 00:07:32
      54. Building a PyCUDA Application 00:07:33
      55. Understanding the PyCUDA Memory Model with Matrix Manipulation 00:05:37
      56. Kernel Invocations with GPU Array 00:02:24
      57. Evaluating Element-Wise Expressions with PyCUDA 00:03:21
      58. The MapReduce Operation with PyCUDA 00:03:43
      59. GPU Programming with NumbaPro 00:04:47
      60. Using GPU-Accelerated Libraries with NumbaPro 00:05:26
      61. Using the PyOpenCL Module 00:04:03
      62. Building a PyOpenCL Application 00:04:59
      63. Evaluating Element-Wise Expressions with PyOpenCl 00:03:10
      64. Testing Your GPU Application with PyOpenCL 00:04:13
    3. Chapter 3 : Python Projects
      1. The Course Overview 00:05:30
      2. Setting Up the Python Development Environment 00:09:32
      3. Getting Started with Python 00:04:55
      4. Setting Breakpoints 00:04:38
      5. Using the Pydev Debugger 00:07:03
      6. Creational Design patterns – The "Maze" Labyrinth Game in Python 00:09:18
      7. Creating the Maze in Python Using the Abstract Factory Design Pattern 00:05:47
      8. Creating the Maze in Python Using the Builder Design Pattern 00:08:42
      9. Creating the Maze in Python Using the Factory Prototype Design Pattern 00:12:51
      10. Introducing Tkinter 00:05:32
      11. Simple_GUI 00:10:22
      12. NOAA_Weather_Data 00:15:13
      13. OpenWeatherMap 00:15:19
      14. GettingDataHtml 00:05:31
      15. EmailingViaGmail 00:05:40
      16. Scheduling the Task 00:03:59
      17. TaskSchedulerSvc 00:09:25