网站开发的服务器是什么,社区微网站建设方案ppt模板下载,网站开发用什么系统比较好?,外贸网络销售一、说明 在这篇博客中#xff0c;我们将探讨两个python函数#xff1a;1 callable 中的函数及其有趣的应用程序。该callable函数用于检查对象是否可调用#xff0c;这意味着它可以作为函数调用。2 isinstance这个内置函数允许我们比较两种不同的数据类型并确定它们是否相… 一、说明 在这篇博客中我们将探讨两个python函数1 callable 中的函数及其有趣的应用程序。该callable函数用于检查对象是否可调用这意味着它可以作为函数调用。2 isinstance这个内置函数允许我们比较两种不同的数据类型并确定它们是否相同。
第一部分 callable
1.1 使用变量 让我们首先分配一个变量x并使用该callable函数来检查它是否可调用。由于变量不可调用因此该callable函数将返回False。但是如果我们定义一个函数并将其传递给该callable函数它将返回True。
x variabledef function():passprint(callable(x)) # Output: False
print(callable(function)) # Output: True
1.2 探索class 现在让我们看看该callable函数应用于类时的一些更有趣的方面。我们将创建一个名为 的类Engine并定义一个 dunder 方法__call__该方法允许将该类的实例作为函数调用。在方法内部__call__我们将打印传递给实例的参数和关键字参数。
class Engine:def __call__(self, *args, **kwargs):if args:print(args)if kwargs:print(kwargs)print(Running the engine!)engine Engine()
最初callable使用类的实例调用函数Engine将返回False因为默认情况下类不可调用。
print(callable(engine)) # Output: False
但是通过将__call__方法添加到类中我们可以使类的实例可调用。让我们__call__暂时删除该方法并再次检查该callable函数该函数现在将返回False。
del Engine.__call__
print(callable(engine)) # Output: False
现在让我们__call__重新添加该方法并再次检查该callable函数该函数现在将返回True。
class Engine:def __call__(self, *args, **kwargs):if args:print(args)if kwargs:print(kwargs)print(Running the engine!)def func():passif __name__ __main__:var xengine Engine()print(callable(engine))# Output: True
1.3 使用可调用类 现在该类Engine是可调用的我们可以将其用作函数。我们可以将参数和关键字参数传递给类的实例它会在运行引擎之前打印它们。
engine(bmw, fuelelectric)# Outpuut
# (bmw)
# {fuel: electric}
# Running the engine
# True
1.4 使用callable混合数据类型列表 该函数的另一个有趣的应用callable是处理包含函数、变量和其他数据类型混合的列表。for我们可以通过使用循环和函数来简化仅调用可调用对象的过程callable。
engine_variable [engine, variable, function, 123]for item in engine_variable:if callable(item):item() 在此示例中我们迭代列表engine_variable并检查每个项目是否可以使用该callable函数调用。如果它是可调用的我们将该项目称为函数。在这种情况下它将运行引擎和函数。
1.5 结论 在这篇博客中我们探索了callablePython 中的函数。我们从使用变量开始然后转向类。通过将__call__dunder 方法添加到类中我们使该类的实例可调用。我们还了解了如何callable使用该函数仅调用混合数据类型列表中的可调用对象。该callable函数是一个强大的工具它允许我们确定一个对象是否可以作为函数调用从而为我们的代码提供灵活性和控制。 第二部分 isinstance() 在本节中我们将探讨该函数它是Pythonisinstance()中的内置函数。专业人士通常使用此功能来比较两种不同的数据类型并确定它们是否相同。通过使用我们可以在继续程序之前轻松检查变量是否属于特定数据类型。
2.1 传入字符串和我们想要与之比较的数据类型 让我们从一个例子开始。假设我们有一个字符串变量和一个名为 的类Animal。该类Animal仅保存动物的种类。我们要检查字符串是否是字符串类型。为此我们可以使用该isinstance() 方法传入字符串和我们想要与之比较的数据类型。这是代码
string Hello, world!
print(isinstance(string, str))# Output
# True 在这种情况下isinstance() 函数将返回True因为变量string是字符串类型。但是如果我们将 的值更改string为整数并重新运行程序该函数将返回False因为string不再是字符串类型。 该isinstance()函数还可以与其他数据类型一起使用例如整数。您可以插入任何要比较的数据类型。例如如果我们运行以下代码
string Hello, world!
print(isinstance(string, (int, str)))
print(isinstance(string, (int, float)))# Output
# True
# False 第一个isinstance() 函数将返回True因为string它是字符串但第二个isinstance()函数将返回False因为string它不是整数。 2.2 组合数据类型比较 当我们开始组合数据类型时事情会变得更加有趣。我们可以将数据类型的元组传递给函数isinstance()来检查变量是否与任何指定的数据类型匹配。例如
string Hello, world!
print(isinstance(string, (int, str)))
print(isinstance(string, (int, float)))# Output
# True
# False 在第一种情况下该isinstance()函数将返回True因为它string是一个字符串。然而在第二种情况下它将返回False因为string它既不是整数也不是浮点数。 2.3 不限于内置类型 该isinstance()函数不限于内置数据类型。我们还可以用它来比较用户定义的类型例如类。让我们考虑以下示例
class Animal:def __init__(self, species):self.species speciesclass Cat(Animal):passcat Cat(Persian)
print(isinstance(cat, Animal))# Output
# True
在此示例中我们有一个名为 的类Animal和一个名为 的子类Cat。Cat我们创建一个Called实例cat然后使用该isinstance() 函数检查是否cat属于类型Animal。该函数将返回True因为它cat确实是该类的一个实例Animal。 2.4 结论 在本文中我们探讨了Python 中的函数。这个内置函数允许我们比较两种不同的数据类型并确定它们是否相同。通过使用我们可以在继续程序之前轻松检查变量是否属于特定数据类型。在处理用户输入并确保提供正确的数据类型时此函数特别有用。