# 面向对象 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)翻转二叉树 个人题解

    翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注:这个问题是受到 Max Howell的 原问题  ...

  2. 分析facebook的AsyncDisplayKit框架中的Transaction的工作原理

    在AsyncDisplayKit框架中有一个_ASAsyncTransaction模块,用于AsyncDiplayNode的异步事务,使用了dispatch_group实现. 主要目的是将operat ...

  3. easyui+ef实现省市区三级联动

    1.引用easyui样式及脚本文件 2.数据库创建表(自联表)及数据建模(Code First) use DataBase go CREATE TABLE OP_SJ ( CID UNIQUEIDEN ...

  4. 小白学习React官方文档看不懂怎么办?3.元素渲染

    直接上代码 const element = <h1>Hello, world</h1>; ReactDOM.render(     element,      document ...

  5. webpack-dev-middleware 和 webpack-hot-middleware 配置开发环境和生产环境;webpack脚手架;仿vue-cli

    webpack-dev-server更新后自带express服务器,已经不需要自己搭建.vue-cli从17年底左右也换成了最新的webpack-dev-server,而不是用webpack-dev- ...

  6. fastjson自定义序列化竟然有这么多姿势?

    本文介绍下fastjson自定义序列化的各种操作. 一.什么是fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSO ...

  7. mac 安装zmap

    mac安装zmap有两种方式 1.命令行安装 brew install zmap export PATH=$PATH:/usr/local/sbin 很多人安装的时候只有第一步,然后直接bash:zm ...

  8. selenium常用命令之页面元素定位

    WebDriver driver= new ChromeDriver();   <input type="text" id="phone" name=&q ...

  9. OAuth 2.0 概念及授权流程梳理

    本文可以转载,但请注明出处https://www.cnblogs.com/hellxz/p/oauth2_process.html OAuth2 的概念 OAuth是一个关于授权的开放网络标准,OAu ...

  10. WPF 因设置不期望的DataContext,导致的绑定异常

    在MainWindow中,创建一个背景属性BrushTest,并将其绑定至界面 <Window x:Class="WpfApp8.MainWindow" xmlns=&quo ...