day18 面向对象
---恢复内容开始---
1.1类的相关知识
声明
def functionName(args):"函数文档字符串""""函数体""" class 类名:"""类的文档字符串""""""类体""" #我们创建一个类 class Date:pass #声明函数vs声明类
属性
class Person: #定义一个人类role = 'person' #人的角色属性都是人def walk(self): #人都可以走路,也就是有一个走路方法print("person is walking...")print(Person.role) #查看人的role属性 print(Person.walk) #引用人的走路方法,注意,这里不是在调用
实例化:类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征
实例化的过程就是类--->对象的过程
原本我们只有一个Person类,在这个过程中,产生了一个egg对象,有自己具体的名字,攻击力和生命值
语法:对象名=类名(参数)
self
self:在实例化时自动将对象/实例本身传递给__init__的第一个参数
一:我们定义的类的属性到底存到哪里了?有两种方式查看
dir(类名):查出的是一个名字列表
类名.__dict__:查出的是一个字典,key为属性名,value为属性值二:特殊的类属性
类名.__name__# 类的名字(字符串)
类名.__doc__# 类的文档字符串
类名.__base__# 类的第一个父类(在讲继承时会讲)
类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
类名.__dict__# 类的字典属性
类名.__module__# 类定义所在的模块
类名.__class__# 实例对应的类(仅新式类中)
1.2 对象的相关知识
class 类名:def __init__(self,参数1,参数2):self.对象的属性1 = 参数1self.对象的属性2 = 参数2def 方法名(self):passdef 方法名2(self):pass对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西#类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法#括号里传参数,参数不需要传self,其他与init中的形参一一对应#结果返回一个对象 对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可 对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可
1.3类名空间与对象的名称空间
创建一个雷就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称之为类的属性
而类有两种属性:静态属性和动态属性
静态属性就是直接在类中定义的变量
动态属性就是定义在类中的方法
其中类的数据属性是共享给所有的对象的
而类的动态属性是绑定到所有的对象的
转载于:https://www.cnblogs.com/daien522556/p/9235143.html
day18 面向对象相关推荐
- python合法关键字是_python练习题-day18
1.匹配一行文字中的所有开头的字母内容 import re s="i love you not because of who you are, but because of who i am ...
- 【AJAX】JavaScript的面向对象
Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...
- 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
AutoSAR入门到精通系列讲解 将从2019年开始更新关于AutoSAR的知识,从入门到精通,博主xyfx和大家一起进步 雪云飞星 ¥29.90 去订阅 简单地说结构化分析方法主要用来分析系统的功能 ...
- 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类
目录 scala面向对象 MAVEN依赖 类 - 掌握 创建类和对象 - 掌握 getter/setter - 了解 类的构造器 - 掌握 scala面向对象 MAVEN依赖 <?xml ver ...
- php面向对象程序设计,PHP面向对象程序设计类的定义与用法简单示例
本文实例讲述了PHP面向对象程序设计类的定义与用法.分享给大家供大家参考,具体如下: class Person { private $name; private $sex; private $age; ...
- java面向过程和面向对象
面向过程(Procedure Oriented):说的是功能的行为 面向对象(Object Oriented,简称OO):说的是功能的对象 面向过程理解: 当学习java的时候先了解java语言优良的 ...
- day22_面向对象
面向过程: 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 面向对象: 优点是:解决了程序的扩展性.对 ...
- java面向对象-------静态初始化块
1.构造方法用于对象的初始化!静态初始化块,用于类的初始化操作,在静态初始化块中不能直接访问非static成员. package java面向对象; /** * 测试静态初始化块 */public c ...
- 7.12 其他面向对象设计原则3: 依赖倒置原则DIP
其他面向对象设计原则3: 依赖倒置原则DIP The Dependency Inversion Principle 7.1 依赖倒置原则DIP The Dependency Inversion P ...
最新文章
- webhook简单部署
- PO Create PO时关于汇率问题需要注意的步骤
- MySql第几行到第几行语句
- [转帖]不要迷失在技术的海洋中
- 6-uboot relocation介绍
- 八十二、归并排序求取复杂的逆序数
- php中isdefin,在PHP中定義全局常量數組的最“優雅”方法是什么
- 什么是 SAP Spartacus 里的 module augmentation
- html 布局满屏,CSS全屏布局的5种方式
- 【转载】推荐系统的十大挑战
- testng 组_TestNG组
- net core mysql 组件记录
- 编码器分类及原理和测速应用(含代码)
- 大数据时代移动营销的十大趋势
- Android ndk下载和环境配置
- mysql中MVCC多版本并发控制原理的详解
- 异步电路中时钟同步的方法
- redis 集群介绍及docker实现
- 【Python】如何实现列表的升序排列
- 安装侧边翻译,划词翻译,看外文论文神器,比知云还好用Edge Translate