0
点赞
收藏
分享

微信扫一扫

python入门笔记——类和对象①(面向对象介绍、创建类和对象及__init__)

JakietYu 2022-01-30 阅读 61
python

python入门笔记——类和对象①(面向对象介绍、创建类和对象及__init__)
面向对象编程:oop Object Oriented Programming

# 类:用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法
# 对象是类的实例
# class 类名:
#     属性
#     方法
class Person:# 建议类名第一个字母大写
    name = '张三'
    age = 20
    # 以上为类的属性举例
    def eat(self):
        # 实例方法
        print('大快朵颐')
        pass
    def run(self):
        print('迅如疾风')
        pass
    # 以上为类的方法举例

person1 = Person()
# 创建一个person类的对象
person1.eat()
print('{}的年龄:{}'.format(person1.name,person1.age))
# 简单调用类的属性和方法

# 实例方法:在类的内部,由def关键字定义,[第一个]参数默认是self(可以更改,但必须占用第一个位置)
# 属性:在类的内部定义的变量,方法外定义的属性叫类属性,否则为实例属性(如__init__方法中定义的属性)

class Animal:
    def eat(self):
        print('吃饭')
        pass

dog1 = Animal()
dog1.name = '小黄'# 此类语句可以添加Animal类中的属性
dog1.color = 'yellow'# 此类语句可以添加Animal类中的属性
print('狗的名字:{}'.format(dog1.name))
# 如果有很多个对象需要被实例化,就需要添加很多次以上的语句,故较为麻烦

# __init__(由__包起来的python的内置方法被称为魔术方法)
class Animal2:
    def __init__(self):# 初始化方法
        self.name = '小黑'
        self.color = '黑'# 实例属性
        pass
    # __init__:初始化方法,实例化对象的时候自动调用,完成一些初始化设置

dog2 = Animal2()
print('狗的名字:{}'.format(dog2.name))
# 由于编程过程中会有许多属性重复,故定义初始化属性能减少许多不必要重复的代码

# __init__传参[个人认为这是__init__初始化方法的更加重要的作用]
class Animal3:
    def __init__(self,color,name):
        self.color = color
        self.name = name
        pass
    def eat(self,food):# 其他的函数也可以传参,这里用eat方法举例
        print(self.name + '喜欢吃' + food)

cat1 = Animal3('黄色','黄猫')
cat1.eat('肯德基')
cat2 = Animal3('白色','白猫')
cat2.eat('海底捞')

输出结果:

大快朵颐
张三的年龄:20
狗的名字:小黄
狗的名字:小黑
黄猫喜欢吃肯德基
白猫喜欢吃海底捞
举报

相关推荐

0 条评论