Python魔法方法、异常处理

魔法属性,方法:已经具备了一定功能的固有的属性和方法。

  1. 常见的魔法属性和方法

输出:

str():输出当前对象在内存中的地址

Python魔法方法、异常处理_第1张图片
image.png

程序输出:

image.png

repr():直接操作变量时~获取变量数据的定义

比较:

gt():grant than 大于

lt():less than 小于

ge():grant equals 大于或者等于

le():less or equals 小于或者等于

ne():not equals 不等于

eq():equals 等于

运算

add():加法

sub():减法

mul():乘法

truediv():除法

floordiv():整除

对象在集合中的剔重:

在对象剔重上,因为对象不是基础类型,不能直接操作,需要利用哈希算法将类型转换,然后利用比较函数进行比较。

hash()哈希算法 eq()比较函数(等于) 两者需要同时使用

类型中的方法/属性:

成员属性:声明在方法中,通过self声明的,是每个对象特有的。

成员变量:每个实例化对象自身特有的

实例属性:声明在方法中,通过self声明的。

实例变量:实例变量就是新建对象中的变量,不再与原来的类型共享该名称的变量

类属性:声明在类型的内部,方法的外部的属性

类变量:在整个类型中共享的变量

类型中的方法:

成员方法/实例方法:就是属于类型的普通方法

def 方法名称(self,..):

代码块

成员方法:必须通过对象对方法进行调用。

类方法:属于当前类型的方法,可以通过类型、该类型的对象进行调用

@classmethod

def 类方法(cls,..):

类方法:使用较少-特殊需求-在方法中要对当前类型进行操作考虑使用

静态方法:类型中的函数

可以被所有的对象、包括类型名称进行调用(参数的声明和普通函数一样)

@staticmethod

def 静态方法(..):

  1. Python中系统本身设定的异常处理

编程中错误的分类:

语法错误:在编程时代码写错导致解释执行时发生错误。

运行错误:运行过程中,由于不同数据的处理出现的错误 异常

运行结果错误:程序本身没有错误,但是运行结果不是期望的结果

在python异常处理中的关键字:try、except、else、finally、raise

异常处理语法格式:

try:

可能出现错误的代码块

except:

出现错误要执行的代码块

else:

程序没有错误运行的代码块

finally:

无论错误是否出现,都需要执行的代码块

多异常处理:

try:

可能出现错误的代码块

except:

出现错误要执行的代码块

特点:直接处理所有的一场,所有异常共同处理

try:

可能出现错误的代码块

except (错误类型,可以是多个) as e:

出现相应的错误所需要执行的代码块

特点:指定多个异常进行处理,明确具体的错误

try:

可能出现错误的代码块

except 错误类型1 as e:

出现错误类型1要执行的代码

except 错误类型2 as e:

出现错误类型2要执行的代码

特点:多个异常独立处理

4. 自定义异常处理

自定义异常类

class DoError(Exception):

def init(self,x,y):

super(DoError,self).init(x,y)

self.x = x

self.y = y

使用自定义异常

#自定义异常类
class DoError(Exception):
   def __init__(self,x,y):

       self.x = x
       self.y = y
#使用自定义异常
try:
    x = 3
    y = 2
    if x % y > 0:
       print(x/y)
       raise DoError(x,y)
except DoError as e:
   print(e)
else:
   print("")

你可能感兴趣的:(Python魔法方法、异常处理)