对象的实例化

# 学生类
# class Student:
#     # def __init__(self, name, age, gender):
#     #     '''
#     #     该方法就一个功能>>>:给对象添加独有的数据
#     #     :param name:
#     #     :param age:
#     #     :param gender:
#     #     '''
#     #     self.name = name  # obj.__dict__['name'] = name
#     #     self.age = age  # obj.__dict__['age'] = age
#     #     self.gender = gender
#         # 学生类公共的数据
#         school = '清华大学'
#         # 学生类公共的功能
#         def choose_course(self):
#             print('学生选课功能')
# obj1 = Student()
# print(obj1.__dict__)
# 给对象添加特征属性
'''方案1:逐步添加'''
# obj1.name = 'king'
# obj1.age = 18
# obj1.gender = 'male'
# print(obj1.name)
# 这样写如果要创建多个对象,并添加各自的特征属性代码会冗余
'''方案2:将冗余的添加步骤封装成函数'''
# def init(obj, name, age, gender):
#     obj.name = name
#     obj.age = age
#     obj.gender = gender
# init(obj1, 'king', 18, 'male')
# print(obj1.name)
# print(obj1.age)
# print(obj1.gender)
'''方案3:简单的封装成'''
# class Student:
#     def get_obj(obj, name, age, gender):
#         '''
#         该方法就一个功能>>>:给对象添加独有的数据
#         :param name:
#         :param age:
#         :param gender:
#         '''
#         obj.name = name  # obj.__dict__['name'] = name
#         obj.age = age  # obj.__dict__['age'] = age
#         obj.gender = gender
#         # 学生类公共的数据
#         school = '清华大学'
#         # 学生类公共的功能
#         def choose_course(self):
#             print('学生选课功能')
# obj1 = Student()
# # print(obj1.__dict__)
# # obj1.get_obj(obj1, 'king', 18, 'male')  # 只能写3个参数,第一个形参是会自动将对象传入的,不需要写明
# Student.get_obj(obj1, 'king', 18, 'male')
# print(obj1.name)
'''方案4:类中针对给对象创建独有数据的函数名 专门定义了一个固定的方法'''
# class Student:
#     def __init__(self, name, age, gender):
#         '''
#         该方法就一个功能>>>:给对象添加独有的数据
#         :param name:
#         :param age:
#         :param gender:
#         '''
#         self.name = name  # obj.__dict__['name'] = name
#         self.age = age  # obj.__dict__['age'] = age
#         self.gender = gender
#         # 学生类公共的数据
#         school = '清华大学'
#         # 学生类公共的功能
#         def choose_course(self):
#             print('学生选课功能')
# obj1 = Student('king', 18, 'male')  # 由于python给我们准备好的__init__函数会自动执行,并传入对象,因此在创建对象的时候就可以直接写入特征属性了
# print(obj1.name)
'''
类中的__init__方法会在类产生对象的时候自动执行
类产生对象的具体步骤
    1.先创建一个没有独有数据的空对象  {}
    2.将空对象和类括号内传入的数据一并交给__init__执行
    __init__的第一个参数就是对象本身
    3.将创建好的对象自动返回
    python提供这种方式是为了减少代码的编写
ps:针对括号内第一个形参self其实就是一个普通的变量名而已
只不过该变量名将来专门接受对象的,所以给它起了个固定的名字叫self
'''
posted @   小金同学要加油  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示