当前位置: 首页 > wzjs >正文

武汉百度做网站产品营销

武汉百度做网站,产品营销,wordpress图片编辑插件下载,常德网站开发哪家好目录 一、功能二、语法和示例 一、功能 type() 函数有两种形式,当只有一个参数时,用于获取对象的类型;当有多个参数时,用于获取新的类型对象。 二、语法和示例 第一种: type(object)参数说明: 1.object: 对象 2.…

目录

  • 一、功能
  • 二、语法和示例

一、功能

type() 函数有两种形式,当只有一个参数时,用于获取对象的类型;当有多个参数时,用于获取新的类型对象。
在这里插入图片描述

二、语法和示例

第一种:

type(object)参数说明: 
1.object: 对象
2.返回值: 返回对象的类型

第二种:

class type(name, bases, dict, **kwds)参数说明: 
1.name: 类的名称
2.bases: 基类的元组
3.dict: 字典,类内定义的命名空间变量
4.返回值: 返回新的类型对象

【示例1】使用type()函数分别输出不同类型对象的数据类型,代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680print(type('amo'))  # 输出字符串对象的数据类型
print(type((1, 2, 3, 4, 5)))  # 输出元组对象的数据类型
print(type([1, 2, 3, 4, 5]))  # 输出列表对象的数据类型
print(type({'age': 18, 'gender': '女'}))  # 输出字典对象的数据类型
print(type({1, 2, 3, 4, 5}))  # 输出集合对象的数据类型

【示例2】比较type()函数和isinstance()函数的区别。isinstance()函数也可以用于判断数据类型的,它与type()函数的区别如下:1.相同点:type()函数和isinstance()函数都能判断对象的数据类型。代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680d = {'name': 'andy', 'age': 18}
print(type(d))  # 输出对象的数据类型
print(isinstance(d, dict))  # 检测对象的数据类型是不是字典
print(isinstance(d, str))  # 检测对象的数据类型是不是字符串

2.不同点:这两个函数的不同点主要区别在检测某一实例化对象是否属于某一类的时,isinstance()能够判断出子类的实例化对象属于父类,但是type()则不会得出这个结果,它不会认为子类的实例化对象和它父类相同。代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680class Foo(object):passclass Bar(Foo):passprint(type(Bar()) == Foo)
print(isinstance(Bar(), Foo))

【示例3】使用 raise 输出错误数据类型。程序在检测类型异常时,为了能更清晰地说明错误原因,通常会使用type()函数获取数据的类型。例如,在将字符串和字节进行转化的过程中,就使用到了type()函数。代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680import sysdef encode(value):"""将字符串编码成字节类型"""if not isinstance(value, str):# 抛出异常,说明数据类型异常raise TypeError("str expected, not %s" % type(value).__name__)return value.encode(encoding, 'surrogateescape')if __name__ == "__main__":encoding = sys.getfilesystemencoding()print(f'当前文件编码格式是:{encoding}')encode_value = encode('123')print(f'字符串"123"被encode()函数编码后是:{encode_value}')print('数字123被encode编码')encode_value = encode(123)print(f'数字123被encode()函数编码后是:{encode_value}')

【示例4】使用 assert 输出错误数据类型。程序在检测类型异常时,可以使用 assert 输出错误数据的类型。例如,检测字典的键和值是否都为字符串。代码如下:

dict_val = {'name':'andy','age':18}
for key, value in dict_val.items():assert type(key) is str, '%r is not a string' % keyassert type(value) is str, '%r is not a string' % value

【示例5】分别使用class和type(name,bases,dict)创建类对象。type()函数有多个参数时,可以用于动态创建一个新的类型对象。这与使用class关键字创建类相似。下面分别使用这两种方式创建类对象。1.使用class 关键字创建类。创建一个User类,包含3个函数,代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680class User(object):def __init__(self, name, age):self.name = nameself.age = agedef get_name(self):print("我的名字是{}".format(self.name))def get_age(self):print("我的年龄是{}".format(self.age))user = User('Andy', 18)
user.get_name()
user.get_age()

2.使用type()函数动态创建类对象。同样可以使用type()函数来动态的创建类对象,代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680def __init__(self, name, age):# 实例属性self.name = nameself.age = agedef get_name(self):print("我的名字是{}".format(self.name))def get_age(self):print("我的年龄是{}".format(self.age))User = type('User', (object,), {'__init__': __init__, 'get_name': get_name, 'get_age': get_age})
user = User('Andy', 18)
user.get_name()
user.get_age()

【示例6】场景一:结合__new__()方法创建元类。在使用元类来创建类时,需要在元类中执行如下过程:①拦截类的创建②修改类③返回修改之后的类,可以使用type()函数结合__new__()方法来实现。代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2025-05-01 18:15
# @Author  : AmoXiang
# @File    : type_demo.py
# @Software: PyCharm
# @Blog: https://blog.csdn.net/xw1680class Meta(type):def __new__(meta, classname, bases, attrs):print('调用Meta类的__new__方法:', classname, bases, attrs, sep='\n...')return type.__new__(meta, classname, bases, attrs)class Animal:def __init__(self):print('调用Animal类的__init__方法')print('创建类')class Dog(Animal, metaclass=Meta):age = 5def run(self):print('狗可以奔跑')print('创建实例')
dog = Dog()
dog.run()
print('age:', dog.age)

创建Dog类时,使用metaclass属性声明Dog类是通过元类创建,会先执行Meta类的__new__()方法,返回一个type()函数创建的新类。而在实例化Dog()类时,会调用父类Animal的__init__()方法。

http://www.dtcms.com/wzjs/5518.html

相关文章:

  • 网站开发工程师项目经验游戏代理
  • 大型门户网站建设费用网站软件推荐
  • 外贸网站 源码百度怎么免费推广
  • wordpress主题开发什么叫做seo
  • 山东响应式网站怎么宣传自己的店铺
  • 网站优化排名怎么做百度seo是什么意思呢
  • 平湖网站建设公司如何联系百度人工客服
  • java做网站需要哪些技术药品销售推广方案
  • 沈阳唐朝网站建设网站关键词如何快速上首页
  • 网站建设及管理制度文章东莞网络公司排行榜
  • 昆明 网站建设平台优化
  • 我要建个人网站营销关键词有哪些
  • 邯郸公司网站建设大数据培训班出来能就业吗
  • 湖北做网站价格广告投放数据分析
  • 国外广告设计网站搜索引擎优化的内部优化
  • 定制手机网站建设珠海网站设计
  • 珠海七中科技制作安卓优化清理大师
  • 嘉定企业网站制作网站如何才能被百度收录
  • 黄冈网站建设报价百度搜索引擎官网
  • 宝丰网站制作效果好外贸网站推广seo
  • 高端网站定制渠道策略的四种方式
  • 长沙精品网站建设公司百度代理
  • 好发网站建设国外搜索引擎入口
  • 自己建立旅游的网站建设免费seo网站
  • 上海做电缆桥架的公司网站网站推广的全过程
  • 常山做网站焊工培训ppt课件
  • 中山网站建设设计中国站长之家域名查询
  • 国外外贸b2c网站设计晚上看b站
  • 4s店网站建设方案优化大师电脑版
  • 玉林网站制作品牌设计