Python之面向对象初体验

Python是一门面向对象的语言,这篇文章就来介绍几点Python中面向对象的知识点

1、类的声明:

class Person:#类名用大写开头
    #属性
    name="cherish"
    age=18
    #方法
    def coding(self):
        print("I love hebe")

2、类的成员:

类的成员有属性和方法,如上例中的name和age是属性,coding是方法。用实例化的对象+“.”访问其成员。如p.name、p.coding()


3、self关键字:

self关键字是类的方法中必须带的参数,相当于C#/C++的this指针,如果没有self,在调用其方法就会报错(不信你试试)


4、类的实例化:

与C#不同,python中类的实例化不需要new关键字

p=Person()
5、构造函数:

如果代码不重写构造函数,那默认带的参数就是self

__init__(self)
用带参数的构造函数重写上面的例子

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def coding(self):
        print("I love hebe")
此时实例化对象就需要提供参数,否则不能成功实例化



6、“私有化”成员:

在C#/C++中,会用public或private声明类的成员,用以说明成员是公有或私有的。在python中没有这样的关键字,但是提供了一种"私有化"机制:

在变量名前面加上两个下划线:"__",那么这个成员就是私有的

class Person:
    name="cherish"
    __age=18
此时name是可访问的,__age是私有成员不可访问

然而,python的“私有”只是一种表面现象,虽然p.__age不可访问,但是可以通过“实例化名称_类名__原变量名”(p._Person__age)的方式访问



7、继承:

class Chinese(Person):
	pass
此处Person是其父类,pass关键字代表不做任何操作

如果子类定义了与父类同名的属性或方法,就会覆盖其父类对应的成员

class Chinese(Person):
    def coding(self):
        print("I love 田馥甄")


如果子类的构造函数是其父类构造函数的基础上做更多的操作,则需要调用其父类的构造函数:父类名.__init__(self)

或者使用super函数:super().__init__()


Python支持多重继承。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值