zoukankan      html  css  js  c++  java
  • 【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,接着打出来。
  • 相关阅读:
    SQL SERVER 2005添加用户和编辑sa
    数组型参数和数组的区别
    Oracle数据库建库、建表空间,建用户
    oracle表空间操作详解
    Oracle10g的完全卸载(转载)
    Delphi format的用法
    AnImateWindow用法
    文本文件操作
    TStringList的用法
    Delphi网络函数
  • 原文地址:https://www.cnblogs.com/OliverQin/p/7868708.html
Copyright © 2011-2022 走看看