首页 > 其他 > 详细

9.1创建和使用类

时间:2021-01-19 23:42:41      阅读:29      评论:0      收藏:0      [点我收藏+]
  • 类将函数和数据整洁地封装起来,让你能够灵活而高效地使用它们。
  • 面向对象编程是最有效的软件编写方法之一。编写表示现实世界中的事物和情景的类,并基于这些类来创建对象,编写类时,定义一大类对象都有的通用行为,基于类创建的对象都自动具备这种通用行为,又可以根据需要赋予每个对象独特的个性,使用面向对象编程可模拟现实情景。
  • 根据类来创建对象称为实例化,这让你能够使用类的实例。
  • 使用类几乎可以模拟任何东西。

下面编写一个表示小狗的简单类Dog--它表示的不是特定的小狗,而是任何小狗。

对于大多数宠物狗,它们都有名字和年龄,大多数小狗还会蹲下和打滚,现在创建一个Dog类包含它们。这个类让python知道如何创建表示小狗的对象。编写这个类后,我们将使用它来创建表示特定小狗的实例。

 9.1.1创建Dog类

"""根据Dog类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下(sit())和打滚(roll_over())的能力"""

"""根据约定,在python中首字母大写的名称指的是类。"""

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):
        """初始化属性name和age"""
        self.name=name
        self.age=age


    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title()+"is  now sitting")


    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title()+"roll over!")
        
"""
说明:
1.__innt__()为默认方法,每当根据Dog类创建新实例时,python都会自动运行它。

2.__innt__()中self形参必不可少,且必须位于其它形参前面。
  因为在调用这个方法创建实例时,将自动传入实参self,每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性一和方法。
  创建Dog类实例时,我们将通过实参向Dog类传递名字和年龄,self会自动传递,因此我们只需给量后峡谷人形参(name和age)提供值。

3.以self为前辍的变量都可供类中的所有方法使用,民可以通过类的任何实例来访问这些变量。如self.name=name获取形参name中的值,
  并将其存储到变量name中。像这样可以通过实例来访问的变量称为属性。
"""

 9.1.2 根据类创建实例

可将类视为有关如何创建实例的说明。Dog类是一系列说明,让python知道中何创建表示特定小狗的实例。

下面来创建一个表示特定小狗的实例:

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):
        """初始化属性name和age"""
        self.name=name
        self.age=age


    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title()+"is  now sitting")


    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title()+"roll over!")
        

#下面来创建一个表示特定小狗的实例

my_dog=Dog("willie",6)


print("my dog‘s name is "+my_dog.name.title()+".")
print("my dog is "+str(my_dog.age)+"years old.")

运行结果:

>>>
================== RESTART: D:/python学习/第9章 类/9.1/Dog实例.py ==================
my dog‘s name is Willie.
my dog is 6years old.
>>>

 1.访问属性

要访问实例的属性,可使用句点表示法。如:my_dog.name 访问my_dog的属性name的值。

2.调用方法

根据Dog类创建实例后,就可以使用句点表示法来调用Dog类中定义的任何方法。下面来让小狗蹲下和打滚。

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):
        """初始化属性name和age"""
        self.name=name
        self.age=age


    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title()+"is  now sitting")


    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title()+"roll over!")
        

"""根据Dog类创建实例后,就可以使用句点表示法来调用Dog类中定义的任何方法
   下面来创建一个实例让小狗蹲下和打滚
"""

my_dog=Dog("willie",6)
my_dog.sit()
my_dog.roll_over()


运行结果及说明:

          要调用方法,可指定实例的名称(这里是my_dog)和要调用的方法,并用句点分隔。

         执行my_dog.sit()时,python在类Dog中查找方法sit()并运行其代码。

   Willie按我们的命令做了:
>>> 
================== RESTART: D:/python学习/第9章 类/9.1/Dog实例2.py ==================
Willieis  now sitting
Willieroll over!
>>> 

3. 创建多个实例

可按需求根据类创建任意数量的实例。下面再创建一个名为your_dog的实例:

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):
        """初始化属性name和age"""
        self.name=name
        self.age=age


    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title()+"is  now sitting")


    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title()+"roll over!")
        

"""根据Dog类创建实例后,就可以使用句点表示法来调用Dog类中定义的任何方法
   下面来创建两个实例my_dog蹲下和your_dog打滚
"""

my_dog=Dog("willie",6)
your_dog=Dog("luky",3)


print("my dog‘s name is "+my_dog.name.title()+".")
print("my dog is "+str(my_dog.age)+"years old.")

my_dog.sit()
print("\n\n")


print("your dog‘s name is "+your_dog.name.title()+".")
print("your dog is "+str(your_dog.age)+"years old.")
your_dog.roll_over()


运行结果:
>>>
================== RESTART: D:/python学习/第9章 类/9.1/Dog实例3.py ==================
my dog‘s name is Willie.
my dog is 6years old.
Willieis  now sitting



your dog‘s name is Luky.
your dog is 3years old.
Lukyroll over!
>>>

 

9.1创建和使用类

原文:https://www.cnblogs.com/ylzchs/p/14295765.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!