python之面向对象之封装
今天我们终于进入了面向对象,今天做一下面向的封装的总结
#面向对象的封装
#这里定义了一个类,名称为Role,object是所有类的父类
class Role(object):
#这里是定义实例的属性,这个实例的属性分别有name,role,wepon,life_value,如果我们通过类Role去创建一个实例的时候,就必须传递这几个参数
#需要说的时候,这里的属性是实例的属性,而不是类的属性,具体关于类的属性,我们在后面介绍
def __init__(self,name,role,wepon,life_value):
self.name = name
# name = name
self.role = role
self.wepon = wepon
self.life_value = life_value
#这里定义一个函数,这个函数是类的函数,我们通过这个类创建的任何一个实例都可以调用这个函数,这里的self就是调用这个函数实例,gun是调用这个函数
#我们需要传递的一个参数,因为我们是通过实例来调用类的方法,所以这里的self参数python默认就帮我们处理了
def buy_gun(self,gun):
print("名称为[%s]的人买了[%s],我的角色是[%s]" %(self.name,gun,self.role))
#改变实例中的变量的值
self.wepon = gun #通过类Role来生成两个实例
p1 = Role("p1","Police","B10","10")
t1 = Role("t1","Terror","B11","100") #创建出来的实例就可以调用它的类Role的方法bug_wepon
p1.buy_gun("C10")
print(p1.name)
print(p1.role)
print(p1.life_value)
print(p1.wepon)
# 名称为[p1]的人买了[C10],我的角色是[Police]
# p1
# Police
# 10
# C10
t1.buy_gun("C11")
print(t1.name)
print(t1.role)
print(t1.life_value)
print(t1.wepon)
# 名称为[t1]的人买了[C11],我的角色是[Terror]
# t1
# Terror
# 100
# C11
#self就是实例本身,也就是我们上
python之面向对象之封装的更多相关文章
- python(面向对象-类封装调用)
一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...
- Python之面向对象:封装
1.封装的概念 将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装.外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏. 在使用面向对象的封装特性时 ...
- python基础--面向对象之封装
# 在python中用双下划线,开头的方式将属性隐藏起来(设置成私有的) # 但其实这只是一种变形操作,而且仅仅在类定义阶段会发生变形 # 类中所有双下划线开头的如__x都会在类定义的时候自动形成:_ ...
- python 面向对象之封装与类与对象
封装 一,引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,小老虎一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装='隐藏',这种理解是相当片面的 二,先看如何隐藏 在 ...
- python面向对象(封装、继承、多态)+ 面向对象小栗子
大家好,下面我说一下我对面向对象的理解,不会讲的很详细,因为有很多人的博客都把他写的很详细了,所以,我尽可能简单的通过一些代码让初学者可以理解面向对象及他的三个要素. 摘要:1.首先介绍一下面向对象 ...
- python面向对象编程 -- 封装、继承
面向对象编程 -- 封装.继承 面向对象编程三要素:封装.继承和多态.本文主要看和封装.继承相关的概念:在python中多态的概念比较模糊,本文不做讨论. 1 封装 封装:将数据和操作组装到一起,对外 ...
- python 全栈开发,Day116(可迭代对象,type创建动态类,偏函数,面向对象的封装,获取外键数据,组合搜索,领域驱动设计(DDD))
昨日内容回顾 1. 三个类 ChangeList,封装列表页面需要的所有数据. StarkConfig,生成URL和视图对应关系 + 默认配置 AdminSite,用于保存 数据库类 和 处理该类的对 ...
- python之路----面向对象的封装特性
封装 [封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. 广义上面向对象的封装 :代码的保护,面向对象的思想本身就是一种只让自己的对象能调用自己类中的方法 狭义上的封装 —— 面向对象的三大 ...
- python开发面向对象基础:封装
一,封装 [封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] 1. 将不需要对外提供的内 ...
随机推荐
- linux中的ftp命令
转载至:https://www.cnblogs.com/mingforyou/p/4103022.html 一.ftp的get命令和mget命令有何不同? get一次只下载一个文件:mget一次可以下 ...
- Linux常见英文报错中文翻译(菜鸟必知)
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- 【Unix网络编程】 chapter5 TCP客户,服务器程序实例
chapter5 5.1 概述 5.2 TCP回射服务器程序:main函数 int main(int argc, char **argv) { int listenfd,connfd; pid_t c ...
- Spark SQL 编程
Spark SQL的依赖 Spark SQL的入口:SQLContext 官方网站参考 https://spark.apache.org/docs/1.6.2/sql-programming-guid ...
- blktrace 深度了解linux系统的IO运作
http://blog.yufeng.info/archives/751 我们在Linux上总是要保存数据的,数据要么保存在文件系统里(如ext3),要么就在裸设备里面.我们在使用这些数据的时候都是通 ...
- GSO/TSO/GRO等对VirtIO虚机的网络性能影响分析(by quqi99)
作者:张华 发表于:2016-04-05版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) IP层 ...
- SQL Server 2016将内置R语言
题记:随着大数据成为一个BuzzWord,和大数据相关的技术也变得越来越火热,其中就包括R语言.而据说SQL Server 2016将会内置R语言支持? R语言作为一个存在很久的语言,在大数据热炒之后 ...
- Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置
2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...
- javascript日期相减,求时间差
//计算时间差 var from_date = new Date(from_time); var end_date = new Date(end_time); var time_different = ...
- 34. Studio字符串分割split用法
var v = "1,2,3"; var arr = v.toString().split(","); 备注:最好先toString()转为字符串,不然有些情况 ...