Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 诸如请求之类的库如何具有“;期间”;功能?_Python_Python 3.x - Fatal编程技术网

Python 诸如请求之类的库如何具有“;期间”;功能?

Python 诸如请求之类的库如何具有“;期间”;功能?,python,python-3.x,Python,Python 3.x,例如: requests.get()是一个带句点的函数。我将如何制作自己的函数,例如: def foo(): 返回“bar” 然后像这样调用所述函数: x.foo() 不是这样的: foo()使用: 或者使用静态方法: class x: @staticmethod def foo(): return 'bar' 如果我理解正确的话,你想要这样的东西: class x: def __init__(self): pass def f

例如:

requests.get()
是一个带句点的函数。我将如何制作自己的函数,例如:

def foo():
返回“bar”
然后像这样调用所述函数:

x.foo()

不是这样的:

foo()
使用:

或者使用
静态方法

class x:
    @staticmethod
    def foo():
        return 'bar'

如果我理解正确的话,你想要这样的东西:

class x:
    def __init__(self):
        pass
    def foo(self):
         print "Hello"

如果您尝试执行,例如:b=x(),b.foo()将调用foo

您将注意到您还必须执行
导入请求。这是因为
请求
是一个Python模块或Python包。如果你愿意,你可以自己写

#src/library.py或src/library/__init.py
#^-模块------^^-包-------------^
def foo():
返回“bar”
#src/main.py
导入库#另一个python文件的名称
x=library.foo()
断言x=='bar'

请求
是一个包,
获取
是该包命名空间中的一个函数。点只是访问某个属性的操作符,它不属于名称。您可以创建一个模块(或包)并将函数放在其中,或者使用静态方法创建一个类。但是为什么要这样做呢?如果
x
是类的实例,而
foo()
是类中的函数,则可以调用带句点的函数。这里,
请求
是一个包含类和函数的库。因此,您可以使用
访问其中的函数。使用
静态方法的好处是什么?
class x:
    def __init__(self):
        pass
    def foo(self):
         print "Hello"