Python 面向对象基础

面向过程和面向对象的区别

1. 面向过程:根据业务逻辑从上到下写代码,随着时间的推移,开始使用了函数式编程,增强代码的重用性和可读性
2.面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程。同样去做一个很复杂的功能,用面向对象反而使其变得简单。
注:Java和C#来说只支持面向对象编程,而Python比较灵活即支持面向对象编程也支持函数式编程
类就是创建对象的模板,对象是使用类创建出来的,而且可以创建任意多个对象。
类(Class) 由3个部分构成类的名称: 1.类名  2.类的属性:一组数据   3.类的方法:允许对进行操作的方法 (行为)
拥有相同(或者类似)属性和行为的对象都可以抽像出一个类。  方法:一般名词都是类(名词提炼法)

#经典类class 类名: 方法列表

#新式类class 类名(object):  方法列表

创建对象的格式为对象名 = 类名()

 抽象的父类    如果看到一个父类只有方法的定义,没有功能的实现   抽象的父类
 第一次使用tom.name= '汤姆'表示给tom这个对象添加属性,如果后面再次出现tom.name= xxx表示对属性进行修改          tom是一个对象,它拥有属性(数据)和方法(函数)
类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,对于公有的类属性,在类外可以通过类对象和实例对象访问
如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。类名.属性=修改值
对象属性不会影响到类的属性,修改对象属性   对象名.属性=修改值
某个对象调用其方法时, Python解释器会把这个对象作为第一个参数传递给self.通俗的话讲,就是谁调用这个方法就是谁。
类的__init__()方法
1.当创建实例对象成功后,有Python解释器来调用该方法,这个方法不用我们手动调用;
2.创建实例对象是用__new__方法创建的,使用__new__创建实例对象后要记得返回.(又返回才会执行__init__) __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
class 类名:
    #初始化函数,用来完成一些默认属性的设定
    def __init__(self):
        pass
打印id()打印内存地址,两个对象的地址不一样,而且每次执行打印的地址也是不一样的
定义__str__()方法(可以显示自己的初始属性)
当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据.
set和get方法隐藏数据用这个方法设置属性值可以屏蔽非法值可以设置私有属性
  修改属性 
对象名.属性名 = 数据 ---->直接修改
对象名.方法名() ---->间接修改

猜你喜欢

转载自blog.csdn.net/xiaoming0018/article/details/80351176