1. python-面向对象-类的定义

  • 使用class关键字定义类

    class ClassName():
    	def funcName(self):
    		pass
      
      
    电脑(类):
    	特征(属性):主机,显示器,键盘,鼠标…
    		host = "4C8G"
    		displayer = "27寸"
    		keyboard = "机械键盘"
    		mouse = "无线鼠标"
    	功能(方法):办公,上网,看片…
    def office():
    	办公
    def internet():
    	上网
    def movies():s
    	玩游戏
    …
    
  • 类的书写规范

    • 示例:定义一个电脑类

      class Computer():
      	'''
      	电脑类
      	'''
        
      	# 属性
      	def __init__(self):
      		self.host = "4C8G"
      		self.displayer = "27寸"
      		self.keyboard = "机械键盘"
      		self.mouse = "无线鼠标"
          
      	# 方法
      	def office(self):
      		return "办公"
      	def internet(self):
      		return "上网"
      	def movies(self):
      		return "看片"
      
    • 类的书写规范

      • 类一般采用大驼峰命名,例如MyClass

      • 类注释,用于说明该类的用途,提高可阅读性

      • 类中只存在两种数据:属性和方法

      • 声明属性必须赋值

      • 声明方法的第一个参数必须是self,其他与普通函数一样

      • 一般会使用__init__方法给类指定的初始状态属性

  • 类的实例化

    • 通常称为

      • 实例化:用类创建对象的过程
      • 类实例:用类创建对象
      • 实例属性:对象的属性
      • 实例方法:对象调用的方法
    • 类的运行结果示例

      pc = Computer() # 类实例化,pc是类实例
      print(pc.host) # 访问类属性,查看电脑配置
      print(pc.movies()) # 访问类方法,让电脑做事
      
  • 初始化函数类

    • 示例1、让某个人使用电脑做事

      #!/usr/bin/env python3
      # _*_ coding: utf-8 _*_
      # Author:shichao
      # File: .py
      
      
      class Computer():
          '''
          电脑类
          '''
      
          # 属性
          def __init__(self, name):
              self.host = "4C8G"
              self.displayer = "27寸"
              self.keyboard = "机械键盘"
              self.mouse = "无线鼠标"
              self.name = name
      
          # 方法
          def office(self):
              return "%s在办公" % self.name
      
          def internet(self):
              return "%s在上网" % self.name
      
          def movies(self):
              return "%s在看片" % self.name
      
      
      zhangsan = Computer("张三")
      print(zhangsan.office())
      
      lisi = Computer("李四")
      print(lisi.movies())
      
    • 示例2、加减乘除

      class Calc():
          '''
          计算器类
          '''
      
          def __init__(self, num1, num2):
              self.num1 = num1
              self.num2 = num2
      
          def jia(self):
              return self.num1 + self.num2
          def jian(self):
              return self.num1 - self.num2
          def cheng(self):
              return self.num1 * self.num2
          def chu(self):
              return self.num1 / self.num2
      
      
      calc = Calc(6, 6)
      print(calc.jia())
      

2. python-面向对象类的案例

  • 示例1、初始化函数传参

    #!/usr/bin/env python3
    # _*_ coding: utf-8 _*_
    # Author:shichao
    # File: .py
    
    class Computer():
        '''
        电脑类
        '''
    
        # 属性(特征)
        def __init__(self):       # self 函数类的本身
            self.host = "4核8G"
            self.displayer = "27寸"
            self.keyboard = "128键"
            self.mouse   = "无线鼠标"
    
        # 方法(功能)
        def office(self):
            print("办公")
    
        def internet(self):
            return "上网"
    
    # 使用类
    pc = Computer()
    
    
    # 调用类方法
    print(pc.host)
    print(pc.internet())
    
  • 示例2、初始化函数-加减乘除

    class Calc():
        '''
        计算器类
        '''
    
        def __init__(self, num1, num2):
            self.num1 = num1
            self.num2 = num2
    
        def jia(self):
            return self.num1 + self.num2
    
        def jian(self):
            return self.num1 - self.num2
    
        def cheng(self):
            return self.num1 * self.num2
    
        def chu(self):
            return self.num1 / self.num2
    
    
    calc = Calc(6, 6)
    print(calc.jia())