|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/python-type-system/
课程评论:没有评论
课程名称:Python类型系统:从鸭子类型到静态类型 课程概述: 在Python中,类型常常被忽视。例如,当你写下`a = 10`时,它就能够正常工作,而无需告诉Python变量`a`的类型。然而,Python的底层是一个复杂的类型系统,实际上它结合了多种不同的类型系统。为什么要学习类型?虽然你可能已经会在Python中使用类型,但理解其背后的机制能够帮助你在设计系统时做出更明智的选择。 目标受众: 本课程特别适合以下开发者: - 希望了解Python中类型和类型系统机制与目的的初学者和中级开发者。 - 希望通过添加类型提示来提高代码质量的软件工程师。 - 想要学习正确术语以提高团队内代码讨论和在线信息搜索效率的开发者。 挑战: 尽管Python是一门简单易学的语言,但它隐藏了许多关于数据类型的细微差别。当开发者的经验增加时,他们更需要面对Python独特的数据类型创建、实例化和操作的方法。这时,深入了解类型和类型系统将会非常有帮助。 课程收获: 完成此课程后,学员将能够: - 更快地通过理解错误信息来修复bug。 - 通过了解类型系统技术来预防常见的类型问题。 - 利用Python独特的语言特性使类更加高效。 - 通过使用协议类和类型提示创建干净的模块化设计。 - 学会正确的技术术语,以讨论提议解决方案的优缺点。 - 更高效地从其他语言过渡到Python。 课程主题: - 类型系统介绍:类型系统类别及其基本组成部分。 - 隐式与显式类型:文字、变量和属性。 - 动态与静态类型:鸭子类型、Python协议及数据模型、编译器与解释器。 - 类型提示:注释、静态类型检查、类型种类及特殊类型构造。 - 类型灵活性:安全、可靠、完整,提升、转换与比较。 - 名义与结构类型:使用复合类和协议设计模块化系统的接口。 课程时长:3小时视频内容 授课教师: 本课程由Loek van den Ouweland主讲,他是一位拥有30年专业经验的高级软件工程师,曾创造Windows版Wunderlist、Microsoft To-do和Windows版麻将,热爱软件工程教学。
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 audienceDevelopers who especially benefit from this course, are:Beginners and intermediates who want to know the mechanics and purpose of types and type systems in PythonSoftware engineers who want to use the type system as an extra development tool by adding type hints to improve their code qualityDevelopers who want to learn the proper terminology to make discussing code in your team and searching for information online more efficientChallengesPython 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 betterPrevent common type problems by knowing type system techniquesMake classes more efficient by using Python's unique language featuresCreate clean modular design by using Protocol classes and type hintsDiscuss pro's and con's of proposed solutions by learning proper technical termsMake the transition from another language to Python more efficientTopicsIntroduction 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.Duration3 hours video time.The teacherThis 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.