W3Schools-Python基础6

  1. Python中的类和对象

    Python是一种面向对象的语言,Python中的任何东西都是一个对象,拥有它自己的属性和方法。例如Python中的列表,列表拥有自己的属性,如列表是有序的、可重复的、可更改的,列表有自己的方法,如append()方法可以向列表中添加元素。

    在Python中,可以自定义类,并赋予其基本属性和方法,然后直接创建属于这一类的对象。

    用关键词class来创建类,并通过类名来创建属于这一类的对象。

    #创建类
    class MyClass:
       x=5
    #创建属于MyClass的对象p1,由于p1属于MyClass,p1拥有MyClass的所有属性和方法
    p1=MyClass()
    print(p1.x)#结果为5

    上述的例子为最简单的类,即类的属性只有x=5,在真实应用中,所有的类都有内置函数__init__(),利用该函数设置类中对象的属性,另外可在类中建立函数描述对象的方法

    class Person:
       def __init__(self,name,age):#self代表属于该类的对象,可替换为其他任意字符,如i、x、mn等
           self.name=name#指定类中对象self的name属性为传入的参数name
           self.age=age#指定类对象self的age属性为传入的参数age
       def myfunc(self):#定义类中的方法,self代表类中的对象
           print("Hello, my name is " + self.name)#该方法为打印一句话

    p1=Person("John",36)#创建属于Person类的一个对象p1,并传入参数John和36,在类内部,John被赋值给p1.name,而36被赋值给p1.age,同时类内的方法myfunc可打印一句话

    print(p1.name)#结果为John
    print(p1.age)#结果为36
    p1.myfunc()#结果为Hello, my name is John

    p1.age=40#改变对象的参数
    print(p1.age)#结果为40

    del p1.age#删除对象p1的age参数
    print(p1.age)#会报错,因为p1的参数不全

    del p1#删除对象
  2. Python中的类的继承(Inheritance)

    python中能够从一个类中继承所有的属性和方法,建立新的类,其中被继承的类称为父类(Parent class),而新的类称为子类(Child class),子类中可以增加新的属性和方法

    #创建父类
    class Person:
       def __init__(self,name,age):
           self.name=name
           self.age=age

       def introduce(self):
           print("My name is " + self.name + " and i am " + str(self.age) + " years old.")

    x=Person("John",36)
    x.introduce()#结果为My name is John and i am 36 years old.

    #创建子类Teacher,不添加新的属性和方法
    class Teacher(Person):
       pass

    #创建子类Person1,添加新的属性和方法
    class Person1(Person):
       def __init__(self,name,age,job):#在子类中定义__init__函数时会覆盖父类的__init__,如果想从中继承父类的属性,则需用super()
           super().__init__(name,age)#从父类中继承所有参数
           self.job=job#在子类中创建新参数

       def introduce(self):#直接在子类中创建同名方法,会覆盖父类中的同名方法
           print("My name is " + self.name + ". I am " + str(self.age) + " years old. I am a " + self.job + ".")

    x=Person1("Mike",26,"doctor")
    x.introduce()#结果为My name is Mike. I am 26 years old. I am a doctor.


原文始发于微信公众号(BioInfo):W3Schools-Python基础6

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238176.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!