魔法属性,方法:已经具备了一定功能的固有的属性和方法。
- 常见的魔法属性和方法
输出:
str():输出当前对象在内存中的地址
程序输出:
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 静态方法(..):
- 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("")