python学习-class对象

时间:2024-04-16 14:34:47

# 面向对象 python,java,c#
# 面向过程 C

# 类和对象
# 类 类型类别、类别 物以类聚 一类事物
# 班级、人类、动物类、车、学生类、老师类、手机、电脑
# 统称 == 共同特性
# 不具体、抽象 共同特性

# 对象 非常具体的。
# 对象就是类的一个实例化。 具体化

# 类 == N个对象

# 定义类 类名首字母大写 驼峰命名
# 学生的共性:
#属性:昵称、学号、性别、年龄、班级、联系方式、城市、工作
#行为(动作 - 逻辑处理):上课、写作业、打卡、交学费、考试 、作笔记、提问

# 封装 类=属性+行为 抽像 -
class Student:

# 属性 类内部全局通用。
name = "小小"
stu_id = "123456"
class_name = "python17"
city = "上海"

# 行为 self就是我,我就是self。 类实例化之后,明确我是谁。
def attend_course(self):
# # 调用类的属性
# self.name = "小简"
# # 调用类的行为
# self.do_homework()
print("{}正在学习类和对象。".format(self.name))
pass

# 行为
def do_homework(self):
print("{}在写作业中。。".format(self.name))

# 修改属性的行为
def update_name(self,name):
self.name = name

def update_class_name(self,class_name):
self.class_name = class_name

def update_stu_id(self,stu_id):
self.stu_id = stu_id

def update_city(self,city):
self.city = city

# 具体化 == 实例化 == 具体的对象。有具体的属性和行为。
# 语法: 实例名称 = 类名()

# alex = Student() # 实例化,具体化
# # print(alex)
# alex.update_name("alex")
# print(alex.name) # 实例名称.属性值
# alex.attend_course() # 实例名称.行为
# print(alex.class_name)
# print(alex.attend_course()) # 实例名称.行为

# # # 第二个实例化,具体化
# wanwan = Student() # 实例化
# wanwan.update_name("wanwan")
# print(wanwan.name)
# wanwan.do_homework()

# 能不能在实例化的时候,就同时初始化某些属性。
# 初始化函数 在实例化的时候,初始化一些内容。
"""
类的初始化函数:
__init__ 固定的名字。在类实例化的时候,会自动调用。
"""

# 封装 类=属性+行为 抽像 -
class StudentV2:

# 初始化工作
def __init__(self,name,stu_id,class_name,city="上海"):
self.name = name
self.stu_id = stu_id
self.class_name = class_name
self.city = city
print("初始化工作完成,我已经有了具体的名字、学号、班级、城市这四个属性。")

# 行为 self就是我,我就是self。 类实例化之后,明确我是谁。
def attend_course(self):
print("{}正在学习类和对象。".format(self.name))
return

# 行为
def do_homework(self):
print("{}在写作业中。。".format(self.name))
return

# 实例化类的同时,会主动调用init函数。
luoluo = StudentV2("罗罗","222222","python17","北京")
print(luoluo.stu_id)
luoluo.attend_course() # 行为

hukai = StudentV2("胡凯","333111","python17","深圳")
hukai.do_homework()

# 中场休息:手机 - 类 实例化你们自己的手机。