来自 计算机编程 2019-12-17 04:18 的文章
当前位置: 澳门威尼斯人平台 > 计算机编程 > 正文

Python基础

python元类:**type()   **

python标准异常

异常名称 描述
BaseException 所有异常的基类
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
WindowsError 系统调用失败
ImportError 导入模块/对象失败
LookupError 无效数据查询的基类
IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于Python 解释器不是致命的)
NameError 未声明/初始化对象 (没有属性)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
IndentationError 缩进错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
TypeError 对类型无效的操作
ValueError 传入无效的参数
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告

“大蟒蛇”出没!Python程序设计语言来了!Python的创始人GuidovanRossum是Monty“大蟒蛇”飞行马戏团的一位爱好者。在1989年圣诞节期间,他决心开发一个新的脚本解释程序,并把这个程序设计语言取名为Python。本内容共分为5篇:基础入门篇、有序和无序篇、标准函数篇、面向对象篇和高级篇。基础入门篇踏上学习之旅时,首先把重点放在Python语言的基础语法上。Python本身提供了IDEL软件作为Python程序的集成开发环境。本篇从Python内置的类型讲起,与其他程序设计语言不同的是,每个变量都指向引用的对象。Python为处理数值提供了丰富的功能,如整数、浮点数和复数,甚至还可以使用有理数。对于改变程序语句的流程控制,可根据Python的简明原则,if/else条件语句以及for、while循环语句就可以“行遍天下”。有序和无序篇掌握了Python的基本语法,当然就可以“游历天下”了。在本篇中,我们先来认识序列类型的字符串String、列表List和元组Tuple,映射类型的字典Dictionary,无序类型的集合Set。对于Python来说,即使是单个字符也是字符串,所以处理字符串有相当多的方法,如切片、索引、搜索和结合。而可变数据列表List类型和不可变的元组Tuple类型,与一般程序设计语言中数组的不同之处是,它们可以存放不同类型的元素。Dictionary类型以key和value来形成对应关系,而集合Set类型也支持数学的集合运算标准函数篇Python有强大的标准函数库,内容包罗万象,本书无法逐一介绍。本篇首先介绍的是自定义函数,随后综合了各个章节使用过的内置函数。本篇对于函数中接收数据的参数和进行传递的参数有较多的介绍。在学习导入模块时,会介绍处理与日期、时间有关的模块。。))

Python内置函数(65)——type,python内置65type

英文文档:

class type(object)

class type(name, bases, dict)

With one argument, return the type of an object. The return value is a type object and generally the same object as returned by object.__class__.

The isinstance() built-in function is recommended for testing the type of an object, because it takes subclasses into account.

With three arguments, return a new type object. This is essentially a dynamic form of the class statement. The name string is the class name and becomes the __name__ attribute; the bases tuple itemizes the base classes and becomes the __bases__ attribute; and the dict dictionary is the namespace containing definitions for class body and is copied to a standard dictionary to become the __dict__ attribute. 

 

说明:

  1. 函数只传入一个参数时,返回参数对象的类型。 返回值是一个类型对象,通常与对象.__ class__返回的对象相同。

#定义类型A
>>> class A:
    name = 'defined in A'

#创建类型A实例a
>>> a = A()

#a.__class__属性
>>> a.__class__
<class '__main__.A'>

#type(a)返回a的类型
>>> type(a)
<class '__main__.A'>

#测试类型
>>> type(a) == A
True

澳门威尼斯人平台 ,  2. 虽然可以通过type函数来检测一个对象是否是某个类型的实例,但是更推荐使用isinstance函数,因为isinstance函数考虑了父类子类间继承关系。

#定义类型B,继承A
>>> class B(A):
    age = 2

#创建类型B的实例b
>>> b = B()

#使用type函数测试b是否是类型A,返回False
>>> type(b) == A
False

#使用isinstance函数测试b是否类型A,返回True
>>> isinstance(b,A)
True

  3. 函数另一种使用方式是传入3个参数,函数将使用3个参数来创建一个新的类型。其中第一个参数name将用作新的类型的类名称,即类型的__name__属性;第二个参数是一个元组类型,其元素的类型均为类类型,将用作新创建类型的基类,即类型的__bases__属性;第三个参数dict是一个字典,包含了新创建类的主体定义,即其值将复制到类型的__dict__属性中。

#定义类型A,含有属性InfoA
>>> class A(object):
    InfoA = 'some thing defined in A'

#定义类型B,含有属性InfoB
>>> class B(object):
    InfoB = 'some thing defined in B'

#定义类型C,含有属性InfoC
>>> class C(A,B):
    InfoC = 'some thing defined in C'

#使用type函数创建类型D,含有属性InfoD
>>> D = type('D',(A,B),dict(InfoD='some thing defined in D'))

#C、D的类型
>>> C
<class '__main__.C'>
>>> D
<class '__main__.D'>

#分别创建类型C、类型D的实例
>>> c = C()
>>> d = D()

#分别输出实例c、实例b的属性
>>> (c.InfoA,c.InfoB,c.InfoC)
('some thing defined in A', 'some thing defined in B', 'some thing defined in C')
>>> (d.InfoA,d.InfoB,d.InfoD)
('some thing defined in A', 'some thing defined in B', 'some thing defined in D')

 

英文文档: class type ( object ) class type ( name , bases , dict ) With one argument, return the type of an object . The...

元类是python高阶语法. 合理的使用可以减少大量重复性的代码.

本文由澳门威尼斯人平台发布于计算机编程,转载请注明出处:Python基础

关键词: