Python 自学笔记----1.1实例与封装
Python 自学笔记----1.1实例与封装
- 背景描述
- 封装
- 类
- 实例
- 总结
- 代码地址
- 感悟
背景描述
初次了解了类与对象后,就可以深入学习一些面向对象的特性了:封装,继承,多态之
封装
类
首先还是需要从类开始,一下是劳模类:平面图形.这次稍作修改,删除了获取对象名字的方法,改成了’封装好了’的获得图形边数的方法,嗯,虽然,确实,真的封装的比较生硬,见谅:
class PlaneFigure(object):def __init__(self, name_input): # 此处的 init 两侧有两个下划线self.name = name_input# 封装,在此处封装了判断边的方法,对外界来说不需要知道计算过程,只需要# 输入名字比如'三角形',就可以得到这个平面图形有三条边# 注:这里封装了,照抄就行,不需要知道过程是什么原理嗯~ o(* ̄▽ ̄*)odef get_sides_number(self):# 知道下也不是坏事:# == 表示判断两边是否相等# if 后面的语句计算结果如果是成立的,就执行冒号后面缩进的语句块if self.name == '三角形':print(self.name, '有三条边')
实例
这次新建一个三角形的实例对象,对象的变量名的主要作用就是做内存地址的’助记符’,指向了内存地址
# import class
from bCapsulation.PlaneFigure import PlaneFiguretriangle = PlaneFigure('三角形')# 打印一下类和变量
print('PlaneFigure is ', PlaneFigure, ';\nand triangle is ', triangle)
运行结果为:
PlaneFigure is <class 'bCapsulation.PlaneFigure.PlaneFigure'> ;
and triangle is <bCapsulation.PlaneFigure.PlaneFigure object at 0x0000021749B17550>
这里可以看到 PlaneFigure 是一个 class 类,全名叫’aClassAndInstance.PlaneFigure.PlaneFigure’
triangle 是一个指向内存地址为 ‘0x0000021749B17550’
的平面图形类的一个实例变量
然后运行下封装好的获得平面图形边数的方法
# 不需要知道过程就能得到三角形有三条边的结果
triangle.get_sides_number()
控制台’自动’输出了
三角形 有三条边
总结
以上的总体过程,对外界来说就是,使用者只需要告诉程序,这是个平面图形类的三角形对象,然后向程序发出请求:‘告诉我这个图形的边数’,程序就会返回边数,中间的过程对外界都是不见的,也就是把这些对外界无关紧要的内容’封装了起来’,也就是面向对象的封装性.
代码地址
https://github.com/Wsdady/LearnPython
感悟
'从面向对象开始’这个坑感觉真的有点坑啊(think in java 作者真强,仰望),这个 == 和 if 语句一出来我都有点心虚,零基础的真不能这么玩,嗯,应该是我水平还不到家吧,不过既然这么干了硬着头皮也试水到底,谢谢大家的支持!
–by Libor B. Lodestar 名远
2019.05.16
Python 自学笔记----1.1实例与封装相关推荐
- python自学笔记15之实例之绘图、dataframe操作、读写csv,excle
用Python绘图,借助强大的numpy和matplotlib import numpy as np import matplotlib.pyplot as plt import pandas as ...
- 尚硅谷Python自学笔记
文章目录 尚硅谷Python自学笔记 计算基础知识 进制 文本文件和字符集 Python介绍 Python入门 Pytho基本语法 数值 字符串 对象(Object) 对象的结构 算数运算符 条件判断 ...
- Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高
Python自学笔记6:实操案例三(十进制转换二.八.十六进制),手机充值,计算能量消耗,预测未来子女身高 杨淑娟老师网课传送门(非广告):https://www.bilibili.com/video ...
- Python自学笔记——视频课程来自小甲鱼零基础入门学习python
Python自学笔记 细枝末节 / 浮点除 // 地板除 字符串 apitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) ...
- Python自学笔记9:实操案例六(千年虫,购物流程)
Python自学笔记9:实操案例六(千年虫,购物流程) 网课传送门:第155,156讲,https://www.bilibili.com/video/BV1Sw411Z779?p=155 1.千年虫 ...
- 字节跳动大佬的Python自学笔记.pdf
1. 字节跳动大佬的Python自学笔记 这是我的一个朋友自学资料包,通过这个资料包自学拿到了字节跳动的Offer, 下面是他之前入门学习Python时候的学习资料,非常全面,从Python基础.到w ...
- Python 自学笔记(教程)(七)
Python 自学笔记(教程)(七) 代码 代码讲解 import time time.sleep() random random.randint() % 传送门 代码 今天的笔记很简单,就用课程作业 ...
- 【Python自学笔记】报错No module Named Wandb
[Python自学笔记]已经装了wandb,还报错No module Named Wandb 方法1.重启cmd和jupyter notebook 直接把窗口和cmd页面全关了,重新打开,再次运行安装 ...
- python自学笔记
https://www.cnblogs.com/secondtonone1/p/6796323.html 恋恋风辰 python自学笔记(一) 我没学过python,通过网上和一些图书资料,自学并且记 ...
最新文章
- OpenAI解散机器人团队,曾试图造AGI机器人,创始人:最好的决定
- 轻快的VIM(五):复制
- rocketmq 消息指定_详解RocketMQ不同类型的消费者
- Python入门100题 | 第080题
- 从思维导图学习操作系统(二)
- python timeout_decorator_使用timeout-decorator为python函数任务设置超时时间
- 美股周一暴跌触发熔断:苹果、特斯拉股价大跌
- Mybatis 二级缓存简单示例
- 关于IE6,7下面的一些兼容性问题
- MySQL-第十篇多表连接查询
- CSDN如何开启版权声明
- 什么叫python爬虫-终于知道python爬虫是什么意思
- 现汇买入价/现钞买入价/卖出价/基准价/中行折算价的概念
- 打开新材料世界的大门:拓扑电子材料目录问世
- 从 0 开始搭建 Hexo 博客
- css如何将div画成三角形
- 科技赋能拉萨之“肺”,华为助力拉鲁湿地智慧管理守护绿水青山
- 09_NorFlash驱动
- 从零开始学黑苹果-基础安装教程(10.11.6)
- 测试工程师面试题,你都遇到过哪些呢?