类和对象的实现和书写

创建文件:习惯用小写字母当做文件名,可用下划线进行分割

类的规则:声明一个类必须要用class关键字

     类名的声明需要符合驼峰命名法

     类中只能存在两种内容:成员属性,成员方法

     声明成员属性的时候,变量必须赋值

     声明成员方法的时候,按照函数声明规范即可(参数中会自动添加self参数)

 类名的书写规范:大驼峰:MyCar      XiaoBaiTu

        小驼峰:myCar     xiaoBaiTu 

标准类的组成:成员属性(姓名,性别,头发颜色)

       成员方法(会做饭,会洗衣服)

class GrilFriend:
    #成员属性
    name='女朋友'
    sex='女'
    hair='黑发'
    #成员方法
    def wash(self):
        print('女朋友会洗衣服')
    def cook(self):
        print('女朋友会做饭')

#实例化对象
diaochan=GrilFriend()
#查看对象
print(diaochan)
print(GrilFriend())
#查看类
print(GrilFriend)

# 获取类和对象中所有成员的信息

# print(GrilFriend.__dict__)
# print(diaochan.__dict__)
# {'__module__': '__main__', 'name': '女朋友', 'sex': '女', 'hair': '黑发', 'wash': <function GrilFriend.wash at 0x022AD270>, 'cook': <function GrilFriend.cook at 0x022AD3D8>, '__dict__': <attribute '__dict__' of 'GrilFriend' objects>, '__weakref__': <attribute '__weakref__' of 'GrilFriend' objects>, '__doc__': None}
# {}

# 实例化的对象对成员属性的基本操作(增删改查)

#增加,修改,会往对象中添加成员信息
#对象中的基本操作不会影响类中的成员信息
#查看成员属性
print(diaochan.hair)

#修改 
diaochan.hair='白发'
print(diaochan.hair)
# print(diaochan.__dict__)
# print(GrilFriend.__dict__)
#增加
diaochan.leg='大长腿'
print(diaochan.leg)
# print(diaochan.__dict__)
# print(GrilFriend.__dict__)

#删除
# del diaochan.leg
# print(diaochan.__dict__)

#实例化的对象对成员方法的基本操作(增删改查)

#查看
# diaochan.wash()

#添加
# def eat():
#     print('吃的真香')
# diaochan.eat=eat
# print(diaochan.__dict__)
# diaochan.eat()

#修改
# def wash():
#     print('洗了大量衣服')
# diaochan.wash=wash
# diaochan.wash()

#删除
# del diaochan.eat
# print(diaochan.__dict__)
、

#类对成员属性的基本操作(增删改查) (很少用)

#查看
# print(GrilFriend.name)

#增加
# GrilFriend.color='黄皮肤'
# print(GrilFriend.__dict__)
# print(GrilFriend.color)
# print(diaochan.__dict__)

#修改
# GrilFriend.hair='骚粉发'
# print(GrilFriend.__dict__)

#删除
# del GrilFriend.hair
# print(GrilFriend.__dict__)

#类对成员方法的基本操作(增删改查)

#查看
# GrilFriend.wash(1)

#添加(不建议使用)
# def eat():
#     print('饭真香')
# GrilFriend.eat=eat
# print(GrilFriend.__dict__)

#修改(不建议使用)
# def wash():
#     print('洗了大量衣服')
# GrilFriend.wash=wash
# GrilFriend.wash()
# print(GrilFriend.__dict__)

#删除
# print(GrilFriend.__dict__)
# del GrilFriend.wash
# print(GrilFriend.__dict__)

绑定类与非绑定类:
绑定类:对象调用不了,只有类能调用,方法中没有接受对象的参数
非绑定类:对象和类都能调用,方法中有接受对象的参数

class GrilFriend:
    #成员属性
    name='女朋友'
    sex='女'
    hair='黑发'
    #成员方法
    #绑定类方法
    def wash():
        print('女朋友会洗衣服')
    #非绑定类方法
    def cook(self):
        print('女朋友会做饭')

# 实例化对象
diaochan=GrilFriend()

#调用绑定类
# diaochan.wash() (对象调用会报错)
GrilFriend.wash()
#调用非绑定类
diaochan.cook()
GrilFriend.cook(1)
class GrilFriend:
    #成员属性
    name='女朋友'
    sex='女'
    hair='黑发'
    #成员方法
    #绑定类方法
    def wash():
        print('女朋友会洗衣服')
    #非绑定类方法
    def cook(self):
        print('女朋友会做饭')

# 实例化对象
diaochan=GrilFriend()

#调用绑定类
# diaochan.wash() (对象调用会报错)
GrilFriend.wash()
#调用非绑定类
diaochan.cook()
GrilFriend.cook(1)
class GrilFriend:
    #成员属性
    name='女朋友'
    sex='女'
    hair='黑发'
    #成员方法
    #绑定类方法
    def wash():
        print('女朋友会洗衣服')
    #非绑定类方法
    def cook(self):
        print('女朋友会做饭')

# 实例化对象
diaochan=GrilFriend()

#调用绑定类
# diaochan.wash() (对象调用会报错)
GrilFriend.wash()
#调用非绑定类
diaochan.cook()
GrilFriend.cook(1)