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

网站开发人员是什么网上学学网站开发工程师

网站开发人员是什么,网上学学网站开发工程师,网站开发运行环境,网页设计公司介绍网页文章目录 property的介绍与使用作用使用场景装饰方法防止属性被修改 实现setter和getter的行为 staticmethod 与 classmethod作用代码示例 两者区别使用区别代码演示 abstractmethod参考资料 property的介绍与使用 python的property是python的一种装饰器#xff0c;是用来修饰… 文章目录 property的介绍与使用作用使用场景装饰方法防止属性被修改 实现setter和getter的行为 staticmethod 与 classmethod作用代码示例 两者区别使用区别代码演示 abstractmethod参考资料 property的介绍与使用 python的property是python的一种装饰器是用来修饰方法的。 作用 我们可以使用property装饰器来创建只读属性property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用这样可以防止属性被修改。 使用场景 装饰方法 修饰方法是方法可以像属性一样访问。如果使用property进行修饰后又在调用的时候方法后面添加了() 那么就会显示错误信息TypeError: ‘int’ object is not callable也就是说添加property 后这个方法就变成了一个属性如果后面加入了()那么就是当作函数来调用而它却不是callable可调用的。没有使用property修饰它是一种方法如果把括号去掉不会报错输出的就会是方法存放的地址。代码示例 class DataSet(object):propertydef method_with_property(self): ##含有propertyreturn 15def method_without_property(self): ##不含propertyreturn 15l DataSet() print(l.method_with_property) # 加了property后可以用调用属性的形式来调用方法,后面不需要加。 print(l.method_without_property()) #没有加property , 必须使用正常的调用方法的形式即在后面加()防止属性被修改 ​ 由于python进行属性的定义时没办法设置私有属性因此要通过property的方法来进行设置。这样可以隐藏属性名让用户进行使用的时候无法随意修改。 class DataSet(object):def __init__(self):self._images 1self._labels 2 #定义属性的名称propertydef images(self): #方法加入property后这个方法相当于一个属性这个属性可以让用户进行使用而且用户有没办法随意修改。return self._images propertydef labels(self):return self._labels l DataSet() #用户进行属性调用的时候直接调用images即可而不用知道属性名_images因此用户无法更改属性从而保护了类的属性。 print(l.images) # 加了property后可以用调用属性的形式来调用方法,后面不需要加。实现setter和getter的行为 property是python的一个内置装饰器使用装饰器的目的是改变类的方法或者属性这样调用者就无需在代码中做任何改动。 class Adult(object): def __init__(self):self.__age 0propertydef age(self):print(getter() method called)return self.__ageage.setterdef age(self, value):if value 18:raise ValueError(Sorry, you are a child, games not allowed)print(setter() method called)self.__age valuexiaoli Adult() xiaoli.age 19 print(xiaoli.age)staticmethod 与 classmethod 作用 一般来说要使用某个类的方法需要先实例化一个对象再调用方法。而使用staticmethod或classmethod就可以不需要实例化直接类名.方法名()来调用。这有利于组织代码把某些应该属于某个类的函数给放到那个类里去同时有利于命名空间的整洁。 代码示例 分别定义静态函数类普通函数类函数 class A(object):a a# foo1为静态函数用staticmethod装饰器装饰staticmethoddef foo1(name):print hello, name# foo2为正常的函数是类的实例的函数def foo2(self, name):print hello, name# foo3为类函数classmethoddef foo3(cls, name):print hello, name调用 a A() a.foo1(mamq) # 输出: hello mamq A.foo1(mamq)# 输出: hello mamq a.foo2(mamq) # 输出: hello mamq A.foo2(mamq) # 报错: unbound method foo2() must be called with A instance as first argument (got str instance instead) a.foo3(mamq) # 输出: hello mamq A.foo3(mamq) # 输出: hello mamq两者区别 使用区别 staticmethod不需要表示自身对象的self和自身类的cls参数就跟使用函数一样。classmethod也不需要self参数但第一个参数需要是表示自身类的cls参数。如果在staticmethod中要调用到这个类的一些属性方法只能直接类名.属性名或类名.方法名。而classmethod因为持有cls参数可以来调用类的属性类的方法实例化对象等避免硬编码。 代码演示 在classmethod中可以调用类中定义的其他方法、类的属性但staticmethod只能通过A.a调用类的属性但无法通过在该函数内部调用A.foo2()。 class A(object):a astaticmethoddef foo1(name):print hello, nameprint A.a # 正常print A.foo2(mamq) # 报错: unbound method foo2() must be called with A instance as first argument (got str instance instead)def foo2(self, name):print hello, nameclassmethoddef foo3(cls, name):print hello, nameprint A.aprint cls().foo2(name)abstractmethod 如果在父类中某个函数使用了abstractmethod那么子类中必须重新定义一遍这个函数其子类才能实例化否则就会报错。使用abstractmethod的作用是提醒编程者避免子类在编程过程中漏掉某个必要的函数。代码示例 from abc import ABC, abstractmethodclass Foo(ABC):abstractmethoddef fun(self):please Implemente in subclassclass SubFoo(Foo):def fun(self):print(fun in SubFoo)a SubFoo() a.fun()参考资料 python中的cls到底指的是什么与self有什么区别? python property的介绍与使用 setter在python中 python的setter的作用 转载 abstractmethod 的作用与使用方法
http://www.hkea.cn/news/14416868/

相关文章:

  • 网站建设和维护视频上海做seo
  • 国外优秀网站设计书签制作简单漂亮图片
  • 电商设计网站有哪些做网站的技术性说明
  • 网站中英切换实例做首图的网站
  • php网站开发模板小程序平台推广方案
  • 黄埔网站建设公司做网站文件下载
  • 站内搜索引擎喀什百度做网站多少钱
  • 网站怎么在工信部备案泰安新闻完整版
  • 做兼职上什么网站哈尔滨做企业网站
  • 中国网站 服务器好看网站
  • 网站建设公司海外网站表单制作
  • 做网站建设多少钱杭州app外包公司排名
  • 网站 空间 域名个人适合做什么网站
  • 网站建立连接不安全怎么解决网站备案不能访问
  • 导购网站一站式建站南充楼市
  • 建瓯做网站的公司移动端网站欣赏
  • 外贸网站faqwordpress主题预览插件
  • 网站的功能目标设计一个网页要多少钱
  • 什么网站推广比较好山西网站建设鸣蝉
  • 想做外贸做哪些网站wordpress数据库权限
  • 广州做网站哪里有直播带货平台
  • 网站建设风险是什么意思frontpage怎么制作网页
  • 丰台手机网站设计阳江市问政平台留言
  • 城市联盟网站怎么做网站建设 长沙百姓网
  • 我看别人做系统就直接网站下载文件网站建设什么是静态网页
  • wordpress块引用整站seo免费咨询
  • 徐州自助建站系统建立团购网站
  • 石排镇网站建设公司重庆建一个网站
  • wordpress悬浮导航谷歌seo最好的公司
  • 网盘搜索网站如何做的冀州网站建设公司