面向对象编程

  • 面向对象和面向过程的区别_执行者思维_设计者思维
  • 类的定义
    • 构造函数__init__
    • 实例属性_内存分析
    • 实例方法_内存分析
    • 类对象
    • 类属性_内存分析创建类和对象的底层
    • 类方法_静态方法_内存分析图示
  • __del__()析构方法和垃圾回收机制
  • __call__()方法和可调用对象

面向对象和面向过程的区别_执行者思维_设计者思维






类的定义



class Student:#company= "SXT"   #类属性#count =0         #类属性def __init__(self,name,score):  #构造方法的第一个参数必须为selfself.name=name             #实例属性self.score=score#Student.count=Student.count+1def say_score(self):           #实例方法#print('我的公司是:',Student.company)print(self.name,'的分数是',self.score)
s1 = Student('张三',80)
s1.say_score()
张三 的分数是 80Process finished with exit code 0

构造函数__init__


实例属性_内存分析

实例方法_内存分析




class Student:#company= "SXT"   #类属性#count =0         #类属性def __init__(self,name,score):  #构造方法的第一个参数必须为selfself.name=name             #实例属性self.score=score#Student.count=Student.count+1def say_score(self):           #实例方法#print('我的公司是:',Student.company)print(self.name,'的分数是',self.score)
s1 = Student('张三',80)
s1.say_score()
s1.age=32
s1.salary=3000
#del sl
print(s1.salary)s2=Student('高希希',100)
s2.say_score()
Student.say_score(s2)print(s2.__dict__)print(isinstance(s2,Student))class Man:pass
张三 的分数是 80
3000
高希希 的分数是 100
高希希 的分数是 100
{'name': '高希希', 'score': 100}
True

类对象


class Student:def __init__(self,name,score):  #构造方法的第一个参数必须为selfself.name=name             #实例属性self.score=score#Student.count=Student.count+1def say_score(self):           #实例方法#print('我的公司是:',Student.company)print(self.name,'的分数是',self.score)s1 = Student('高琪',80)
s2=Student('高希希',100)
s1.say_score()
s2.say_score()
高琪 的分数是 80
高希希 的分数是 100

类属性_内存分析创建类和对象的底层





类方法_静态方法_内存分析图示



del()析构方法和垃圾回收机制

call()方法和可调用对象


class SalaryAccount:def __call__(self,salary):print("算工资啦")yearSalary=salary*12daySalary=salary//22.5hourSalary=daySalary//8return dict(yearSalary=yearSalary,daySalary=daySalary,hourSalary=hourSalary)
s=SalaryAccount()
print(s(30000))
算工资啦
{'yearSalary': 360000, 'daySalary': 1333.0, 'hourSalary': 166.0}

【Python基础知识-pycharm版】第八节-面向对象编程/类相关推荐

  1. 【Python基础知识-pycharm版】第一节-基础

    python第一节 特点 Python 解释器 python开发环境 交互模式 IDLE开发环境使用入门 程序基本格式 图形化程序设计 python程序的构成 python程序的对象 python的引 ...

  2. 【Python基础知识-pycharm版】第九节_面向对象的三大特征

    第九节 方法 方法没有重载 私有属性和私有方法(实现封装) @property装饰器_get和set方法 面向对象的三大特征说明(封装.继承.多态) 继承 方法的重写(类成员的继承和重写) 查看类的继 ...

  3. 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)

    第十一节-文件操作(IO技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象 open() 文本文件的写入 基本的文件写入操作 常用编码介绍 ASCII ISO8859-1 GB2312, ...

  4. 【Python基础知识-pycharm版】第三节-列表

    Python 第三节-列表 序列-列表 列表创建的四种方式 创建列表的增加和删除 列表元素访问和技术 列表排序 二维列表 表格数据的存取和读取 序列-列表 常用的序列结构:字符串 元祖 字典 集合 列 ...

  5. 【Python基础知识-pycharm版】第二节-赋值/数据类型/时间点/运算符/字符串

    python第二节 链式赋值_系列解包赋值 内置数据类型 时间表示unix时间点 多点坐标绘出折线图 运算符 字符串 部分来源: 1.https://blog.csdn.net/wys103158/a ...

  6. Python基础知识-pycharm版-02

    链式赋值 当多个变量是同一个值时,可以同时赋值. a=b=123 #等价于 a=123 b=123 系列解包赋值 注意一一对应,个数必须相同. a,b,c=1,2,3 #等价于 a=1 b=2 c=3 ...

  7. Python基础知识-pycharm版-09

    文件操作 文本文件和二进制文件 按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类. 文本文件 文本文件存储的是普通"字符"文本,python 默认为 unicode ...

  8. 【Python基础知识-pycharm版】第十节_异常

    第十节 异常 异常机制本质 异常解决的关键:定位 try... 一个 except 结构 try... 多个 except 结构 try...except...else 结 构 try...excep ...

  9. Python基础知识-pycharm版-对象

    Day 7 & Day 8 面向对象: 找名词or面向过程:动词 宏观面向对象,然后任然要面向过程 对象:把数据和相关方法放到一起,组成对象 类 类和对象的关系:类是模具,对象是饼干 创建类时 ...

最新文章

  1. openoffice api java_如何在API / SDK中选择OpenOffice和LibreOffice
  2. C++ 应用程序性能优化
  3. 前端学习 -- Css -- 属性选择器
  4. 拒绝暴力调参!推荐一个模型Debug神器!
  5. 论文浅尝 | AutoETER: 用于知识图谱嵌入的自动实体类型表示
  6. 简单易用的开源ORM框架SqlSugar v5.0.0.19源码
  7. 共享两个有用的网页布局表格 【有用】
  8. idea导入java项目类上面显示红色的J符号解决办法
  9. mysql之解决“mysql server has gone away“的问题
  10. Qt 中使用全局变量的方法
  11. 【情感识别】基于matlab PNN概率神经网络语音情感识别【含Matlab源码 544期】
  12. ThreadPoolExecutor源码学习(一) -核心属性及应用
  13. 项目管理——项目汇报总结
  14. 毕业论文排版(六)-三线表
  15. Qt 5.12--color
  16. UE4中程序驱动的LookAt动画
  17. dimm和udimm_服务器内存类型UDIMM、RDIMM和LRDIMM比较
  18. APP 分析 随手记
  19. 【听书笔记-0515】-《清单革命》
  20. jdk1.8下载及安装

热门文章

  1. linux gunzip r .tar,Linux命令之文件归档、压缩、解压缩tar,gzip,gunzip,bzip2,bunz -电脑资料...
  2. jmeter+WebDriver:启动浏览器进行web自动化
  3. BZOJ 1137 半平面交
  4. LoadRunner培训初级教程
  5. POJ 3041 Asteroids (对偶性,二分图匹配)
  6. Android(java)学习笔记171:服务(service)之绑定服务调用服务里面的方法
  7. 向量点积(Dot Product)
  8. SQLServer安装挂起解决方法
  9. 基于boost asio实现的支持ssl的通用socket框架
  10. 你还不知道怎么退出 Vim?