python面向对象思想之封装

    python中的面向对象如果有C#/C++基础的话理解起来不难,但是如果只会python中的面向对象,那还是远远不够的。所以博主推荐,一定要掌握一门静态的面向对象的语言,这样的话,才能走得更远。

    面向对象永远绕不开的三大特性 封装 继承 多态。为什么要进行封装,在面向过程的语言中,全局变量会有很多,并且不易维护,改动一点点就能造成毁灭性的打击,所以封装可以让我们编程时易维护,可读性高。

class Person:
    """人类"""

    def __init__(self, name, weight):

        self.name = name
        self.weight = weight

    def __str__(self):

        return "我的名字叫 %s 体重 %.2f 公斤" % (self.name, self.weight)

    def run(self):
        """跑步"""

        print("%s 爱跑步,跑步锻炼身体" % self.name)
        self.weight -= 0.5

    def eat(self):
        """吃东西"""

        print("%s 是吃货,吃完这顿再减肥" % self.name)
        self.weight += 1


xiaoming = Person("小明", 75)

xiaoming.run()
xiaoming.eat()
xiaoming.eat()

print(xiaoming)

  上述代码就是封装的实例,__str__是python中的魔法方法,该方法描述了类的作用。我们一般在__init__里实现对于变量的赋值,在这里强调一点,__init__和静态语言中的new不同,静态语言new一个新的对象的时候,会创建一个内存空间存储对象,并且在没有重写构造函数的前提下,初始化调用构造函数。而python不同,python的__init__方法只是对于变量的初始化,并没有创建,python中也有创建的__new__方法,只是被默认调用。这里在强调一点,self代表的是当前对象的引用,和C++/C#中的this指针是一样的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面向对象思想是一种编程范式,它将程序中的数据和操作封装对象中,通过对象之间的交互来实现程序的功能。Python是一门面向对象的编程语言,因此它支持面向对象编程的特性。 在Python中,一切皆为对象对象是类的实例,类是对象的抽象描述面向对象编程的核心思想是将问题抽象为类,通过创建类的实例来解决问题。 面向对象编程的特点包括封装、继承和多态。封装是指将数据和操作封装在类中,通过对外提供接口来访问和操作数据。继承是指通过定义一个新的类来继承已有类的属性和方法,从而实现代码的复用。多态是指同一类对象在不同情况下表现出不同的行为。 在Python中,定义一个类使用关键字class,类中可以定义属性和方法。属性是类的数据成员,方法是类的函数成员。通过创建类的实例对象,可以访问和操作类中定义的属性和方法。 例如,下面是一个简单的Python类的例子: ```python class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print("Hello, my name is", self.name) print("I am", self.age, "years old.") # 创建Person类的实例对象 person = Person("Alice", 25) # 访问对象的属性 print(person.name) # 输出:Alice # 调用对象的方法 person.say_hello() # 输出:Hello, my name is Alice # I am 25 years old. ``` 在上面的例子中,Person类表示一个人,它有两个属性name和age,以及一个方法say_hello用来打招呼。通过创建Person类的实例person,我们可以访问和操作实例的属性和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值