python类的使用

# -*- coding: utf-8 -*-
"""
Created on Wed Feb  7 12:33:49 2018

@author: Administrator
"""

#############
class Car(object):#定义类
    def info(self):#定义成员方法
        print('this is a car')
        
car=Car()#实例化对象
car.info()#调用对象方法
############
#类内部调用数据成员加self,类外部调用数据成员加对象名
class A:
    def __init__(self,value1=0,value2=0):#构造函数
        self._value1=value1
        self.__value2=value2#私有成员
    def setValue(self,value1,value2):
        self._value1=value1
        self.__value2=value2
    def show(self):
        print(self._value1)
        print(self.__value2)
a=A()
a._value1#访问非私有成员
a.show()#间接调用
print(a._A__value2)#访问私有成员
######################
class Employee:
   '所有员工的基类'
   empCount = 0
 
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print("Total Employee %d" % Employee.empCount)
 
   def displayEmployee(self):
      print("Name : ", self.name,  ", Salary: ", self.salary)
e=Employee('ding',12)#__init__接受参数
e.displayCount()
e.displayEmployee()
#####################
class Car(object):
    price=10000
    def __init__(self,c):
        self.color=c
car1=Car('red')
car2=Car('green')
print(car1.color,Car.price)   

Car.name='qq'
car1.color='yellow'
print(car1.color,Car.name)    
def setSpeed(self,s):
    self.speed=s
import types
car1.setSpeed=types.MethodType(setSpeed,car1)
car1.setSpeed(50)
print(car1.speed)
##############
class Root:
    __total=0
    def __init__(self,v):
        self.__value=v
        Root.__total += 1
    def show(self):
        print(self.__value)
        print(Root.__total)
    @classmethod
    def classShowTotal(cls):
        print(cls.__total)
    @staticmethod
    def staticShowToal():
        print(Root.__total)

r=Root(3)
r.show()
r.classShowTotal()
r.staticShowToal()

Root.classShowTotal()
Root.staticShowToal()
Root.show(r)
###############
class Test:
    def prt(self):
        print(self)
        print(self.__class__)
 
t = Test()
t.prt()
#############
#继承
class Parent:        # 定义父类
   parentAttr = 100
   def __init__(self):
      print("调用父类构造函数")
 
   def parentMethod(self):
      print('调用父类方法')
 
   def setAttr(self, attr):
      Parent.parentAttr = attr
 
   def getAttr(self):
      print("父类属性 :", Parent.parentAttr)
 
class Child(Parent): # 定义子类
   def __init__(self):
      print("调用子类构造方法")
 
   def childMethod(self):
      print('调用子类方法')
 
c = Child()          # 实例化子类
c.childMethod()      # 调用子类的方法
c.parentMethod()     # 调用父类方法
c.setAttr(200)       # 再次调用父类的方法 - 设置属性值
c.getAttr()          # 再次调用父类的方法 - 获取属性值  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值