[Tut] Python callable() Function - Printable Version +- Sick Gaming (https://www.sickgaming.net) +-- Forum: Programming (https://www.sickgaming.net/forum-76.html) +--- Forum: Python (https://www.sickgaming.net/forum-83.html) +--- Thread: [Tut] Python callable() Function (/thread-98655.html) |
[Tut] Python callable() Function - xSicKxBot - 12-08-2020 Python callable() Function <div><figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"> <div class="wp-block-embed__wrapper"> <div class="ast-oembed-container"><iframe title="Python callable() | Wow!!! 🐍🐍 What a Great Python Trick!" width="1400" height="788" src="https://www.youtube.com/embed/_hKneRZRKrI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div> </div> </figure> <p class="has-pale-cyan-blue-background-color has-background">Python’s built-in <code>callable(object)</code> returns <code>True</code> if you could call the <code>object</code> argument like a function with the trailing parentheses in <code>object()</code>. You can make any object callable by implementing the instance’s <code>__call__()</code> method. For example, <code>callable(callable)</code> returns <code>True</code> because <code>callable</code> is a function object. But <code>callable(3)</code> returns <code>False</code> because an integer is not a function you can call.</p> <p>Here’s a minimal example:</p> <pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> callable(callable) True >>> callable(3) False</pre> <p><em><strong>Note</strong>: The function <code>callable()</code> was first removed in Python 3.0 but then reintroduced in version 3.2 and above. </em></p> <pre class="wp-block-preformatted"><strong>Syntax: <code>callable(object)</code></strong></pre> <figure class="wp-block-table is-style-stripes"> <table> <tbody> <tr> <td><strong>Argument</strong></td> <td><code>object</code></td> <td>Any Python object such as a custom object, a list, a function, a class, or any other object. </td> </tr> <tr> <td><strong>Return Value</strong></td> <td><code>Boolean: True/False</code></td> <td>Returns <code>True</code> if the object can be called with object()<br />Returns <code>False</code> otherwise. </td> </tr> </tbody> </table> </figure> <p>Here are some basic usages of the function:</p> <pre class="wp-block-preformatted"><strong>Input </strong>: <code>callable(42)</code> <strong>Output </strong>: <code><code>False</code></code> <strong>Input </strong>: <code>callable(int)</code> <strong>Output </strong>: <code><code>True</code></code> <strong>Input </strong>: <code>callable(callable)</code> <strong>Output </strong>: <code>True</code></pre> <p>Want to learn more? We’re going to dive into more examples next!</p> <hr class="wp-block-separator"/> <p><strong>But before we move on, I’m excited to present you my brand-new Python book <a rel="noreferrer noopener" href="https://amzn.to/2WAYeJE" target="_blank" title="https://amzn.to/2WAYeJE">Python One-Liners</a></strong> (Amazon Link).</p> <p>If you like one-liners, you’ll LOVE the book. It’ll teach you everything there is to know about a <strong>single line of Python code.</strong> But it’s also an <strong>introduction to computer science</strong>, data science, machine learning, and algorithms. <strong><em>The universe in a single line of Python!</em></strong></p> <div class="wp-block-image"> <figure class="aligncenter"><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noopener noreferrer"><img loading="lazy" width="215" height="283" src="https://blog.finxter.com/wp-content/uploads/2020/02/image-1.png" alt="" class="wp-image-5969"/></a></figure> </div> <p>The book is released in 2020 with the world-class programming book publisher NoStarch Press (San Francisco). </p> <p>Link: <a href="https://nostarch.com/pythononeliners" target="_blank" rel="noreferrer noopener">https://nostarch.com/pythononeliners</a></p> <h2>How to Check Whether a Function Object is Callable</h2> <p>The following code shows you how to use the callable() method to check whether an arbitrary object is a function, method, or another callable object: </p> <pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def finxter(): return 'Python' print(callable(finxter)) # True f = finxter print(callable(f)) # True print(callable(finxter())) # False </pre> <h2>How to Create Your Own Callable Object</h2> <p>The following code shows you how to create your own callable object.</p> <pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">class Car: def __call__(self): print('brumm') porsche = Car() # Is it callable? print(callable(porsche)) # True # Call it! porsche() # brumm </pre> <p>This is an interesting way to make any instance instantly callable so that it can be used as a function.</p> <h2>Summary</h2> <p>Python’s built-in <code>callable(object)</code> returns <code>True</code> if you can call the <code>object</code> argument like a function with the trailing parentheses in <code>object()</code>. </p> <p>Otherwise, it returns <code>False</code>. </p> <p>For example, <code>callable(callable)</code> returns <code>True</code> because <code>callable</code> is a function object. But <code>callable(3)</code> returns <code>False</code> because an integer is not a function you can call.</p> <p>You can make any object callable by implementing the instance’s <code>__call__()</code> method.</p> <hr class="wp-block-separator"/> <p>Do you want to boost your Python skills in a fun and easy-to-consume way? Consider the following resources and become a master coder!</p> <h2>Where to Go From Here?</h2> <p>Enough theory, let’s get some practice!</p> <p>To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p> <p><strong>Practice projects is how you sharpen your saw in coding!</strong></p> <p>Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?</p> <p>Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p> <p>Join my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and watch how I grew my coding business online and how you can, too—from the comfort of your own home.</p> <p><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p> <p>The post <a href="https://blog.finxter.com/python-callable-function/" target="_blank" rel="noopener noreferrer">Python callable() Function</a> first appeared on <a href="https://blog.finxter.com/" target="_blank" rel="noopener noreferrer">Finxter</a>.</p> </div> https://www.sickgaming.net/blog/2020/12/08/python-callable-function/ |