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()





 

 

posted on 2019-04-13 23:44  大潘NO_1  阅读(156)  评论(0编辑  收藏  举报