Python使用类和实例

Posted 奔跑的金鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用类和实例相关的知识,希望对你有一定的参考价值。

Car类

class Car():
    ‘‘‘模拟汽车‘‘‘
    def __init__(self,name,model,year):
        ‘‘‘初始化汽车的属性‘‘‘
        self.name = name
        self.model = model
        self.year = year
    def get_describe_car(self):
        ‘‘‘返回描述性信息‘‘‘
        long_name = str(self.year)+ +self.name +  +self.model
        return(long_name)

#创建实例
My_new_car = Car(Audi,A4,2016)
print(My_new_car.get_describe_car())

上图是新建的一个Car类,并且我们创建了实例,并将其存储到My_new_car中

给属性指定默认值

如果在方法__init__()中指定了默认值,那么就无需包含为它提供初始值的形参

class Car():
    ‘‘‘模拟汽车‘‘‘
    def __init__(self,name,model,year):
            ‘‘‘初始化汽车的属性‘‘‘
            self.name = name
            self.model = model
            self.year = year
            self.miters = 0
    def get_describe_car(self):
            ‘‘‘返回描述性信息‘‘‘
            long_name = str(self.year)+ +self.name +  +self.model
            return(long_name)

    def print_miters(self):
            print("This car has " + str(self.miters) +" miles on it")
#创建实例
My_new_car = Car(Audi,A4,2016)
print(My_new_car.get_describe_car())
My_new_car.print_miters()

上述代码中定义了一个初始值,在形参中我们就没有为其传入值,但是在方法print_miters中我们又使用了该属性

修改属性的值

三种方法修改属性的值:

①直接通过实例进行修改

②通过方法进行设定

③通过方法进行递增(增加特定的值)

1.通过实例进行修改

class Car():
    ‘‘‘模拟汽车‘‘‘
    def __init__(self,name,model,year):
            ‘‘‘初始化汽车的属性‘‘‘
            self.name = name
            self.model = model
            self.year = year
            self.miters = 0
    def get_describe_car(self):
            ‘‘‘返回描述性信息‘‘‘
            long_name = str(self.year)+ +self.name +  +self.model
            return(long_name)

    def print_miters(self):
            print("This car has " + str(self.miters) +" miles on it")
#创建实例
My_new_car = Car(Audi,A4,2016)
print(My_new_car.get_describe_car())
My_new_car.miters = 100
My_new_car.print_miters()

2.通过方法进行设定

无需直接访问属性,可将值传递给一个方法,由他在内部进行更新

class Car():
    ‘‘‘模拟汽车‘‘‘
    def __init__(self,name,model,year):
            ‘‘‘初始化汽车的属性‘‘‘
            self.name = name
            self.model = model
            self.year = year
            self.miters = 0
    def get_describe_car(self):
            ‘‘‘返回描述性信息‘‘‘
            long_name = str(self.year)+ +self.name +  +self.model
            return(long_name)
    def update_miters(self,miters):
        self.miters = miters

    def print_miters(self):
            print("This car has " + str(self.miters) +" miles on it")
#创建实例
My_new_car = Car(Audi,A4,2016)
print(My_new_car.get_describe_car())
My_new_car.update_miters(200)
My_new_car.print_miters()

3.通过方法对属性值进行递增特定的量,而不是将其设置为全新的值

class Car():
    ‘‘‘模拟汽车‘‘‘

    def __init__(self, name, model, year):
        ‘‘‘初始化汽车的属性‘‘‘
        self.name = name
        self.model = model
        self.year = year
        self.miters = 0

    def get_describe_car(self):
        ‘‘‘返回描述性信息‘‘‘
        long_name = str(self.year) +   + self.name +   + self.model
        return (long_name)

    def update_miters(self,miters):
        self.miters = miters

    def increment_miters(self,add_miters):
        ‘‘‘将里程设置为指定的数‘‘‘
        self.miters += add_miters

    def print_miters(self):
        print("This car has " + str(self.miters) + " miles on it")


# 创建实例
My_user_car = Car(Audi, A4, 2016)
print(My_user_car.get_describe_car())

My_user_car.update_miters(200)
My_user_car.print_miters()

My_user_car.increment_miters(100)
My_user_car.print_miters()
新增的方法increment_miters()接受一个数字后,并将其加入到update_miters()已经修改过的里程数,我们调用方法update_miters()传入200,然后调用increment_miters()又在200基础上新增100,接着打出来。

以上是关于Python使用类和实例的主要内容,如果未能解决你的问题,请参考以下文章

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

Python使用类和实例

片段内部静态类和gradle问题

python基础-第七篇-7.1初识类和对象

Python_类和实例属性的增删改查操作

Python基础-类和实例