We may earn an affiliate commission when you visit our partners.
Robert Smallshire and Austin Bingham

Python has a dynamism which can give our objects superpowers. This course will teach you how to implement highly flexible interfaces with where the attributes of objects are determined on-the-fly, rather than being determined in advance by classes.

Read more

Python has a dynamism which can give our objects superpowers. This course will teach you how to implement highly flexible interfaces with where the attributes of objects are determined on-the-fly, rather than being determined in advance by classes.

When classes are too rigid, but dictionaries too flexible, you can often find a good trade-off with dynamic objects. In this course, Core Python 3: Custom Attributes and Descriptors, you’ll learn to make objects with highly dynamic interfaces. First, you’ll explore how objects are internally represented in Python. Next, you’ll discover how to customize object attribute access. Finally, you’ll learn how to define your own descriptors, which form the basis of much of how Python attributes work. When you’re finished with this course, you’ll have the skills and knowledge of Python object customization needed to produce flexible and expressive code.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Object Internals
Class Internals
Optimizing memory usage with slots
Read more
Descriptors

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches how to implement highly flexible interfaces, which is standard in the field of software development
Taught by Robert Smallshire and Austin Bingham, who are recognized for their work in software and data
Develops Python skills and knowledge, which are core for software development
Covers customizing object attribute access, which can add color and detail to custom software

Save this course

Save Core Python 3: Custom Attributes and Descriptors to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Core Python 3: Custom Attributes and Descriptors with these activities:
Review Object-Oriented Programming Concepts in Python
Reviewing OOP concepts will provide students with a stronger foundation for understanding Python descriptors.
Show steps
  • Read articles or tutorials on OOP in Python.
  • Review class-based OOP concepts.
  • Complete practice exercises on OOP.
Read 'Fluent Python'
The book provides an in-depth exploration of Python's object-oriented features, including a detailed chapter on descriptors, which will complement the course material.
Show steps
  • Take notes and highlight important points.
  • Acquire a copy of the book.
  • Read the chapter on descriptors.
Watch Video Tutorials on Python Descriptors
Reviewing video tutorials will reinforce the concepts covered in the course and help students develop a deeper understanding of Python descriptors.
Show steps
  • Find video tutorials on Python descriptors.
  • Watch the tutorials and take notes.
  • Complete any practice exercises provided in the tutorials.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Implementing Custom Attributes
Practicing the implementation of custom attributes will help students develop their skills in object customization and gain a better understanding of how attributes work in Python.
Browse courses on Custom Attributes
Show steps
  • Create a new Python project.
  • Define a class with custom attributes.
  • Create instances of the class and access the custom attributes.
  • Experiment with different ways to define and use custom attributes.
Mentor Other Students in Python
Mentoring others will help students reinforce their understanding of Python descriptors by explaining concepts to others and by working through problems together.
Browse courses on Python
Show steps
  • Identify a student who needs help with Python descriptors.
  • Schedule a time to meet with the student.
  • Help the student understand the concepts of Python descriptors.
  • Work through problems with the student.
Write a Blog Post on Python Descriptors
Writing a blog post about Python descriptors will force students to synthesize their understanding of the topic and share their knowledge with others, solidifying their understanding of the material.
Show steps
  • Choose a specific aspect of Python descriptors to focus on.
  • Research the topic thoroughly.
  • Write a draft of your blog post.
  • Edit and revise your post.
  • Publish your blog post.
Contribute to an Open Source Python Project
Contributing to an open source project will allow students to apply their skills in a practical setting and collaborate with others in the Python community, which can deepen their understanding of Python descriptors.
Browse courses on Python
Show steps
  • Find an open source Python project that uses descriptors.
  • Identify an issue or feature that you can contribute to.
  • Clone the project and create a local copy.
  • Make changes to the codebase to address the issue or implement the feature.
  • Submit a pull request to the project.

Career center

Learners who complete Core Python 3: Custom Attributes and Descriptors will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine learning engineers build and deploy machine learning models. Python is one of the most popular languages for machine learning. A background in object-oriented programming is very helpful for any ML engineer. This course helps build that foundation.
Data Engineer
Data engineers are responsible for managing and processing large datasets. A background in object-oriented programming is very helpful for any data engineer. This course can help build that foundation, with particular focus on Python.
Cloud Engineer
Cloud engineers are responsible for building, deploying, and managing cloud-based applications and infrastructure. Python is a popular language for cloud computing. This course is recommended for anyone looking to specialize in Python-based cloud systems.
Data Scientist
Data scientists leverage programming to uncover patterns in large datasets. A background in object-oriented programming is very helpful for any data scientist. This course helps build that foundation, with particular focus on Python.
Data Analyst
Data analysts use programming to uncover patterns in large datasets. Python is popular for its simplicity and ease of use. This course is recommended for anyone seeking to enhance their Python skills, including data analysts, especially those working on Python codebases.
Quantitative Analyst
Quantitative analysts develop and apply mathematical models to financial data. Python is one of the most popular languages for quantitative finance. A background in object-oriented programming is very helpful for any quant. This course helps build that foundation.
Software Architect
Software architects design the overall structure of complex software systems. A background in object-oriented programming is very helpful for any software architect. This course helps build that foundation, with particular focus on Python.
Full Stack Engineer
Full-stack engineers work on both the front end and back end of web applications. Python is a popular back-end language. Customizing object attributes and descriptors is a core component of full-stack engineering in Python.
Software Engineer
A software engineering team may use many programming languages and paradigms. Python is popular for its simplicity and ease of use. This course is recommended for anyone seeking to enhance their Python skills, including software engineers, especially those working on Python codebases.
Database Administrator
Database administrators keep databases running efficiently. Many databases are built on Python. This course is recommended for anyone seeking to enhance their Python skills, including database administrators.
DevOps Engineer
DevOps engineers are responsible for bridging software development and operations. One ensures that any infrastructure can run Python effectively. This course is recommended for any DevOps Engineer working with Python codebases. Customizing object attributes and descriptors is a core component of Python back-ends
Web Developer
Web developers build and maintain websites. Python is a common back-end language used by web developers. This course is highly recommended for web developers using Python back-ends.
Security Engineer
Security engineers design and implement security measures for computer systems and networks. Python is a popular general-purpose programming language. This course is recommended for anyone seeking to enhance their Python skills, including security engineers.
Systems Engineer
Systems engineers design, integrate, and maintain complex systems. Python is one of the most popular general-purpose programming languages. This course is recommended for anyone seeking to enhance their Python skills, including systems engineers.
Computer Scientist
Computer scientists conduct research on the foundations of computing. Python is one of the most popular languages for scientific computing. A background in object-oriented programming is very helpful for any computer scientist. This course helps build that foundation.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Core Python 3: Custom Attributes and Descriptors.
Delves into the intricacies of Python's design, offering a comprehensive exploration of its object-oriented features and providing valuable insights into Python's internal workings.
This concise and accessible reference guide provides a thorough overview of Python's syntax and built-in functions, offering a solid foundation for understanding the course's concepts.
This beginner-friendly book provides a comprehensive introduction to object-oriented programming in Python, covering fundamental concepts such as classes, objects, and inheritance.
This extensive cookbook offers a collection of practical recipes and solutions to common programming problems, providing a valuable resource for enhancing Python skills.
This classic text explores design patterns in object-oriented programming, providing guidelines for creating flexible and reusable code.
This concise reference provides a quick and easy way to look up Python syntax and functions, serving as a handy tool for both beginners and experienced programmers.
Introduces Python programming through a series of fun and practical projects, making it a great choice for beginners.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser