2021-10-16

python创建类和使用

#创建类 class起头

'''class Dog():#必须时class启头,且dog首字母大写
    def __init__(self,name,age):#初始化属性name,age
    #类里面的函数为方法,开头末尾两个下划线.self必不可少且为实参,是一个指向实例的引用,name,age为属性可以通过实例访问
        self.age = age #获取与形参age相关联的值
        self.name = name#获取与形参name相关联的值
    def sit(self):#self必不可少
        print(f"{self.name} is now sitting.")
    def roll_over(self):
        print(f"{self.name} rolled over!")

my_dog = Dog('a',6)
print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")

在这里插入图片描述

b=my_dog.name#访问属性
print(b)

#使用方法
my_dog.sit()#查看方法输出结果,即上面方法里两个print的结果
my_dog.roll_over()’’’

#创建多个实例

'''class Dog():
    def __init__(self,name,age):
        self.age = age 
        self.name = name
    def sit(self):
        print(f"{self.name} is now sitting.")
    def roll_over(self):
        print(f"{self.name} rolled over!")

my_dog = Dog('a',6)
your_dog=Dog('b',3)
print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")
my_dog.sit()

print(f"\nYour dog's name is {your_dog.name}.")
print(f"Your dog's name is {your_dog.age} years old.")
your_dog.sit()'''

在这里插入图片描述

#使用类实例
'''class Car:
    def __init__(self,make,model,year):
       self.make=make#初始化属性
       self.model=model
       self.year=year
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
my_new_car=Car('audi','a4',2019)
print(my_new_car.get_descriptive_name())'''

#给属性指定默认值 一开始汽车的里程为0,添加一个名odometer_reading的属性,
#其初始值总是为0。添加了一个名为read_odometer()的方法,用于读取汽车的里程表

'''class Car:
    def __init__(self,make,model,year):
       self.make=make#初始化属性
       self.model=model
       self.year=year
       self.odometer_reading=0#初始里程为0
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
    def read_odometer(self):
        print(f"this car has {self.odometer_reading} miles on it")
my_new_car=Car('audi','a4',2019)
print(my_new_car.get_descriptive_name())
#my_new_car.odometer_reading=23 直接修改属性的值
my_new_car.read_odometer()'''

在这里插入图片描述

#通过方法修改属性的值

'''class Car:
    def __init__(self,make,model,year):
       self.make=make#初始化属性
       self.model=model
       self.year=year
       self.odometer_reading=0#初始里程为0
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
    def read_odometer(self):
        print(f"this car has {self.odometer_reading} miles on it")
    def update_odometer(self,mileage):#新定义方法,mileage为形参,self不可少
        self.odometer_reading=mileage

my_new_car=Car('audi','a4',2019)
print(my_new_car.get_descriptive_name())
my_new_car.update_odometer(23)
my_new_car.read_odometer()'''

在这里插入图片描述

#通过方法对属性值进行递增

'''class Car:
    def __init__(self,make,model,year):
       self.make=make#初始化属性
       self.model=model
       self.year=year
       self.odometer_reading=0#初始里程为0
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
    def read_odometer(self):
        print(f"this car has {self.odometer_reading} miles on it")
    def update_odometer(self,mileage):#新定义方法,mileage为形参,self不可少
        self.odometer_reading=mileage
    def increment_odometer(self,miles):
        self.odometer_reading+=miles
my_new_car=Car('subaru','outback',2019)
print(my_new_car.get_descriptive_name())

my_new_car.update_odometer(23500)
my_new_car.read_odometer()

my_new_car.increment_odometer(100)
my_new_car.read_odometer()'''

在这里插入图片描述

#继承 子类的方法init()
'''class Car:
    def __init__(self,make,model,year):
       self.make=make#初始化属性
       self.model=model
       self.year=year
       self.odometer_reading=0#初始里程为0
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
    def read_odometer(self):
        print(f"this car has {self.odometer_reading} miles on it")
    def update_odometer(self,mileage):#新定义方法,mileage为形参,self不可少
        self.odometer_reading=mileage
    def increment_odometer(self,miles):
        self.odometer_reading+=miles

class ElectricCar(Car):#子类electriccar,父类car,注意car的代码前面必须写出
    #继承后属性初始化可以省略,使用super()
    def __init__(self,make,model,year):
         #初始化父类属性
        super().__init__(make,model,year)
my_tesla=ElectricCar('tesla','s','2019')
print(my_tesla.get_descriptive_name())'''#直接调用父类的方法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值