Sick Gaming
[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!!! &#x1f40d;&#x1f40d; 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/