本文将从多个方面详细阐述Python中查询变量类型的函数,主要包括以下几点:
一、type()函数
type()函数是Python内置的函数,用于查询变量的类型。它的使用非常简单,只需要将变量作为参数传递给type()函数即可,如下所示:
a = 1 print(type(a)) #
type()函数的返回值是一个表示变量类型的type对象。针对不同类型的变量,type()函数的返回值也不同。例如:
b = "hello, world!" print(type(b)) # c = ['one', 'two', 'three'] print(type(c)) # d = {'name': 'Tom', 'age': 18} print(type(d)) #
二、isinstance()函数
isinstance()函数是Python内置的函数,用于判断一个变量是否为某个类型。它接受两个参数,第一个参数为待判断的变量,第二个参数为类型。如果待判断的变量是指定类型的对象,则返回True,否则返回False。例如:
a = 1 print(isinstance(a, int)) # True b = "hello, world!" print(isinstance(b, int)) # False c = ['one', 'two', 'three'] print(isinstance(c, list)) # True d = {'name': 'Tom', 'age': 18} print(isinstance(d, dict)) # True
三、dir()函数
dir()函数是Python内置的函数,用于查询对象的所有属性与方法。如果不带参数调用dir()函数,则返回当前作用域中的所有变量、函数和模块等名称。例如:
a = 1 b = "hello, world!" print(dir()) # ['__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b'] c = ['one', 'two', 'three'] print(dir(c))
对于对象调用dir()函数,返回的将是该对象的所有属性和方法的名称列表,例如:
class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print("Hello, I'm", self.name) p = Person("Tom", 18) print(dir(p))
输出如下:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'age', 'name', 'say_hello']
从输出结果中可以看出,Person类有两个属性name和age,以及一个方法say_hello()。
四、__class__属性
在Python中,每个对象都有一个__class__属性,表示该对象所属的类。通过查询__class__属性,我们可以得到对象的类型。例如:
a = 1 print(a.__class__) # b = "hello, world!" print(b.__class__) # c = ['one', 'two', 'three'] print(c.__class__) # d = {'name': 'Tom', 'age': 18} print(d.__class__) #
五、总结
以上就是Python查询变量类型的函数的几种方法,可以根据不同的需求选择相应的方法。type()函数可以直接查询变量的类型,isinstance()函数可以判断一个变量是否为某个类型,dir()函数可以查询对象的所有属性和方法,__class__属性可以获取对象所属的类。
原创文章,作者:RTXOF,如若转载,请注明出处:https://www.506064.com/n/374677.html