python 对象和类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对象和类相关的知识,希望对你有一定的参考价值。

对象:

在python中所有数据都是以对象的形式存在,即‘一切事物皆对象’,对象既包含了数据,也包含了代码。

类:

在Python中有很多用来创建其他标准数据类型的类,例如列表、字典等。如果想在Python中创建属于自己的对象。必须用关键字class来定义一个类。例如

class person():
    def __init__(self,name):
    self.name = name
    print(‘%s ‘ % self.name)
n1 = person(‘sunlieqi‘)

上面的代码做了以下的工作:

  • 查看 person类的定义
  • 在内存中创建了一个新的对象;
  • 调用兑现的__init__方法,将这个新创建的对象作为self传入,并将另一个参数(‘sunlieqi’)当作name传入
  • 返回这个新的对象
  • 刚传入的对象写在了内存中,可以直接进行读写打印

类有三个特性

(1)封装

 

class Foo:
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
obj1 = Foo(‘sunlieqi‘, 18)
print obj1.name  
print obj1.age     
 
obj2 = Foo(‘slq‘, 73)
print obj2.name   
print obj2.age 

  

 self 是一个形式参数,当执行 obj1 = Foo(‘sunlieqi‘, 18 ) 时,self 等于 obj1

                              当执行 obj2 = Foo(‘slq‘, 78 ) 时,self 等于 obj2

对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容。

(2)继承

从已经有存在的类中衍生出新的类,添加或者修改部分功能

class cat:
    def 吃():
        pass    
    def 喝():
        pass
    def 拉():
        pass
    def 撒():
        pass
    def 叫():
        print(‘miao’)


class dog:
    def 吃():
        pass
    def 喝():
        pass
    def 拉():
        pass
    def 撒():
        pass
    def 叫():
        print(‘wang‘)

 在上面知道 猫狗除了叫不一样 都执行的一样的方法 即 吃喝拉撒

我们可以用一个大的类来包括这些

class  animal:
  def 吃():
        pass
    def 喝():
        pass
    def 拉():
        pass
    def 撒():
        pass
class cat(animal):
  def 叫():
    print(’miao‘)
class dog(animal):
  def 叫():
    print(’wang‘)

  所以,对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类而不必一一实现每个方法。

(3)多态

Python 用不着多态。略

 

以上是关于python 对象和类的主要内容,如果未能解决你的问题,请参考以下文章

python 对象和类

python:面向对象和类

Python对象和类

python学习笔记--面向对象的编程和类

python 对象和类

markdown 10. Python - 对象和类