zoukankan      html  css  js  c++  java
  • Python面向对象2

    二,面向对象静态属性,类方法,静态方法

    静态属性:

     1 #Author : Kelvin
     2 #Date : 2019/1/15 11:29
     3 
     4 class Peple:
     5     government="opo"
     6     def __init__(self,name,age,gender):
     7         self.name=name
     8         self.age=age
     9         self.gender=gender
    10 
    11     @property
    12     def eat(self):
    13         return "%s 正在吃。。。"%(self.name)
    14 
    15 p=Peple("kelvin",20,"male")
    16 print(p.eat)

    静态属性在调用方法时,不需要加括号,直接使用 对象.函数名 调用

    类方法:

     1 #Author : Kelvin
     2 #Date : 2019/1/15 11:35
     3 
     4 class Peple:
     5     government="opo"
     6     def __init__(self,name,age,gender):
     7         self.name=name
     8         self.age=age
     9         self.gender=gender
    10     def eat(self,food):
    11         print("%s 正在吃 %s"%(self.name,food))
    12 
    13     @classmethod
    14     def run(cls):  #使用类方法函数参数为类本身
    15         print(cls)
    16         print(cls.government)
    17 
    18 Peple.run()  #直接使用 类名.类方法  python默认会将调用类作为参数传递到给函数 等价于 Peple.run(Peple)

    静态方法:

     1 #Author : Kelvin
     2 #Date : 2019/1/15 11:35
     3 
     4 #静态方法只是名义上归属于类管理,不使用类变量和实例变量,是类的工具包
     5 class Peple:
     6     government="opo"
     7     def __init__(self,name,age,gender):
     8         self.name=name
     9         self.age=age
    10         self.gender=gender
    11     def eat(self,food):
    12         print("%s 正在吃 %s"%(self.name,food))
    13 
    14     @staticmethod
    15     def run(x,y):  #使用类方法函数参数为类本身
    16         print("静态方法:",x,y)
    17 
    18 
    19 Peple.run("kelvin","nice")  #直接使用 类名.静态方法
    20 
    21 p=Peple("kelvin",20,"male")
    22 p.run("kelvin","run")       # 对象.静态方法 调用
    23 
    24 print(Peple.__dict__) #所有方法在类中保存,对象使用时从类中调用
    25 print(p.__dict__)   #属性值在对象中保存一份
  • 相关阅读:
    redis基础
    Django Meta
    Django Query
    Django FileFieldManage
    Django Managers管理器
    Django 模型
    Pytables h5py
    python 高级部分
    Python和HDF 5大数据应用
    是时候放弃pipeline 模型 ?
  • 原文地址:https://www.cnblogs.com/sun-10387834/p/10271200.html
Copyright © 2011-2022 走看看