面向对象编程基础
1、面向对象编程
把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class)
通过类的封装(encapsulation)隐藏内部细节
通过继承(inheritance)实现类的特化(specialization)和泛化(generalization)
通过多态(polymorphism)实现基于对象类型的动态分派。
2、类和对象
简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。
3、函数的写法
```python “”"
标识 函数名字 ():
有冒号就要缩进一个tab
在Python中所有的函数都有返回值,如果你没有给予return则默认返回出None,如果你给予了,则返回你给予的值
“”""
def funcName():
…
return …
“”"
标识 类名 () :
有冒号就要缩进一个tab
“”"
class className(object):
…
```python
"""
1.导入库, import 库名
2. for 循环,如果计数的情况则使用
开始 结束 不长
range的区间是一个前闭后开.
range(start,end,[step])
3. 格式化输出
3.1 %-->%(),%d后接整型,%f后接浮点,%s后接字符串.
3.2 {}-->format(),它可以直接传入任何类型,然后格式化输出.
4.print 控制台(terminal)打印
4.1 end 以什么方式结尾,默认以换行符"\n"
4.2 flush 刷新缓冲区.
"""
"""
类中的函数可以有自己的参数
当你想共享这个参数的时候,那么就打上"self"的印记.
"""
class A(object):
def __init__(self,a):
self.a = a
def B(self,b):
self.b = b
print(b)
def C(self):
print(self.b)
J = A(1000)
J.B(10)
J.C()
4、 定义类
# object 不是一个参数
"""
定义类只有两步:
1. 使用标识符class ClassName(object):
2. 重写__init__函数,但是需要记住,一定要打上一个"self"的标记
因为后面会学到继承,当在继承的时候可能就会有函数名相撞的情况.
或者说,类中会含有多个变量,多个函数,那么就需要使用"self"手段去区分.
3. 类的传参是在__init__函数中的.需要注意的是,如果你的参数可能被多个函数都使用,那么
你才在__init__函数中去定义参数
"""
class Student(object):
def __init__(self,name):
# 多个打印用","进行分隔.
print(name)
Student(100)
在Py