标签:函数 Python True 入门教程 Animation isinstance type
目录
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
Python 变量,也称 Python 数据类型。Python 变量一共六种类型:整数/浮点数/字符串/BOOL/列表/元组/字典;
一.Python type 函数简介
**Python 内置函数 type,该函数主要用于解析判断 Python 变量类型;**type 函数语法如下:
'''
函数描述:type 函数用于获取变量类型;
参数:
object : 实例对象;
返回值:直接或者间接类名、基本类型;
'''
type(object)
二.Python isinstance 函数简介
isinstance 函数是 **Python **中的一个内置函数,主要用于检测变量类型,返回值是 bool 值 ,isinstance 函数语法如下:
'''
函数描述:主要用于检测变量类型,返回值是 bool 值
参数:
object : 实例对象。
classinfo : 可以是直接或者间接类名、基本类型或者由它们组成的元组。
返回值:如果对象的类型与classinfo类型相同则返回 True,否则返回 False。
'''
isinstance(object,classinfo)
三.Python type 函数和 isinstance 函数区别
- ** isinstance 函数会认为子类是一种父类类型,考虑继承关系。**
- ** type 函数不会认为子类是一种父类类型,不考虑继承关系。**
# !usr/bin/env python
# -_- coding:utf-8 \__-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:python type 函数和 isinstance 函数区别.py
@Time:2021/3/21 11:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
class Animation:
pass
class Dog(Animation):
pass
print(isinstance(Animation(), Animation)) # returns True
print(type(Animation()) == Animation) # returns True
print(isinstance(Dog(), Animation)) # returns True
print(type(Dog()) == Animation) # returns False
'''
输出结果:
True
True
True
False
'''
代码分析
创建一个 Animation 对象,再创建一个继承 Animation 对象的 Dog 对象,使用 isinstance 和 type 来比较 Animation 和 Animation 时,由于它们的类型都是一样的,所以都返回了 True。
而 Dog 对象继承于 Animation 对象,在使用 isinstance 函数来比较 Dog 和 Animation 时,由于考虑了继承关系,所以返回了 True,使用 type 函数来比较 Dog 和 Animation 时,不会考虑 Dog 继承自哪里,所以返回了 False。
** 总结:如果要判断两个类型是否相同,则推荐使用 isinstance 函数**;
四.猜你喜欢
- Python 简介
- Python Pycharm Anacanda 区别
- Python2.x 和 Python3.x,如何选择?
- Python 配置环境
- Python Hello World 入门
- Python 代码注释
- Python 中文编码
- Anaconda 是什么?Anconda 下载安装教程
- Pycharm 提示:this license **** has been cancelled
- Pycharm 设置开发模板/字体大小/背景颜色
未经允许不得转载:猿说编程 » Python type 函数和 isinstance 函数区别
标签:函数,Python,True,入门教程,Animation,isinstance,type 来源: https://blog.csdn.net/ZhaDeNianQu/article/details/117676355
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。