18、类

一、类

class Dog:  # 定义了一个类,叫做狗
    def __init__(self, name, age):  # 造对象,需求是年龄和名字
        self.name = name
        self.age = age

    def sit(self):  # 对象:狗坐下的方法函数
        print(f'{self.name} is now sitting')

    def roll_over(self):  # 对象狗打滚的方法函数
        print(f'{self.name} rolled over!')


my_dog = Dog('willie', 6)  # 造一个狗,给对象传参数,名字和年龄
print(f"my dog's name is {my_dog.name}.")  # 打印,我的狗的名字是。。。
print(f"my dog is {my_dog.age} years old.")  # 打印,我的狗的年龄是。。。即刚刚传入的参数

类的访问属性

res = my_dog.name
print(res)

类的调用方法

my_dog.sit()
my_dog.roll_over()

修改属性的值

1、直接修改

​ 这种修改方法LOW而且不安全,可以在类中开一个函数的小功能,来修改

2、新增函数功能修改

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 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):
        # self.odometer_reading = mileage
        if mileage >= self.odometer_reading:  # 可以增加禁止回调的小功能
            self.odometer_reading = mileage
        else:
            print('you can not roll back an odometer')


my_new_car = Car('audi', 'a4', 2019)

print(my_new_car.get_descriptive_name())

# 修改属性的值
my_new_car.update_odometer(23)  # 在类中,为对象定义一个更改的功能方法,来修改公里数
my_new_car.update_odometer(21)
my_new_car.read_odometer()
原文地址:https://www.cnblogs.com/zhaokunhao/p/14259460.html