【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,接着打出来。

时间: 2024-10-10 03:04:51

【Python】使用类和实例的相关文章

Python - 04182016 - 类与实例间属性的理解

Python是个很灵活的语言,光看它的类和实例间属性的访问机制就可以看出这一点,不过这一点还真的不好理解,做了些测试之后我的理解是这样的: 实例在访问类属性时,先检索自己的names, 如果有的话就直接取出,没有的话就去来的names里面找,找不到就是error啦 class Pclass(object): """docstring for Pclass""" num = 10 def __init__(self): super(Pclass,

python之---类和实例

类和实例: 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: >>> class Student(object): ... pass ... >>> class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(obj

Python基础-类和实例

下文转载自廖雪峰大神的官方教程,非常感谢! 类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object

九、Python 一些类、实例、内建函数笔记

dir(Myclass)   用来展示一些类的内部属性还有方法,今天IBM面试问到了,居然忘记了,your sister. print Myclass.__dict__也可以 del c1清除一个引用 跟踪实例 class InstCt(object): count =0 def __init__(self): InstCt.count +=1 def __del__(self): InstCt.coutn -=1 def howMany(self): return InstCt.count [

python:创建类的实例

class Student(object): def __init__(self,name="",school="",grade=""): if not name: name=raw_input("What is the student's name?") if not school: school=raw_input("What is the student's school?") if not grad

python tips:类与实例的属性问题

实例是具象化的类,它可以作为类访问所有静态绑定到类上的属性,包括类变量与方法,也可以作为实例访问动态绑定到实例上的属性. 实例1: 1 class A: 2 work = list("hello") 3 kind = list("world") 4 another = 1 5 6 def test1(self): 7 print(self.work, self.kind, self.another) 8 self.work[0], self.kind [0] = &

python Class(类) and Object Oriented(面向)

Python类与面向对象    程序=指令+数据 (或算法+数据结构).代码可以选择以指令为核心或以数据为核心进行编写.    两种范型        (1)以指令为核心:围绕"正在发生什么"进行编写(面向过程编程:程序具有一系列线性步骤:主体思想是代码作用于数据)以指令为中心,程序员的主要工作在于设计算法.        (2)以数据为核心:围绕"将影响谁"进行编写(面向对象编程<oop>:围绕数据及为数据严格定义的接口来组织程序,用数据控制对代码的访

Python类中实例属性的通用显示工具

0.说明 以下的思想方法非常有用,可以帮助你在Python开发提高开发和维护效率,所以可能的话,请仔细琢磨一下其中的代码. 之前在用Python编写一个类时,为了显示的友好性,总是需要在每个类中重载__str__或者__repr__方法,现在有了更好的方法,不需要在每个类中都这么做了,下面给出的方法非常实用. 下面使用的例子使用的Python版本都是Python3.5,但实际上在Python2.7中进行也没有任何影响. 1.正常情况下类实例的不友好显示 在Python中编写一个类时,由于没有重载

【类不类二】Python的类变量与实例变量

在研究类的时候,难免会有很多疑问,C论坛和博客园高手如云(不知道是不是也美女如云), 搜到了这篇博文,是介绍Python的类变量和实例变量的 ! 刚好在下对self.***这种形式的实例变 量不是很理解,就拿来与诸君共享! C博客的大伽: http://blog.csdn.net/xxkkff/article/details/4396895 上一篇[类不类2]: http://www.cnblogs.com/Ruby517/p/5709558.html 一般的类定义是写成这种形式 class <

Python 面向对象编程——类和实例

1        面向对象编程 面向对象编程: 面向对象编程--Object OrientedProgramming OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消