python随笔7

今天来聊一聊关于类使用中需要注意的内容,软件编程的思想往往是顺序执行与硬件描述语言不同。硬件描述语言如verilog是并行的思想,所以代码块前后位置并没有影响。然而,软件的编程思想就完全不一样,严格按照顺序编译code。举个例子:
图一(a)在这里插入图片描述
图一(b)在这里插入图片描述
图二(a)在这里插入图片描述
图二(b)在这里插入图片描述

很明显两存在区别,图一print只执行5次,但是图二print却执行了6次

然而,今天要讲的类在定义时没有严格的顺序要求,你可以先定义Point, 在定义Line,即使在Line类中使用了Point的方法。同样你也可是先定义Line,再定义Point,即使Line中使用了Point的中的方法,python这种自由是令人欣赏的。However,有一点需要主要,那就是类对象的初始化赋值以及实力化对象是有严格的顺序要求,在我的观点里类定义完成之后的使用相当于是正常的软件编程,但是定义类就很自由。如果Line类使用了Point类中的方法,那么Point类就必须先进行类对象的初始化赋值,否则将会报错,例如出现:NameError: name ‘p1’ is not defined,出现的原因就是你使用了Point类中的方法,但是你没有使用Point类进行实例化或者没有初始化赋值。

最后贴出前文中提到关于定义的Point类和Line类的相关代码
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值