13 初识类——创建类与用类创建实例

顾名思义,类就是某一类事物。

男生和女生是很大的类;东海县男生、东海县女生也是两个类。

* 本文例子是简单的一种类 --- 宠物狗类。文章共分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.

【特别注意】

创建实例的时候的缩进 ——容易出现与类中的方法对齐的错误。
9f59442254d70dd7833a8c6e30fad139.jpg

你可能感兴趣的:(13 初识类——创建类与用类创建实例)