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

提供图片做网站的要求苏州网站网络推广

提供图片做网站的要求,苏州网站网络推广,做招标代理应关注的网站,wordpress 花生壳目录 1、计算连续表达式的一个过程 2、优化后的代码 为什么不能return resultn? 3、用面向对象的方法可以解决冗余的问题,但是还是不能解决result的值可以被随意修改的问题 4、解决不能被随意修改的问题,可以将类属性改成私有变量吗&…

目录

1、计算连续表达式的一个过程

2、优化后的代码

为什么不能return result+=n?

3、用面向对象的方法可以解决冗余的问题,但是还是不能解决result的值可以被随意修改的问题

4、解决不能被随意修改的问题,可以将类属性改成私有变量吗,但是随之而来的问题就是也不能更改读取和访问了

5、最后用实例对象极限优化,。。我不能理解 为啥一开始不用实例对象来着,不是更容易吗


1、计算连续表达式的一个过程

但是这个代码有点冗余,有一点可以修改和优化的地方,具体看如下

#计算器,实现一些基本操作,如:加减乘除
def jia(n1,n2):return n1 +n2
def jian(n1,n2):return n1-n2
def cheng(n1,n2):return n1*n2
def chu(n1,n2):return n1 / n2
# res = jia(3,4)
# print(res)
# res1 = jian(3,8)
# print(res1)
#(2+6-4)*5
r1 = jia(2,6)
r2 = jian(r1,4)
r3 = cheng(r2,5)
print(r3)

2、优化后的代码

result = 0
def first_value(v):global  resultresult = v
def jia(n):global resultresult += n
def jian(n):global resultresult -= n
def cheng(n):global resultresult *= n
def chu(n):global resultresult / n
# res = jia(3,4)
# print(res)
# res1 = jian(3,8)
# print(res1)
#(2+6-4)*5
# r1 = jia(2,6)
# r2 = jian(r1,4)
# r3 = cheng(r2,5)
# print(r3)first_value(2)
jia(6)
jian(4)
cheng(5)
print(result)

为什么不能return result+=n?

在Python中,return 语句用于从函数中返回一个值,并且结束函数的执行。而 result += n 是一个赋值语句,它将 result 的值加上 n 并赋给 result,但它并不返回任何值。

3、用面向对象的方法可以解决冗余的问题,但是还是不能解决result的值可以被随意修改的问题

class Caculator:result = 0@classmethoddef first_value(cls,n):cls.result = n@classmethoddef jia(cls,n):cls.result += n@classmethoddef jian(cls,n):cls.result -=n@classmethoddef cheng(cls,n):cls.result *= n@classmethoddef chu(cls,n):cls.result /= n
Caculator.first_value(2)
Caculator.jia(6)
Caculator.jian(4)
Caculator.cheng(5)
print(Caculator.result)

4、解决不能被随意修改的问题,可以将类属性改成私有变量吗,但是随之而来的问题就是也不能更改读取和访问了

class Caculator:__result = 0@classmethoddef first_value(cls,n):cls.__result = n@classmethoddef jia(cls,n):cls.__result += n@classmethoddef jian(cls,n):cls.__result -=n@classmethoddef cheng(cls,n):cls.__result *= n@classmethoddef chu(cls,n):cls.__result /= n@classmethoddef show(cls):print('计算的结果是%s'%cls.__result)
Caculator.first_value(2)
Caculator.jia(6)
Caculator.jian(4)
Caculator.cheng(5)
Caculator.show()

改成私有属性,照样可以访问!!!只不过需要在最后面那块加一个显示函数类似于show这种的~~~

5、最后用实例对象极限优化,。。我不能理解 为啥一开始不用实例对象来着,不是更容易吗

class Caculor():def __init__(self,num):self.__result = numdef jia(self,n):self.__result += ndef jian(self,n):self.__result -= ndef cheng(self,n):self.__result *= ndef chu(self,n):self.__result /= ndef show(self):self.__resultprint('最终计算结果是%s'%self.__result)
p1 = Caculor(2)p1.jia(6)
p1.jian(4)
p1.cheng(5)
p1.show()

6、更好的修改是增加一个容错机制

class Caculator:def __init__(self,num):if not isinstance(num,int):raise TypeError('阿偶,不是一个整型数据哦')self.__result=numdef jia(self,n):self.__result += ndef jian(self,n):self.__result -= ndef cheng(self,n):self.__result *= ndef chu(self,n):self.__result /= ndef show(self):print('最终结果是%s'%self.__result)
c1 = Caculator('axc')
c1.jia(6)
c1.jian(4)
c1.cheng(5)
c1.show()

http://www.yayakq.cn/news/782087/

相关文章:

  • 浏览器看外国网站郑州住房和城乡建设厅网站
  • 计算机网络技术招聘信息山西seo优化公司
  • 全椒做网站像天猫网站怎么做
  • 网站建设平台硬件要求衡水网站建设衡水
  • 网站栅格化怎么做做网站的最终目的
  • 如何做网站投放广告网站开发摊销期多少年
  • 咸阳网站建设推广可做外链的网站
  • 网站添加flash肇庆网站制作费用
  • 做网站阜新wordpress制作数据可视化
  • 如果做微商需不需要开个网站网站建设上线
  • 西安住房建设局网站首页网络建设费是什么
  • 聊城网站优化技术河源网站建设
  • 增加收录网站网站制作需要哪些
  • 沈阳模板建站软件网站建设网站软件有哪些内容
  • 知名网站有哪些?深圳宝安区哪里好玩
  • 手机网站模板.网站建设教程微云网盘
  • 高端网站建设,恩愉科技网站后台更新为什么前台不现实
  • 怎样建设网站网站建设时间及简介
  • 网站建设咨询公司排名传统文化传播公司网站建设
  • 网站挂黑链重庆专业seo
  • 89点班组建设网站郑州各区房价一览表
  • 企业网站建设方案策划网站建设选择题
  • 做搬家服务网站问卷调查的目的网站运营报告
  • 科技 网站建设wordpress网站备案
  • 创新的模板网站建设wordpress+附件丢失
  • 做微信小程序网站做任务领游戏的网站
  • 内蒙古网站seo优化微信微官网开发
  • 商业网站建设案例笔记网站建设阶段要做什么
  • 设计模板网站都有哪些发布php做的网站
  • 商城网站开发制作如何在iis下建设网站