python面向对象
时间:2022-05-08
本文章向大家介绍python面向对象,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
面向对象的一般概念:
#
Class 类 一个抽象 Object 对象 一个实例
封装: 在类中对数据的赋值 内部调用对外部是透明的 继承: 一个类可以派生多个类 子类继承父类 多态: 一个接口多种实现,对不同的类发出同一个命令,会得到不同的行为。
__author__ = 'lee'
class Role:
def __init__(self,name,role,weapon,life_value=100,money=15000):
self.name = name
self.role = role
self.weapon = weapon
self.life_value = life_value
self.money = money
def shot(self):
print("shooting...")
def got_shot(self):
print("ah...,I got shot...")
def buy_gun(self,gun_name):
print("%s just bought %s" %(self.name,gun_name))
r1 =Role('Alex','police','AK47').got_shot() # 生成一个角色 实例化 想当午造了一个对象
Role('Alex','police','AK47').buy_gun("B22")
r2 = Role('Jack','terrorist','B22') # 生成一个角色
#r1.buy_gun("AK47")
类里可以有变量存在,叫类变量。 类变量的用途:大家公用的属性
class Person:
cn = "中国"
def __init__(self,name,age,addr):
self.name = name
self.cn = 'cn'
p1 = Person('name','age','addr')
析构函数: 在实例释放、销毁的时候实施的,通常用于做一些收尾工作,如关闭一些数据库连接,打开的临时文件。 Question: Python有内存回收机制为何还需要析构函数? 自动回收是回收没有变量名的,如果有变量名则不回收
私有属性 类似这样 在属性前加上__,只有类本身可以被调用
self.__life_value = life_value
私有方法 类似这样 在方法前加上__,只有类本身可以被调用
def __got_shot(self):
print("ah...,I got shot...")
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于 Spring Boot 的在线考试系统
- Redis系列:高可用哨兵方案部署
- linux或windows环境下pytorch的安装与检查验证(解决runtimeerror问题)
- Linux 查看历史命令并执行的方法
- 在 awk 中使用循环
- 移植busybox构建最小根文件系统的步骤详解
- Linux中的screen命令使用详解
- Mysql4种方式避免重复插入数据!
- 手撕RTSP协议系列(3)——sdp格式详解
- Linux tee命令使用详解
- 简单了解Linux性能监控命令free
- 在CentOS 8上安装htop的教程
- Ubuntu16.04.5LTS安装SVN的过程
- CentOS6.5与CentOS7 ssh修改默认端口号的方法
- CentOS8 配置本地yum源的详细教程