Python基础学习:类与对象

一、初识类

1.在面向对象编程中,编写现实社会中的类,并基于类来创建一系列对象。根据类创建的对象称为实例化。
2.例如:人是一个类,具体的某个人就是一个对象。
3.python中,使用关键字**class**来定义类,类名首字母一般大写。

二、创建和使用类

代码示例1:创建一个Person类

class Person:  
    def __init__(self,name,age):  #__init__()为一个特殊方法,类中的函数称为方法。
        #初始化姓名和年龄
        self.name=name     #python调用方法创建实例Person时,自动传入实参self
        self.age=age        #可以通过实例访问变量属性
    def get_name(self):  #self可提供类中的所有方法使用,可通过任何类实例方法
        print("欢迎光临:",self.name)
    def get_age(self):
        print("年龄:",self.age)
person=Person('刘德华',18)   #类调用__init__方法
person.get_name()
person.get_age()
========================== RESTART: D:/py基础代码/3.30.py ==========================
欢迎光临: 刘德华
年龄: 18

代码示例2:使用类和实例

class Car:   #创建一个汽车类
    def __init__(self,name,model,address):
        self.name=name
        self.model=model
        self.address=address
    def car_message(self):
        message=("\n名称:{}".format(self.name)+"\n型号:{}".format(self.model)
                 +"\n产地:{}".format(self.address))
        #format用法:格式化输出,替换传统的%方法
        return message
    def update_model(self,model):   #定义一个修改model参数的方法
        self.model=model
my_car=Car('toyoto','carola','korea')
my_car.update_model('civic')
print(my_car.car_message())
========================== RESTART: D:/py基础代码/3.30.py ==========================
名称:toyoto
型号:civic
产地:korea

三、类的继承

  1. 编写类时,如果要编写的类是另一个现成类的特殊版本,可以使用继承
  2. 一个类继承另一个类时,将自动获取另一个类的所有属性和方法。
  3. 原有的类称为父类,新类称为子类,子类继承了父类的所有属性和方法。

代码示例1:给子类定义属性和方法
注:子类的__init__()方法,在既有类的基础上编写新类通常调用父类的__init__方法。

class Car:   #创建一个汽车类
    def __init__(self,name,model,address):
        self.name=name
        self.model=model
        self.address=address
    def car_message(self):
        message=("\n名称:{}".format(self.name)+"\n型号:{}".format(self.model)
                 +"\n产地:{}".format(self.address))
        #format用法:格式化输出,替换传统的%方法
        return message
    def update_model(self,model):   #定义一个修改model参数的方法
        self.model=model
my_car=Car('toyoto','carola','korea')
my_car.update_model('civic')
print(my_car.car_message())

class ChinaCar(Car):   #创建一个国产汽车,继承父类Car
    def __init__(self,name,model,address):   #初始化父类的属性
        super().__init__(name,model,address)
        #super()是一个特殊的方法,能够调用父类。因为父类也称超类,super由此而来。
        
my_car=ChinaCar("哈弗","h7","中国")
print(my_car.car_message())
========================== RESTART: D:/py基础代码/3.30.py ==========================

名称:toyoto
型号:civic
产地:korea

名称:哈弗
型号:h7
产地:中国

代码示例2:给子类定义新的属性和方法

class Car:   #创建一个汽车类
    def __init__(self,name,model,address):
        self.name=name
        self.model=model
        self.address=address
    def car_message(self):
        message=("\n名称:{}".format(self.name)+"\n型号:{}".format(self.model)
                 +"\n产地:{}".format(self.address))
        #format用法:格式化输出,替换传统的%方法
        return message
    def update_model(self,model):   #定义一个修改model参数的方法
        self.model=model
my_car=Car('toyoto','carola','korea')
my_car.update_model('civic')
print(my_car.car_message())
class ChinaCar(Car):   #创建一个国产汽车,继承父类Car
    def __init__(self,name,model,address):   #初始化父类的属性
        super().__init__(name,model,address)
        #super()是一个特殊的方法,能够调用父类。因为父类也称超类,super由此而来。
        self.type="SUV"   #给新的方法属性赋值
    def insert_type(self): #定义一个新的方法
        return "型号:{}".format(self.type)
my_car=ChinaCar("哈弗","h7","中国")
print(my_car.car_message())
print(my_car.insert_type())
========================== RESTART: D:/py基础代码/3.30.py ==========================

名称:toyoto
型号:civic
产地:korea

名称:哈弗
型号:h7
产地:中国
型号:SUV

四、导入类(import)

1.导入类是一种有效的编程方式,增加代码的可读性,易于维护,提高效率。
代码示例1:简单导入-pi的数值

from math import pi
print(pi)
C:\Users\Lenveno\Envs\csdnlei\Scripts\python.exe C:/Users/Lenveno/PycharmProjects/csdnlei/test.py
3.141592653589793

代码示例2:子类中导入父类

from car import Car    

class ChinaCar(Car):   #创建一个国产汽车,继承父类Car
    def __init__(self,name,model,address):   #初始化父类的属性
        super().__init__(name,model,address)
        #super()是一个特殊的方法,能够调用父类。因为父类也称超类,super由此而来。
        self.type="SUV"   #给新的方法属性赋值
    def insert_type(self): #定义一个新的方法
        return "型号:{}".format(self.type)
my_car=ChinaCar("哈弗","h7","中国")
print(my_car.car_message())
print(my_car.insert_type())
C:\Users\Lenveno\Envs\csdnlei\Scripts\python.exe C:/Users/Lenveno/PycharmProjects/csdnlei/chinacar.py

名称:toyoto
型号:civic
产地:korea

名称:哈弗
型号:h7
产地:中国
型号:SUV

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁梁呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值