mteb/BrightProStackoverflowRetrieval huggingface dataset:
thon%20Descriptors%3A%20An%20Introduction&url=https%3A%2F%2Frealpython.com%2Fpython-
descriptors%2F) [ Facebook
](https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fpython-
descriptors%2F) [ Email
](mailto:?subject=Python%20article%20for%20you&body=Python%20Descriptors%3A%20An%20Introduction%20on%20Real%20Python%0A%0Ahttps%3A%2F%2Frealpython.com%2Fpython-
descriptors%2F%0A)

What’s your #1 takeaway or favorite thing you learned? How are you going to
put your newfound skills to use? Leave a comment below and let us know.

**Commenting Tips:** The most useful comments are those written with the goal
of learning from or helping out other students. [ Get tips for asking good
questions ](https://realpython.com/python-beginner-tips/#tip-9-ask-good-
questions) and [ get answers to common questions in our support portal
](https://support.realpython.com) .

* * *

Looking for a real-time conversation? Visit the [ Real Python Community Chat
](/community/) or join the next [ “Office Hours” Live Q&A Session ](/office-
hours/) . Happy Pythoning!

Keep Learning

Related Tutorial Categories: [ intermediate ](/tutorials/intermediate/) [
python ](/tutorials/python/)

##  Keep reading Real Python by creating a free account or signing in:

[ ![Keep reading](/static/videos/lesson-locked.f5105cfd26db.svg)
](/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-
descriptors%2F)

[ Continue »
](/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-
descriptors%2F)

Already have an account? [ Sign-In ](/account/login/?next=/python-
descriptors/)

Almost there! Complete this form and click the button below to gain instant
access:

×

![Python Logo](https://files.realpython.com/media/python-
logo.8eb72ea6927b.png)

The Power of Python Decorators: Advanced Patterns & Techniques (PDF Guide)

Get the Python Decorators Guide »

🔒 No spam. We take your privacy seriously.

[ Remove ads ](/account/join/)

© 2012–2024 Real Python ⋅ [ Newsletter ](/newsletter/) ⋅ [ Podcast
](/podcasts/rpp/) ⋅ [ YouTube ](https://www.youtube.com/realpython) ⋅ [
Twitter ](https://twitter.com/realpython) ⋅ [ Facebook
](https://facebook.com/LearnRealPython) ⋅ [ Instagram
](https://www.instagram.com/realpython/) ⋅ [ Python Tutorials ](/) ⋅ [ Search
](/search) ⋅ [ Privacy Policy ](/privacy-policy/) ⋅ [ Energy Policy ](/energy-
policy/) ⋅ [ Advertise ](/sponsorships/) ⋅ [ Contact ](/contact/)  
Happy Pythoning!

![](https://www.facebook.com/tr?id=2220911568135371&ev=PageView&noscript=1)
##  Keep reading Real Python by creating a free account or signing in:

[ ![Keep reading](/static/videos/lesson-locked.f5105cfd26db.svg)
](/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-
kwargs-and-args%2F)

[ Continue »
](/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-
kwargs-and-args%2F)

Already have an account? [ Sign-In ](/account/login/?next=/python-kwargs-and-
args/)

Almost there! Complete this form and click the button below to gain instant
access:

×

![Python Logo](https://files.realpython.com/media/python-
logo.8eb72ea6927b.png)

Get the Python Cheat Sheet (Free PDF)

Send My Python Cheat Sheet »

🔒 No spam. We take your privacy seriously.

[ Remove ads ](/account/join/)

© 2012–2024 Real Python ⋅ [ Newsletter ](/newsletter/) ⋅ [ Podcast
](/podcasts/rpp/) ⋅ [ YouTube ](https://www.youtube.com/realpython) ⋅ [
Twitter ](https://twitter.com/realpython) ⋅ [ Facebook
](https://facebook.com/LearnRealPython) ⋅ [ Instagram
](https://www.instagram.com/realpython/) ⋅ [ Python Tutorials ](/) ⋅ [ Search
](/search) ⋅ [ Privacy Policy ](/privacy-policy/) ⋅ [ Energy Policy ](/energy-
policy/) ⋅ [ Advertise ](/sponsorships/) ⋅ [ Contact ](/contact/)  
Happy Pythoning!

![](https://www.facebook.com/tr?id=2220911568135371&ev=PageView&noscript=1)
* [ About Us ](/about/about.html) |
* [ Contact ](/about/contactus.html) |
* [ Republication Permissions ](/about/contactus.html#reprints) |
* [ Privacy Policy ](/about/privacy.html) |
* [ Cookie Policy ](/about/cookie-policy.html) |
* [ Copyright Notice ](https://foundryco.com/copyright-notice/) |
* [ Terms of Service ](https://foundryco.com/terms-of-service-agreement/) |
* [ European Privacy Settings ](/about/member-preferences.html#cookie) |
* [ Member Preferences ](/about/member-preferences.html) |
* [ Advertising ](https://foundryco.com/our-brands/infoworld/) |
* [ Foundry Careers ](https://foundryco.com/work-here/) |
* [ Ad Choices ](/about/adchoices.html) |
* [ E-commerce Links ](/about/affiliates.html) |
* [ California: Do Not Sell My Personal Info ](/about/ccpa.html) |
log.peterlamut.com/2018/02/)
  * [ December 2017 ](https://blog.peterlamut.com/2017/12/)
  * [ November 2017 ](https://blog.peterlamut.com/2017/11/)
  * [ October 2017 ](https://blog.peterlamut.com/2017/10/)
  * [ September 2017 ](https://blog.peterlamut.com/2017/09/)

  * [ Home ](/)

  * [ Twitter  ](https://twitter.com/plamut "Twitter: @plamut")
  * [ GitHub  ](https://github.com/plamut "GitHub: plamut")
  * [ StackOverflow  ](https://stackoverflow.com/users/5040035/plamut "StackOverflow profile")
  * [ LinkedIn  ](https://si.linkedin.com/in/peterlamut "LinkedIn profile")

[ Peter Lamut's blog ](https://blog.peterlamut.com/) [ Create a website or
blog at WordPress.com  ](https://wordpress.com/?ref=footer_custom_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2017%252F11%252F27%252Fhandling-application-settings-hierarchy-more-easily-with-pythons-chainmap%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2Ftag%2Fchainmap%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2017%252F11%252F27%252Fhandling-application-settings-hierarchy-more-easily-with-pythons-chainmap%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
* [ About Us ](/about/about.html)
* [ Contact ](/about/contactus.html)
* [ Republication Permissions ](/about/contactus.html#reprints)
* [ Privacy Policy ](/about/privacy.html)
* [ Cookie Policy ](/about/cookie-policy.html)
* [ Copyright Notice ](https://foundryco.com/copyright-notice/)
* [ Terms of Service ](https://foundryco.com/terms-of-service-agreement/)
* [ European Privacy Settings ](/about/member-preferences.html#cookie)
* [ Member Preferences ](/about/member-preferences.html)
* [ Advertising ](https://foundryco.com/our-brands/infoworld/)
* [ Foundry Careers ](https://foundryco.com/work-here/)
* [ Ad Choices ](/about/adchoices.html)
* [ E-commerce Links ](/about/affiliates.html)
* [ California: Do Not Sell My Personal Info ](/about/ccpa.html)
ps://blog.peterlamut.com/tag/function-arguments/)
  * [ General ](https://blog.peterlamut.com/tag/general/)
  * [ Metaclasses ](https://blog.peterlamut.com/tag/metaclasses/)
  * [ Python ](https://blog.peterlamut.com/tag/python/)
  * [ remote work ](https://blog.peterlamut.com/tag/remote-work/)
  * [ Sentinel ](https://blog.peterlamut.com/tag/sentinel/)
  * [ Sequences ](https://blog.peterlamut.com/tag/sequences/)
  * [ Slices ](https://blog.peterlamut.com/tag/slices/)
  * [ SQLAlchemy ](https://blog.peterlamut.com/tag/sqlalchemy/)

##  Archives

  * [ April 2020 ](https://blog.peterlamut.com/2020/04/)
  * [ June 2019 ](https://blog.peterlamut.com/2019/06/)
  * [ February 2019 ](https://blog.peterlamut.com/2019/02/)
  * [ November 2018 ](https://blog.peterlamut.com/2018/11/)
  * [ May 2018 ](https://blog.peterlamut.com/2018/05/)
  * [ February 2018 ](https://blog.peterlamut.com/2018/02/)
  * [ December 2017 ](https://blog.peterlamut.com/2017/12/)
  * [ November 2017 ](https://blog.peterlamut.com/2017/11/)
  * [ October 2017 ](https://blog.peterlamut.com/2017/10/)
  * [ September 2017 ](https://blog.peterlamut.com/2017/09/)

  * [ Home ](/)

  * [ Twitter  ](https://twitter.com/plamut "Twitter: @plamut")
  * [ GitHub  ](https://github.com/plamut "GitHub: plamut")
  * [ StackOverflow  ](https://stackoverflow.com/users/5040035/plamut "StackOverflow profile")
  * [ LinkedIn  ](https://si.linkedin.com/in/peterlamut "LinkedIn profile")

[ Peter Lamut's blog ](https://blog.peterlamut.com/) [ Create a website or
blog at WordPress.com  ](https://wordpress.com/?ref=footer_custom_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F02%252F26%252Fhow-python-computes-2-5-under-the-hood-part-2%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2F2018%2F02%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F02%252F26%252Fhow-python-computes-2-5-under-the-hood-part-2%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
stom_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2020%252F04%252F01%252Fdistinguishing-between-none-and-missing-values-in-dictionaries-with-a-sentinel%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2F2020%2F04%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2020%252F04%252F01%252Fdistinguishing-between-none-and-missing-values-in-dictionaries-with-a-sentinel%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
ttps://blog.peterlamut.com/) [ Create a website or
blog at WordPress.com  ](https://wordpress.com/?ref=footer_custom_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F02%252F26%252Fhow-python-computes-2-5-under-the-hood-part-2%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2Ftag%2Fcpython-internals%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F02%252F26%252Fhow-python-computes-2-5-under-the-hood-part-2%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
om_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2020%252F04%252F01%252Fdistinguishing-between-none-and-missing-values-in-dictionaries-with-a-sentinel%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2Ftag%2Fdictionary%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2020%252F04%252F01%252Fdistinguishing-between-none-and-missing-values-in-dictionaries-with-a-sentinel%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
kOverflow profile")
  * [ LinkedIn  ](https://si.linkedin.com/in/peterlamut "LinkedIn profile")

[ Peter Lamut's blog ](https://blog.peterlamut.com/) [ Create a website or
blog at WordPress.com  ](https://wordpress.com/?ref=footer_custom_svg "Create
a website or blog at WordPress.com")

  * [ Comment  ](https://blog.peterlamut.com/2018/05/12/a-few-thoughts-on-working-remotely/#comments)
  * [ Reblog  ]()
  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F05%252F12%252Fa-few-thoughts-on-working-remotely%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2F2018%2F05%2F12%2Fa-few-thoughts-on-working-remotely%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F05%252F12%252Fa-few-thoughts-on-working-remotely%252F)
    * [ Copy shortlink ](https://wp.me/p9daTi-5i)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com/2018/05/12/a-few-thoughts-on-working-remotely/)
    * [ View post in Reader ](https://wordpress.com/read/blogs/136127156/posts/328)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

##

##

Loading Comments...

Write a Comment...

Email (Required)  Name (Required)  Website

###

%d

![](https://pixel.wp.com/b.gif?v=noscript)
* [ Installing packages ](https://packaging.python.org/tutorials/installing-packages/ "External link")
* [ Uploading packages ](https://packaging.python.org/tutorials/packaging-projects/ "External link")
* [ User guide ](https://packaging.python.org/ "External link")
* [ Project name retention ](https://www.python.org/dev/peps/pep-0541/ "External link")
* [ FAQs ](/help/)
* [ Bugs and feedback ](/help/#feedback)
* [ Contribute on GitHub ](https://github.com/pypi/warehouse "External link")
* [ Translate PyPI ](https://hosted.weblate.org/projects/pypa/warehouse/ "External link")
* [ Sponsor PyPI ](/sponsors/)
* [ Development credits ](https://github.com/pypi/warehouse/graphs/contributors "External link")
amut.com/2019/06/24/dropping-into-a-debugger-with-the-built-in-debugger-function/#comments)
  * [ Reblog  ]()
  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2019%252F06%252F24%252Fdropping-into-a-debugger-with-the-built-in-debugger-function%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2F2019%2F06%2F24%2Fdropping-into-a-debugger-with-the-built-in-debugger-function%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2019%252F06%252F24%252Fdropping-into-a-debugger-with-the-built-in-debugger-function%252F)
    * [ Copy shortlink ](https://wp.me/p9daTi-7r)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com/2019/06/24/dropping-into-a-debugger-with-the-built-in-debugger-function/)
    * [ View post in Reader ](https://wordpress.com/read/blogs/136127156/posts/461)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
18%252F11%252F04%252Fpython-attribute-lookup-explained-in-detail%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2Ftag%2Fdescriptors%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2018%252F11%252F04%252Fpython-attribute-lookup-explained-in-detail%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)
s/)
  * [ Dictionary ](https://blog.peterlamut.com/tag/dictionary/)
  * [ Enum ](https://blog.peterlamut.com/tag/enum/)
  * [ Function arguments ](https://blog.peterlamut.com/tag/function-arguments/)
  * [ General ](https://blog.peterlamut.com/tag/general/)
  * [ Metaclasses ](https://blog.peterlamut.com/tag/metaclasses/)
  * [ Python ](https://blog.peterlamut.com/tag/python/)
  * [ remote work ](https://blog.peterlamut.com/tag/remote-work/)
  * [ Sentinel ](https://blog.peterlamut.com/tag/sentinel/)
  * [ Sequences ](https://blog.peterlamut.com/tag/sequences/)
  * [ Slices ](https://blog.peterlamut.com/tag/slices/)
  * [ SQLAlchemy ](https://blog.peterlamut.com/tag/sqlalchemy/)

##  Archives

  * [ April 2020 ](https://blog.peterlamut.com/2020/04/)
  * [ June 2019 ](https://blog.peterlamut.com/2019/06/)
  * [ February 2019 ](https://blog.peterlamut.com/2019/02/)
  * [ November 2018 ](https://blog.peterlamut.com/2018/11/)
  * [ May 2018 ](https://blog.peterlamut.com/2018/05/)
  * [ February 2018 ](https://blog.peterlamut.com/2018/02/)
  * [ December 2017 ](https://blog.peterlamut.com/2017/12/)
  * [ November 2017 ](https://blog.peterlamut.com/2017/11/)
  * [ October 2017 ](https://blog.peterlamut.com/2017/10/)
  * [ September 2017 ](https://blog.peterlamut.com/2017/09/)

  * [ Home ](/)

  * [ Twitter  ](https://twitter.com/plamut "Twitter: @plamut")
  * [ GitHub  ](https://github.com/plamut "GitHub: plamut")
  * [ StackOverflow  ](https://stackoverflow.com/users/5040035/plamut "StackOverflow profile")
  * [ LinkedIn  ](https://si.linkedin.com/in/peterlamut "LinkedIn profile")

[ Peter Lamut's blog ](https://blog.peterlamut.com/) [ Create a website or
blog at WordPress.com  ](https://wordpress.com/?ref=footer_custom_svg "Create
a website or blog at WordPress.com")

  * [ Subscribe  ]() [ Subscribed  ]()

    * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)

Sign me up

    * Already have a WordPress.com account? [ Log in now. ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2017%252F12%252F30%252Fgiving-python-slices-a-name%252F)

  *     * [ ![](https://blog.peterlamut.com/wp-content/uploads/2018/08/plamut_icon.png?w=50) Peter Lamut's blog ](https://blog.peterlamut.com)
    * [ Customize  ](https://peterlamut.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Fpeterlamut.wordpress.com%2Ftag%2Fslices%2F)
    * [ Subscribe  ]() [ Subscribed  ]()
    * [ Sign up ](https://wordpress.com/start/)
    * [ Log in ](https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.peterlamut.com%252F2017%252F12%252F30%252Fgiving-python-slices-a-name%252F)
    * [ Report this content ](https://wordpress.com/abuse/?report_url=https://blog.peterlamut.com)
    * [ View site in Reader ](https://wordpress.com/read/feeds/72943532)
    * [ Manage subscriptions ](https://subscribe.wordpress.com/)
    * [ Collapse this bar ]()

%d

![](https://pixel.wp.com/b.gif?v=noscript)