对象是由characteristics和actions定义
image.png
图中, 店员是一个对象, 这个对象有一些characteristic例如Name, address, phone number和hourly pay. 这个对象也包括一些actions例如销售商品等.
图中, T-shirt作为商品也是一个对象, 它包括一些characteristic例如color, size, styly, price. 它也包括一些actions例如改变价格.
- characteristics和actions在英语中的解释
另一种理解characteristics和actions的方法是, 通过英语本身对二者的语法成分, 其中, characteristic是名词, 另一方面, action是动词.
通过现实中的例子, 例如狗, characteristic是狗的身高, 颜色, 高度等. 所有这些都是名词. actions, 对于狗来说, 例如狗叫的过程, 狗撕咬的过程, 或者吃东西的过程, 所有这些都是动词.
image.png
image.png
类, 对象, 方法, 属性
对于面向对象编程中, 上面所提到的characteristic, 在其中指的是attributes(属性), 而actions指的是方法(method)
面向对象编程(OOP)词汇表类
- 由方法和属性对象组成的蓝图
- 类的实例。它可以帮助将对象视为现实世界中的某些东西,如黄色铅笔,小狗,蓝色衬衫等。但是,正如您将在本课后面看到的那样,对象可能更抽象。
- 属性 - 描述符或特征。示例可以是颜色,长度,大小等。这些属性可以采用特定的值,如蓝色,3英寸,大等等
- 方法 - 类或对象可以采取的操作
- OOP - 面向对象编程的常用缩写封装
- 面向对象编程背后的基本思想之一称为封装:您可以将函数和数据全部组合到一个实体中。在面向对象的编程中,这个单个实体称为类。 Encapsulation允许您隐藏实现细节,就像scikit-learn包隐藏机器学习算法的实现一样。
在英语中,您可能会听到描述为属性,描述,特征,质量,特征或特征的属性。所有这些都说同样的话。以下是对类,对象,属性和方法如何相互关联的reminder。
image.png
image.png
函数和方法
函数和方法很类似, 都是用def关键词, 他们同时都包含输入和输出, 不同之处是方法实在类中, 而函数是在类之外.
- 类的命名首字母大写
- 类名称后可以加括号, 也可以不加
- 初始化所有属性使用合适的值
- self存储这些属性例如color, size, 是这些属性贯穿整个类
- self 本质上式一个字典, 拥有所有的属性和属性对应的值
- self总是出现在各个方法中, 如果想获得相关属性的话
- 实例化过程, python会首先调用
__init__函数
class Shirt:
def __init__(self, shirt_color, shirt_size, shirt_style, shirt_price):
self.color = shirt_color
self.size = shirt_size
self.style = shirt_style
self.price = shirt_price
def change_price(self, new_price):
self.price = new_price
def discount(self, discount):
return self.price * (1 - discount)
self是什么
如果你初始化两个对象, 那么python 是如何区分二者呢?
shirt_one = Shirt('red', 'S', 'short-sleeve', 15)
short_two = Shirt('yellow', 'M', 'long-sleeve', 20)
对于上述的问题, self便是这个问题的关键所在, 如果你调用change_price方法在shirt_one, 那么python如何知道去改变shirt_one还是shirt_two的价格呢?
shirt_one.change_price(12)
python调用change_price方法
def change_price(self, new_price):
self.price = new_price
self告诉python去寻找内存中的shirt_one对象, 然后, python改变shirt_one的价格, 当调用change_price方法时,shirt_one.change_price(12), self以一种隐藏的方式传入, 以至于change_price函数可以获得self在init中存储的属性
使用面向对象方法构建一个python包
TODO
构建一个包用于分析高斯分布, 包含如下功能:
- 读入数据集
- 计算均值
- 计算标准偏差
- 绘制直方图
- 绘制概率分布函数
- 结合两个高斯分布
回顾高斯分布和二项分布
image.png
image.png
Further Resources
If you would like to review the Gaussian (normal) distribution and binomial distribution, here are a few resources:
This free Udacity course, Intro to Statistics, has a lesson on Gaussian distributions as well as the Binomial distribution.
This free course, Intro to Descriptive Statistics, also has a Gaussian distributions lesson.
Here are the wikipedia articles:










网友评论