__call__()的用法  __call__()方法能够让类的实例对象,像函数一样被调用;>>> 
>>> class A(object):
    def __call__(self, x):
        print('__call__ called, print x: ', x)
        
>>>            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-01-27 13:30:00
                            
                                163阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Python中的__call__方法
在Python中,__call__方法可以使一个对象可以像函数一样被调用,即可对该对象进行调用操作。这对于实现可调用对象非常有用,而不仅仅局限于函数或方法。
### __call__方法的使用
```python
class CallableClass:
    def __init__(self, x):
        self.x = x            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-15 11:29:23
                            
                                65阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.可调用对象关于 __call__ 方法,不得不先提到一个概念,就是可调用对象(callable)。
我们平时自定义的函数、内置函数和类都属于可调用对象,但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable
如果在类中实现了 __call__ 方法,那么实例对象也将成为一个可调用对象。2.优雅你也许已经知道,在Python中,方法也            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-03-09 15:29:05
                            
                                483阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
                                
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-06 00:26:29
                            
                                163阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                                
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-27 12:17:49
                            
                                119阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Kubernetes(K8S)应用开发中,经常会有使用Python调用API的需求。但是有时候会遇到调用失败的情况,可能是由于网络问题、API接口不稳定等原因导致的。在这篇文章中,我将会教你如何处理Python API调用失败的问题。
首先,让我们来看一下整个处理过程的步骤,我们可以用以下表格展示:
| 步骤 | 操作     | 代码示例                     |
|--            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-08 10:04:41
                            
                                531阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            可以调用的对象 关于 call 方法,不得不先提到一个概念,就是可调用对象(callable),我们平时自定义的函数、内置函数和类都属于可调用对象,但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable 如果在类中实现了 call 方法,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-05-20 22:39:20
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在使用Kubernetes(K8S)进行开发和部署应用程序的过程中,我们经常需要在Python代码中调用外部命令。这时,就需要使用`subprocess`模块中的`call`函数来实现这个功能。本文将详细介绍如何在Python中使用`subprocess.call`函数,并通过代码示例来演示其用法。
### 什么是`subprocess.call`函数?
`subprocess.call`函数            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-29 11:00:07
                            
                                144阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            __call__在Python中,函数其实是一个对象:>>> f = abs>>> f.__name__'abs'>>> f(-123)123由于 f 可以被调用,所以,f 被称为可调用对象。所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。我们把 Person 类变成一个可调用对象:class Person(object):    def __init__            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-12 21:54:02
                            
                                144阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //call继承主要是继承构造函数中的属性 function Person(age, sex) { this.age = age; this.sex = sex; } Person.prototype.Sleep = function () { console.log("睡觉"); } Person ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-23 19:12:00
                            
                                114阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            COBOL的调用可以是静态调用(Static Call),这时,被调用的子程序必须与调用程序一起链接(link-edited)起来形成一个完整的装载模块(Load module),但子程序依然可以单独编译。这种方法会生成一个大的模块,同时也使得多个主程序调用同一个子程序时共享程序拷贝的愿望落空。 另外一种COBOL调用方法是动态调用(Dynamic CALL),这时,被调用的子程序必须编...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-09-27 14:21:00
                            
                                254阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            双下划线开头和双下划线按结尾的函数称为魔法函数,魔法函数一般都是在类里面使用,在触发的时候可以写其他的逻辑
# __call__:可以让对象带有函数的行为,通过()就可以调用
# 函数为什么可以使用()调用,是因为函数对象里面有__call__方法,而我们写的函数逻辑实际上是存在__call__这个方法里面的
def func():
    print("xxx")
    
print(dir            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-27 06:50:05
                            
                                132阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            《Think Python 2e》学习精粹(三): 函数 文章目录《Think Python 2e》学习精粹(三): 函数1、函数调用2、数学函数3、组合4、新建函数5、定义和使用6、执行流程7、形参和实参8、变量和形参都是局部的9、堆栈图10、有返回值函数和无返回值函数11、为什么写函数?12、调试 函数(function) :一个有命名的、执行某个计算的语句序列(sequence of sta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-25 19:37:13
                            
                                113阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            定义了call 函数之后,类可以像函数一样调用(实际调用的是call函数) class A(object): def __init__(self, name, age): self.name = name self.age = age def __call__(self): print('my na ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-26 17:13:00
                            
                                379阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            对象+()会调用__call__方法。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-21 10:21:10
                            
                                58阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            python中一切皆对象,函数也是对象,同时也是可调用对象(callable)。关于可调用对象,我们平时自定义的函数、内置函数和类都属于可调用对象,但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable 一个类实例要变成一个可调用对象,只 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-29 18:09:00
                            
                                80阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            [oracle@node01 0914]$ cat a1.py class Person(object): def __init__(self, name, gender): self.nam...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-09-14 16:15:00
                            
                                106阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            python 的__call_方法            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-07-09 16:23:52
                            
                                10000+阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在 Python 中提供了__call__ 方法,允许创建可调用的对象(实例)。如果类中实现了 __call__ 方法,则可以像使用函数一样使用类。 例如简单的封装一个接口 get/post 方法: 1 import requests 2 3 class Run(): 4 def __init__(            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-04 16:29:01
                            
                                373阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            __call__():Python中,只要在创建类型的时候定义了__call__()方法,这个类型就是可调用的。Python中的所有东西都是对象,其中包括Int/str/func/class这四类,它们都是对象,都是从一个类创建而来的。元类就是创建这些对象的东西,type就是Python的内建元类。其中,func是可调用的对象,说明在创建它的类型(父类或它本身)的时候,定义了__call_...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-12 21:46:30
                            
                                218阅读