# 面向对象 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()

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

python学习-class对象的更多相关文章

  1. Python学习_01_对象

    之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言 ...

  2. python学习之对象的三大特性

    在面向对象程序设计中,对象可以看做是数据(特性)以及由一系列可以存取.操作这些数据的方法所组成的集合.编写代码时,我们可以将所有功能都写在一个文件里,这样也是可行的,但是这样不利于代码的维护,你总不希 ...

  3. python学习——面对对象进阶

    一.isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass a = Foo() print(isins ...

  4. Python学习笔记——对象

    Python 的对象定义方式如下: class Person:        def __init__(self, name):            self.name = name         ...

  5. 4月11日 python学习总结 对象与类

    1.类的定义 #类的定义 class 类名: 属性='xxx' def __init__(self): self.name='enon' self.age=18 def other_func: pas ...

  6. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  7. Python学习笔记之类与对象

    这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...

  8. 【Python学习之七】类和对象

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.面向对象编程1.概念(1)面向对象编程(OOP ...

  9. Python学习day34-面向对象和网络编程总结

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

随机推荐

  1. 力扣(LeetCode)猜数字大小 个人题解

    我们正在玩一个猜数字游戏. 游戏规则如下:我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字.每次你猜错了,我会告诉你这个数字是大了还是小了.你调用一个预先定义好的接口 guess(int n ...

  2. Cesium小插件改造--clock和timeline

    一.Clock 废话不多说,先上效果图再说.如效果图所示:clock的日期显示为YY/MM/DD这种简洁明了格式,时间则为当前系统时间(也就是北京时间).Clock内部以儒略日(JulianDate) ...

  3. drf序列化组件之视图家族

    一.视图家族的分类 1.导入分类 from rest_framewok import views, generics, mixins, viewsets views:视图类 ​ 两大视图类:APIVi ...

  4. Java描述设计模式(22):策略模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 每年双十一,各大电商平台会推出不同的满减策略,当用户的消费金额满一定额度后,会进行减去一定的优惠额度,从而来一波清仓甩卖,使用策 ...

  5. vue 优化小技巧 之 require.context()

    1.require.context() 回忆一下 当我们引入组件时 第一步 创建一个子组件 第二步 import ... form ... 第三步 components:{..} 第四步 页面使用 & ...

  6. webapi接口安全验证

    其实跟大多数网上的方法一样,在前端请求头里加token,后台通过拦截器处理token数据,然后两边对比,如果一样就能通过,不一样就返回无权限. 前端测试代码如下: @{ ViewBag.Title = ...

  7. 用CodePush在React Native App中做热更新

    最近在学React Native,学到了CodePush热更新. 老师讲了两种实现的方法,现将其记录一下. 相比较原生开发,使用React Native开发App不仅能节约开发成本,还能做原生开发不能 ...

  8. Bash Shell编程简记

    Shell编程简记 经常在linux环境下开发的同学,难免要使用shell的一些命令或者编写小的脚本,我这里也总结和整理下,自己对Shell的理解和常用的一些shell脚本. 按照目录分为如下3个节: ...

  9. 【Android - 进阶】之Dialog分类及使用

    1.确定取消对话框 代码: // 使用AlertDialog.Builder初始化对话框 AlertDialog.Builder builder0 = new AlertDialog.Builder( ...

  10. Windows的定时任务(Schedule Task)设置

    一.设置 1 点击“开始” 2 点击“控制面板” 3 双击“任务计划” 4 双击“添加任务计划” 5 到了“任务计划向导”界面,点击“下一步” 6 点击“浏览”选择需要定时运行的程序(exe文件,ba ...