# 封装 类=属性+行为 抽像 -
class StudentV2:

# 类属性 所有的实例可以共享 。不属于任何实例的特性。
is_people = True

# 类方法 1、装饰器。2、参数是cls 表示类本身。
@classmethod
def pepole_aciton(cls):
print("吃饭,睡觉!!")
print(cls.is_people)

# 初始化工作
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
self._protect_friend = "鸡腿"
self.__private_money = 500
print("初始化工作完成,我已经有了具体的名字、学号、班级、城市这四个属性。")

# 行为 self就是我,我就是self。 类实例化之后,明确我是谁。
def attend_course(self):
# 300行 拆成四个小功能
self._private_func()
print("{}正在学习类和对象。".format(self.name))
return

def _private_func(self):
pass
def __private_func_deep(self):
pass

# 行为
def do_homework(self):
print("{}在写作业中。。".format(self.name))
return

# 开放api,获取私有变量值。
def get_counts(self):
print("我有{} 个 {}".format(self.__private_money,self._protect_friend))
#print(self._protect_friend)

# # 实例化类的同时,会主动调用init函数。
# luoluo = StudentV2("罗罗","222222","python17","北京")
# print(luoluo.stu_id)
# luoluo.attend_course() # 行为
#
# hukai = StudentV2("胡凯","333111","python17","深圳")
# print(id(hukai))
# hukai.do_homework()

# 类属性的调用
# print(StudentV2.is_people)
# # print(StudentV2.name) # 类是没有name属性
# StudentV2.pepole_aciton()

luoluo = StudentV2("罗","222222","python17","北京")
# print(luoluo.is_people)
# print(luoluo.name)
# print(luoluo._protect_friend)
# print(luoluo.__private_money)
# print(luoluo._StudentV2__private_money) # 改变了方式
luoluo.get_counts()

"""
类属性和实例属性

类方法、实例方法

# 私有属性、私有行为
_XXX 私有的。类和子类的对象可以访问,提供api给你访问。

__XXX 私有的。类的对象可以访问。
"""

python学习-class封装的更多相关文章

  1. 4月16日 python学习总结 封装之property、多态 、classmethod和staticmethod

    一.封装之property @property把一个函数伪装成一个数据类型  @伪装成数据的函数名.setter   控制该数据的修改,修改该数据时触发 @伪装成数据的函数名.delect  控制该数 ...

  2. Python学习day25-面向对象之组合,多态和封装

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  3. Python学习(七)面向对象 ——封装

    Python 类的封装 承接上一节,学了Student类的定义及实例化,每个实例都拥有各自的name和score.现在若需要打印一个学生的成绩,可定义函数 print_score() 该函数为类外的函 ...

  4. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  5. 180分钟的python学习之旅

    最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...

  6. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  7. [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

    [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...

  8. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  9. VS2013中Python学习环境搭建

    VS2013中Python学习笔记[环境搭建] 前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...

随机推荐

  1. windows:查看电脑开放的端口

    netstat -ano netstat -ano | findstr '445' 查看445端口是否被使用 根据端口找到占用程序的PID,再用tasklist|findstr "2720& ...

  2. 【目标检测实战】目标检测实战之一--手把手教你LMDB格式数据集制作!

    文章目录 1 目标检测简介 2 lmdb数据制作 2.1 VOC数据制作 2.2 lmdb文件生成 lmdb格式的数据是在使用caffe进行目标检测或分类时,使用的一种数据格式.这里我主要以目标检测为 ...

  3. i7-9700也能安装Windows7

    商家说,i7-8700以上不支持Win7,只能安装Win10.我在手机网上也看过同样的说明,是微软与Intel联合行动,意在强迫用户升级到Win10.文章后面有,并不是不能装win7,是没有提供win ...

  4. Nginx下HTTP强制重定向至HTTPS

    Nginx下HTTP强制重定向至HTTPS 对于nginx来说,配置http强制重定向至https有多种多样的写法.可以直接rewrite,也可以用301重定向.但是直接拷贝网上的配置往往会出现问题, ...

  5. HTML的标签认识

    <!--      html标签     h1~h6 标题标签(只有1~6,依次减小)     p 段落标签     span 无意义的行标签     div 无意义的块标签     b 加粗 ...

  6. Excel 如何做不定长区间汇总统计

    第一步:创建数据-区间 辅助表(注意:首列值必须以升序排列,为后面vlookup模糊匹配做准备) 第二步:用vlookup模糊匹配生成一个新的“金额区间”字段 第三步:以“金额区间”字段为行透视汇总

  7. ubuntu windows mutual remote control

    Win10 remote control Ubuntu18 Part1.ubuntu settings 1.安装所需组件 sudo apt-get update //若没有desktop sharin ...

  8. nginx实现内网服务唯一端口外网映射

    2.1         内网服务唯一端口外网映射 (一)       组网图 (二)       简要说明: 如标题所示,该功能可以实现内网环境下所有服务端口通过nginx的正向代理通过唯一端口映射至 ...

  9. IIS部署.net core网站

    1 安装   Windows8.1-KB2999226-x64 2 安装 DotNetCore.1.0.4_1.1.1-WindowsHosting http://download.microsoft ...

  10. React躬行记(15)——React Hooks

    Hook(钩子)是React v16.8新引入的特性,能以钩子的形式为函数组件附加类组件的状态.生命周期等特性.React的类组件有难以拆分.测试,状态逻辑分散,难以复用等问题,虽然可以通过渲染属性( ...