python_类
创建类
一
class Dog():
    def __init__(self,name,age):
        '''初始化了属性name和age'''
        self.name=name
        self.age=age
    def sit(self):
        '''赋予小狗蹲下的方法'''
        print(self.name+"is now sitting.")
    def roll_over(self):
        '''小狗打滚的方法'''
        print(self.name+"rolled over!")
dog=Dog('qqqqq',5)
print('我的小狗叫'+dog.name)
dog.sit()
dog.roll_over()
# 在类定义的函数,叫做方法,它和函数的区别就是调用方法
# __init__是特殊方法,实例化的时候python自动运行__init__
# self是指向实例化本身的一个引用,可以理解为self就是实例化本身,让实例化能够访问类里面的属性和方法
# 用.来获取属性的值,叫做句点表示法
# 创建完实例化后,可以调用Dog类中的方法sit和roll_over
二
# <editor-fold desc="类--讲解--练习">
"""
class Resta():
    def __init__(self,resta_name,resta_type):
        self.r_name=resta_name
        self.r_type=resta_type
        self.r_preson_num=0
    def desc_resta(self):
        print("餐厅的名字是%s,类型是%s"%(self.r_name,self.r_type))
    def open_resta(self):
        print("餐厅正在营业")
    def set_person_num(self,nums): #设置人数的方法
        self.r_preson_num=nums
    def increment_person_num(self,nums):
        self.r_preson_num+=nums
        return self.r_preson_num
resta_one=Resta("大餐厅","中式")
# resta_one.desc_resta()
restaurant=Resta("大潘餐厅","湖南菜")
# print(restaurant.r_preson_num)
# restaurant.r_preson_num=10
# print(restaurant.r_preson_num)
restaurant.set_person_num(100)
print(resta_one.r_preson_num)   #resta_one实例并没有调用set_person_num方法,所以还是0
print(restaurant.r_preson_num)  #restaurant调用set_person_num方法,修改为100,所以打印出10
# restaurant.increment_person_num(500)
print(restaurant.increment_person_num(500))
"""
# </editor-fold>
三
class Car():
    def __init__(self,make,model,year):
         self.make=make
         self.model=model
         self.year =year
         self.meter=0
    def get_car_desc(self):
        self.long_name=str(self.year)+' '+self.model+' '+self.make
        return self.long_name
    def read_meter(self): #读取公里数的方法
        print("This car have "+str(self.meter)+" mi")
    def update_meter(self,mileage): #定义了一个修改公里数的方法,以后要修改公里数的时候,就不需要通过实例化修改属性的值了
        self.meter=mileage
    def increment_meter(self,miles): #新增加的公里数,做加法运算
        self.meter+=miles
my_car=Car('china','Audi',2010)
# print(my_car.model)
# print(my_car.get_car_desc().title())
my_car.read_meter()
# my_car.meter=50   #通过实例化对属性的值做改变
# my_car.read_meter()
my_car.update_meter(100)
my_car.read_meter()
my_car.increment_meter(200)
my_car.read_meter()
 
    本人小白,学习当中,希望大家多指点。
                    
                
                
            
        
浙公网安备 33010602011771号