顾名思义,类就是某一类事物。
男生和女生是很大的类;东海县男生、东海县女生也是两个类。
* 本文例子是简单的一种类 --- 宠物狗类。文章共分4篇。
1 如何创建一个类 --- 宠物狗类(注意代码注释部分)
class Dog(): #创建一个类叫 Dog,约定类名的首字母大写。
#后面的括号是空的说明我们从空白创建这个类
"""模拟小狗的简单尝试""" #中的函数叫【方法】
def __init__(self, name, age): #__init__是个特殊的方法,调用类时自动运行
"""初始化属性name和age""" #(init前后各2个下划线!)
self.name = name #形参self不可少,必须位于最前面
self.age = age #调用时self自动传递实参(self不需要再提供实参)
#以self为前缀的变量可供类中的所有方法使用
def sit(self):
"""模拟小狗蹲下"""
print(self.name.title() + " is now sitting.")
def roll_over(self):
"""模拟小狗打滚"""
print(self.name.title() + " rolled over!")
! 以上是创建好的类(注意这是类,可以代表任何小狗)
2 下面我们根据创建好的类创建【实例】
(以上代码和下面的代码是连在一起)
#给类Dog传入两个【属性】name和age
my_dog = Dog('willie', 6) #一般认为大写开头是类,小写的是实例
#利用处理的结果并输出
print("My dog's name is " + my_dog.name.title() + ".")
#通过my_dog.name访问类的属性
print("My dog is " + str(my_dog.age) + " years old.")
#下面让小狗打滚 --- 调用类中的【方法】
my_dog.roll_over() #这种【 名称.方法 】的方式也叫作句点表示法
#当然可以根据类创建很多实例 --- 小狗Lucy
your_dog = Dog('lucy', 3)
print("\nYour dog's name is " + your_dog.name.title() + ".")
print("Your dog is " + str(your_dog.age) + " years old.")
your_dog.sit()
Result
My dog's name is Willie.
My dog is 6 years old.
Willie rolled over!Your dog's name is Lucy.
Your dog is 3 years old.
Lucy is now sitting.
3 动手试一试部分 --- 创建一个餐馆类,要有餐馆名和菜的类型
class Restaurant():
"""餐馆的简介"""
def __init__(self, restaurant_name, cuisine_type):
"""初始化餐馆的属性name和type"""
self.name = restaurant_name
self.type = cuisine_type
def describe_restaurant(self):
"""描述餐馆的信息"""
print(self.name.title() + " is the type of " + self.type +'.')
def open_restaurant(self):
"""餐馆营业时间"""
print(self.name.title() + " is open from 8 am to 10 PM." )
#下面开始创建实例
restaurant = Restaurant("zuo you", "huaiyang cuisine")
print( "My favourite restaurant is " + restaurant.name.title() + '.')
print(restaurant.name.title() + " is main of " + restaurant.type + '.')
Result
My favourite restaurant is Zuo You.
Zuo You is main of huaiyang cuisine.