Real Python
  • Start Here
  • Learn Python
    Python Tutorials →
    In-depth articles and video courses
    Learning Paths →
    Guided study plans for accelerated learning
    Quizzes & Exercises →
    Check your learning progress
    Browse Topics →
    Focus on a specific area or skill level
    Community Chat →
    Learn with other Pythonistas
    Office Hours →
    Live Q&A calls with Python experts
    Podcast →
    Hear what’s new in the world of Python
    Books →
    Round out your knowledge and learn offline
    Reference →
    Concise definitions for common Python terms
    Code Mentor →Beta
    Personalized code assistance & learning tools
    Unlock All Content →
  • More
    Learner Stories Python Newsletter Python Job Board Meet the Team Become a Tutorial Writer Become a Video Instructor
  • Search
/
  • Join
  • Sign‑In

— FREE Email Series —

🐍 Python Tricks 💌

Python Tricks Dictionary Merge

🔒 No spam. Unsubscribe any time.

Browse Topics Guided Learning Paths
Basics Intermediate Advanced
ai algorithms api best-practices career community databases data-science data-structures data-viz devops django docker editors flask front-end gamedev gui machine-learning news numpy projects python stdlib testing tools web-dev web-scraping

Table of Contents

  • Getting to Know Functions in Python
  • Exploring Some Benefits of Functions
    • Abstraction
    • Encapsulation
    • Modularity
    • Reusability
    • Maintainability
    • Testability
  • Defining Functions in Python
  • Calling Functions in Python
    • Positional Arguments
    • Keyword Arguments
  • Returning From Functions
    • Producing Side Effects
    • Returning Values
    • Exiting Functions Early
    • Returning Boolean Values
    • Returning Generator Iterators
    • Creating Closures
  • Defining and Calling Functions: Advanced Features
    • Default Argument Values
    • Variable Number of Positional Arguments: *args
    • Variable Number of Keyword Arguments: **kwargs
    • Positional and Keywords Combined: *args and **kwargs
    • Positional-Only Arguments
    • Keyword-Only Arguments
  • Using Other Advanced Ways to Call Functions
    • Unpacking an Iterable Into Positional Arguments
    • Unpacking Keyword Arguments
  • Exploring Optional Features of Functions
    • Docstrings
    • Annotations
  • Taking a Quick Look at Asynchronous Functions
  • Conclusion
  • Frequently Asked Questions

Recommended Course