python面向对象(高级)1+1=2

Posted 天亮yǐ后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python面向对象(高级)1+1=2相关的知识,希望对你有一定的参考价值。

面向对象

  class Foo:
  #静态字段,属于类
  country=‘中国‘

  def __init__(self,name):
  #普通字段
  self.name=name

  #普通方法
  def show(self):
  print(self.name)

  #静态方法
  @staticmethod
  def sta(a1,a2):
  print(a1,a2)

  #类方法
  @classmethod
  def classmd(cls):
  #cls是类名
  print(cls)
  print(‘classmethod‘)

  #属性/特性
  @property            def f1(self):      def f2(self):          def f2(self):
  def per(self,a):      或      return 1         print(a)            del self.name
  print(a)                         return 1           删除对象的name字段
  return 1             per=property(fget=f1,fset=f2,fdel=f3)

  Foo.country
  obj=Foo(‘anner‘)
  obj.name
  Foo.show(obj)
  obj.show()
  Foo.sta(1,2)#静态方法,通过类名就可以调用
  Foo.classmd()#系统自动将类名传入,赋给cls参数
  a=obj.per=123#属性/特性,调动时跟调用字段相同,不用加括号。为其赋值传进参数
  del obj.per#属性/特性,调用f3,删除对象的name字段
  print(a)

类成员:
  #字段
  ——普通字段,保存在对象中,只能通过对象访问
  ——静态字段,保存在类中,执行可以通过对象访问,也可以通过类访问

  #方法
  ——普通方法,保存在类中,由对象调用self==>对象
  ——静态方法,保存在类中,加装饰器,由类可以直接调用,self就不是必须的了
  ——类方法,保存在类中,加装饰器,由类可以直接调用,cla==>当前类
  #属性/特性
  ——普通方法加装饰器,但调动时跟调用字段相同,不用加括号。
########应用场景:
  如果对象中需要保存一些值,执行某功能时,需要使用对象中的值==>普通方法
  不需要任何对象中的值,静态方法
  在列表,集合,字典调用中索引值可能通过方法调用得出,所以写法会比较乱;所以利用特性装饰方法后可以省去方法调用时的括号,便于阅读

以上是关于python面向对象(高级)1+1=2的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象编程高级特性

Python自动化 第七篇:Python基础-面向对象高级语法异常处理Scoket开发基础

python面向对象高级编程

python面向对象高级

python之路--day23--面向对象高级

面向对象高级编程