python面向对象

本文介绍了Python面向对象编程的核心概念,包括类、对象、实例化和方法。通过实例展示了如何封装属性和方法,以及如何使用构造函数和方法。讨论了继承、重写以及新式类与旧式类的区别,并给出了图书管理系统的设计示例。
摘要由CSDN通过智能技术生成

#面向对象
#需要有意义的面向对象的代码,不是有了类就是面向对象
#核心:类 对象

#实例化

#方法:设计层面 函数:程序运形,过程式一种称谓

class Student():
    name = ''       ##变量:数据成员
    age = 0

def print_file(self):
    print('name:' + self.name)
    print('age:' + str(self.age))

student = Student()
student.print_file()

在这里插入图片描述
#对象:对象是现实世界或者思维世界中的实体在计算机中的反映,
#它将数据以及这些数据上的操作封装在一起

#类:一类事物的统称,对象是类具体化的产物,也就是实例化

#不同的对象有什么不同特点:比如年龄,姓名

class Student():
    name = ''
    age = 0

    def do_homework(self):
        print('homework')

student1 = Student()
student1.do_homework()
student2 = Student()
student2.do_homework()
student3 = Student()
student3.do_homework()

print(id(student1))
print(id(student2))
print(id(student3))

在这里插入图片描述
构造函数

class Student():
    name = ''
    age = 0

    def __init__(self,name,age):
        #构造函数
        self.name = name
        self.age = age
        print('student')
        # return 'student'

    def do_homework(self):
        print('homework')

student1 = Student('老李',38)
print(student1.name)
print(student1.age)

在这里插入图片描述
老李今年50岁,身高1.75,每天早上要跑步,会去吃东西
老吴今年36岁,身高1.85,老吴不跑步,老吴喜欢吃东西

class Person():
    def __init__(self,name,age,height):
        self.name = name
        self.age = age
        self.height = height
    def __str__(self):
        return '%s今年%s岁,身高%s'%(self.name,self.age,self.height)

    def run(self):
        if self.name == '老李':
            return '%s爱跑步'%(self.name)
        elif self.name == '老吴':
            return '%s不跑步'%(self.name)

    def eat(self):
        return '%s吃东西'%self.name

laoli = Person('老李','50','1.75')
print(laoli)
print(laoli.run())
laowu = Person('老吴','36','1.85')
print(laowu)
print(laowu.eat())

在这里插入图片描述
str方法

class Dog():

    def __init__(self,name):
        self.name = name

    def __str__(self):
        #必须返回一个字符串
        return '这是 %s' %(self.name)

Gofei = Dog('旺财')
print(Gofei)

在这里插入图片描述
回顾

class Cat():
    def eat(self,name):
        self.name = name
        print('%s爱吃鱼'%self.name)

    def drink(self):
        print('猫要喝水
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值