The Python Type System. From duck typing to static typing
The Python Type System. From duck typing to static typing, available at $84.99, with 26 lectures, and has 2 subscribers.
You will learn about How to fix bugs faster by understanding runtime error messages better To prevent common type problems by using best type system practices How to use static type checkers and type hints to improve code quality To detect architectural problems earlier by using protocol classes with type hints The proper terminology of type features that you already are using today How attribute lookup and dynamic typing are the key to duck typing in Python To make the transition from another language more effective by learning Python’s unique language features and type system How variables work with type inference and inspecting their type tags This course is ideal for individuals who are Beginners and intermediates who want to know the mechanics and purpose of types and type systems in Python or Software engineers who want to use the type system as an extra development tool by adding type hints to improve their code quality or Developers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficient It is particularly useful for Beginners and intermediates who want to know the mechanics and purpose of types and type systems in Python or Software engineers who want to use the type system as an extra development tool by adding type hints to improve their code quality or Developers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficient.
Enroll now: The Python Type System. From duck typing to static typing
Summary
Title: The Python Type System. From duck typing to static typing
Price: $84.99
Number of Lectures: 26
Number of Published Lectures: 26
Number of Curriculum Items: 26
Number of Published Curriculum Objects: 26
Original Price: $79.99
Quality Status: approved
Status: Live
What You Will Learn
- How to fix bugs faster by understanding runtime error messages better
- To prevent common type problems by using best type system practices
- How to use static type checkers and type hints to improve code quality
- To detect architectural problems earlier by using protocol classes with type hints
- The proper terminology of type features that you already are using today
- How attribute lookup and dynamic typing are the key to duck typing in Python
- To make the transition from another language more effective by learning Python’s unique language features and type system
- How variables work with type inference and inspecting their type tags
Who Should Attend
- Beginners and intermediates who want to know the mechanics and purpose of types and type systems in Python
- Software engineers who want to use the type system as an extra development tool by adding type hints to improve their code quality
- Developers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficient
Target Audiences
- Beginners and intermediates who want to know the mechanics and purpose of types and type systems in Python
- Software engineers who want to use the type system as an extra development tool by adding type hints to improve their code quality
- Developers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficient
It is easy to forget about types in Python. After all, you type a equals 10 and it just works. No need to tell python the type of a. But actually, behind the simplicity of the Python language, there is a very sophisticated type system. In fact, Python has a combination of different type systems as you will learn in this course.
You might wonder…why learn types at all? Surely you already know how to work with types in python! It is entirely possible to use types every day without understanding the mechanics behind them. But as with everything else in software engineering, once you learn HOW and WHY it works, you can make more informed choices when designing your systems.
Target audience
Developers who especially benefit from this course, are:
-
Beginners and intermediates who want to know the mechanics and purpose of types and type systems in Python
-
Software engineers who want to use the type system as an extra development tool by adding type hints to improve their code quality
-
Developers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficient
Challenges
Python is an easy language to learn. It hides many of the nuances about data types. But when developers get more experienced, they are more confronted with Python’s unique way to create, instantiate and work with data types. It is at this moment where it helps to take a deep dive into Types and Type Systems.
What can you do after this course?
-
Fix bugs faster by understanding error messages better
-
Prevent common type problems by knowing type system techniques
-
Make classes more efficient by using Python’s unique language features
-
Create clean modular design by using Protocol classes and type hints
-
Discuss pro’s and con’s of proposed solutions by learning proper technical terms
-
Make the transition from another language to Python more efficient
Topics
-
Introduction to type systems: Type system categories and their basic building blocks: types.
-
Implicit vs. explicit typing: Literals, variables and attributes.
-
Dynamic vs. static typing: Duck typing, Python protocols and the Python Datamodel, Compilers and interpreters.
-
Type Hints: Annotations, static type checkers, kind of types, special typing constructs.
-
Type flexibility: Safe, sound, complete. Promotion, conversion and comparison.
-
Nominal vs. structural typing: Using composite classes and protocols to design interfaces for modular systems.
Duration
3 hours video time.
The teacher
This course is taught by Loek van den Ouweland, a senior software engineer with 30 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Course Introduction
Lecture 2: Type Systems Introduction
Lecture 3: Data Types Introduction
Lecture 4: Built-in Types
Lecture 5: Type Errors
Chapter 2: Implicit vs. Explicit
Lecture 1: Literals
Lecture 2: Variables
Lecture 3: Attributes and self
Chapter 3: Dynamic vs. Static
Lecture 1: Dynamic vs. Static introduction
Lecture 2: Duck Typing
Lecture 3: The Python Datamodel
Lecture 4: What is a compiler?
Chapter 4: Type Hints
Lecture 1: Type Hints introduction
Lecture 2: Type Hints
Lecture 3: Sequences and Mapping
Lecture 4: Special Typing Constructs
Lecture 5: Composite
Lecture 6: Dynamic v.s. Static summary
Chapter 5: Type Flexibility
Lecture 1: Type Safety
Lecture 2: Sound and Complete
Lecture 3: Promotion
Lecture 4: Comparison
Chapter 6: Nominal vs. Structural
Lecture 1: Nominal vs. Structural introduction
Lecture 2: Decoupling code
Chapter 7: Conclusion
Lecture 1: Type Systems Conclusion
Lecture 2: Where to go from here (bonus)
Instructors
-
Loek van den Ouweland
Passionate Python Teacher
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 0 votes
- 5 stars: 0 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024