zoukankan      html  css  js  c++  java
  • Python学习——初识类与对象

      大家好,今天跟大家简答介绍一下类的基础知识,主要有:

      Python中类和对象的概念

      Python中的函数和普通函数的对比

      python类语法的初识

      一、Python中类和对象的概念

      我们把一类相同的事物叫做类,其中用相同的属性(其实就是变量)描述,里面封装了相同的方法。比如,汽车是一个类,它包括价格、品牌等属性。倘若要实现打印100种车的属性的功能,那么可以用函数实现,也可以用类来实现。

      #####函数实现

      def CarInfo(type,price):

      print ("the car's type %s,price:%d"%(type,price))

      CarInfo('passat',250000)

      CarInfo('ford',280000)

      ######类实现

      class Car:

      def __init__(self,type,price):

      self.type = type

      self.price = price

      def printCarInfo(self):

      print ("the car's Info in class:type %s,price:%d"%(self.type,self.price))

      passat = Car('passat',250000)

      ford = Car('ford',250000)

      passat.printCarInfo()

      ford.printCarInfo()

      这说明了什么呢?其实类能实现的功能,函数几乎都可以实现,我们都知道C语言中也是没有对象的,但是它还是很腻害的写出了linux操作系统!!!知道了这一点,我们就知道,类是让我们的程序锦上添花的产物,并没那么可怕。

      现在来先认识一下类:

      上述例子中,“Car”就是“类”,表示“车”这一类事物,它有很多属性,比如型号、价格等等。而passat和ford都是车的一种,它是具体的,有固定的品牌和价格,然而等号左边的passat是car的一个对象,ford是car的另一个对象。

      二、Python中的函数和普通函数的对比

      类中的函数称之为方法。郑州治疗妇科的医院 http://www.120kdfk.com/

      从上述例子中,类能实现的功能我们用函数也完全可以实现,但是我们可以看到他们的实现方式是不同的,现在我们就逐一对比一下。先上图!

      两者的差别在哪呢?

      1.我们看到两个方法的缩进不同,printCarInfo这个方法是被包裹在car这个类里面的

      2.两个函数的参数是不同的,CarInfo方法很直接的传了cartype和price这两个参数,而在printCarInfo方法中只传递了一个self。这也直接导致了后面在函数中使用变量的时候也是不同的。

      三、python类语法的初识

      使用类中的方法

      CarInfo中的方法我们都知道是什么了,那么printCarInfo里面传递的这个‘self’是个什么呢?

      在这个方法的定义中,形参self必不可少,还必须位于其他形参的前面。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。当我们使用passat这个对象去调用printCarInfo这个方法的时候,其实是做了这样一部操作printCarInfo(passat),把passat这个对象传给了printCarInfo方法,passat这个对象又包含了两个属性cartype、price,我们在python规定这样使用一个对象中的变量:passat.cartype、passat.price。我们调用函数时传的passat对象的参数passat.cartype、passat.price被类中printCarInfo函数以self的身份接收,所以我们在使用参数的时候自然就变成了self.cartype、self.price。

      类的初始化

      passat = Car('passat',250000)

      ford = Car('ford',250000)

      其实这两句话每句话都完成了两个功能:第一,从car类中实例化出了一个对象——passat/ford;第二:给新对象的属性赋了值。其实passat = Car(‘passat’,25000)还可以写成这样:

      类中方法的定义和使用

      从图中很明显就可以看出,CarInfo中的参数在printCarInfo方法中的换成了self,在方法的调用中,就是用self.属性名来调用了。

      再来看方法的调用,普通函数的调用直接调用就可以了,而类中的函数调用之前应该先进行类的实例化——创建一个对象,然后给这个对象的属性赋值,然后才可以调用类中的方法,调用方式是 对象名.方法名()。

  • 相关阅读:
    个人日志-6.27
    <软件工程>课程总结
    团队项目--地铁信息查询-UML图初步设计
    7-4 日报
    7-5小组日报 最终版的发布
    7-1 7-3
    软工日报6-30
    软工日报 6-29
    6-28小组会议记录
    6-27小组讨论内容
  • 原文地址:https://www.cnblogs.com/djw12333/p/12409531.html
Copyright © 2011-2022 走看看