• Python中的类


    与Java一样,Python中也存在类的概念,使用几乎可以模拟任何东西。

    一、创建和使用类

    我们创建一个简单的学生类----它不表示特定的学生,它可以表示任何学生。对于学生,我们知道学生

    拥有一个学号,这是没有重复的,学生有名字、年龄;我们还知道学生可以有学习、运动这些行为。

    根据以上描述,我们创建学生类。

    student.py

     1 class Student():
     2     """模拟学生"""
     3     def __init__(self,name,age):
     4         """初始化name 和 age 属性"""
     5         self.name = name
     6         self.age = age
     7     
     8     def study(self):
     9         """模拟学生学习"""
    10         print(self.name.title() + " is studying.")
    11         
    12     def sport(self):
    13         """模拟学生运动"""
    14         print(self.name.title() + " is sports.")

    解释:

      方法 __init__():类中的函数称为方法,方法等价于函数,叫法不同而已,此方法是一个特殊的方法,每当你根据Student类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,意在避免Python默认方法与普通方法发生名称冲突。

      我们将方法__init__()定义包含三个形参:self、name、age。在这个方法的定义中形参self 必不可少,为何?因为Python在调用者方法创建实例时,将自动传入实参 self。每个与类相关联的方法都自动传递实参self,它是指向实例本身的引用,让实例能够访问类中的属性和方法。我们创建Student实例时,Python将调用此方法,我们将通过实参向Student() 传递名字和年龄;self会自动传递,因此我们不需要传递它。每当我们根据Student类创建实例时,都只需要给最后两个形参(name和age)提供值。

      第5、6行代码,定义的两个变量都有前缀self 。以self 为前缀的变量都可供类中所有的方法使用,我们还可以通过类的任何实例来访问这些变量。self.name = name 获取存储在形参name 中的值,并将其存储到变量name 中,然后该变量被关联到当前创建的实例。self.age = age 与此类似。

      Student类中还定义了其他两个方法:study和sport。由于这些方法不需要额外的信息,因此它们只有一个形参self。

    二、根据类创建实例

      

     1 class Student():
     2     """模拟学生"""
     3     def __init__(self,name,age):
     4         """初始化name 和 age 属性"""
     5         self.name = name
     6         self.age = age
     7     
     8     def study(self):
     9         """模拟学生学习"""
    10         print(self.name.title() + " is studying.")
    11         
    12     def sport(self):
    13         """模拟学生运动"""
    14         print(self.name.title() + " is sports.")
    15   
    16 stu = Student('joker',18)
    17 print("stu's name is " + stu.name)
    18 print("stu's age is " + str(stu.age))
    19 stu.study()
    20 stu.sport()

    console:

    解释:

      第16 行即创建Student实例,将姓名和年龄传入,并用变量stu接收这个实例,然后可用stu访问实例中的属性,如17、18行,然后我们也可以调用方法,如19、20行。

    可以创建多个实例,用不同的变量名接收即可,如:

    stu1 = Student('jack','19')
    stu2 = Student('nacy',18)

    访问其属性和调用方法与stu 类似。

      放弃这俩字,说起来简单,做起来就更简单了

      

  • 相关阅读:
    Python-OpenCV学习(三):图像的表示
    Python-OpenCV学习(一):OpenCV结构
    Numpy安装+导入出错的解决方法
    可信链测评
    《机器学习》第二周 多元线性回归
    《机器学习》第一周 一元回归法 | 模型和代价函数,梯度下降
    Ubutu16.04安装Transmisson
    Ubuntu “载入软件包列表失败” |“ 下载软件仓库信息失败”的解决方法
    《机器学习》第一周 Introduction | 监督学习与非监督学习的基本概念
    有道词典在Ubutu16.04上的安装
  • 原文地址:https://www.cnblogs.com/tizer/p/11006090.html
Copyright © 2020-2023  润新知