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,接着打出来。
  • 相关阅读:
    关于搭建系统直播和Thinkphp的杂谈(持续更新)
    linux下phpstudy的搭建以及网站的搭建
    java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
    IntelliJ IDEA 破解
    遍历表格
    Ajax简单示例
    [转shasiqq]@Param 注解在Mybatis中的使用 以及传递参数的三种方式
    一些python学习的链接
    python Scrapy安装错误解决
    SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
  • 原文地址:https://www.cnblogs.com/OliverQin/p/7868708.html
Copyright © 2011-2022 走看看