python-类和对象
本篇文章有极强的个人色彩,不建议过度参考,可以看看其他大佬类的描述
文章目录
笔记
"""
类:
用来封装具有共同特征的一类事物与行为
特征:
属性,定义在类里面的变量
行为:
定义在类里面的方法、函数
类定义:
关键字:class
语法:
class 类名:
类的属性和方法
class 类名(object): # 继承的方法
类的属性和方法
类定义的规范:
1、遵循标识符的命令规范
2、类名要严格遵循大驼峰命名法(每个单词的第一个字母都要大写)
属性:
1、类属性:
直接定义在类里面的变量(这个类的没有对象都有这个属性,且属性值是一样的)
2、对象属性(实例属性):
这个类的没有对象都有这个属性,且属性值是不一样的
对象属性的定义:
1、通过对象进行赋值 --- 使用类创建出来的对象,有这个类所有的特征和行为
2、通过初始化方法__init__进行定义
self代表的是对象,那个对象去调用__init__方法,self就会成那个对象
方法:
对象调用类:
使用对象调用类属性-----对象名.类属性
使用对象调用对象属性-----对象名.对象属性
使用对象调用方法-----对象名.方法
类调用类:
使用类调用类属性-----类.类属性
使用类调用对象属性-----不可以
使用类调用方法-----可以,但是不可以直接调用,需要传入对象属性(Cat.eat(Cat("叮当", "男")))
"""
创建一个类
class Dog:
# 类的属性
attr1 = "会汪汪叫"
attr2 = "有皮毛"
attr3 = "爱吃肉"
attr4 = "看家"
# 类的方法
def skill1(self):
print("看家")
def skill2(self):
print("汪汪汪")
通过对象进行赋值 — 使用类创建出来的对象,有这个类所有的特征和行为
dog1 = Dog()
dog1.name = "哈士奇"
dog1.gender = "男"
通过初始化方法__init__进行定义
类属性与对象属性对比
class Cat:
# 类属性:直接定义在类里面的变量(这个类的没有对象都有这个属性,且属性值是一样的)
attr1 = "喵喵"
def __init__(self, name, gender):
# 初始化对象属性
self.name = name
self.gender = gender
print("创建对象的时候,会自动调用")
# print(name, gender)
def eat(self):
print(self.name)
print("爱吃鱼")
#cat1 = Cat("叮当", "男")
使用对象调用类
对象可以调用类属性-----对象名.类属性
print(cat1.attr1)
对象可以调用对象属性-----对象名.对象属性
print(cat1.name)
对象可以调用类方法-----对象名.方法
# CAT0 = Cat()
cat1 = Cat("叮当", "男")
print(cat1.eat())
使用类调用类
使用类调用类属性-----类.类属性
print(Cat.attr1)
使用类调用对象属性-----不可以
# print(Cat.eat())
使用类调用方法-----可以,但是不可以直接调用,需要传入对象属性(Cat.eat(Cat(“叮当”, “男”)))
print(Cat.eat(Cat("叮当", "男")))