面向对象初识

面向过程式编程:

1.重复代码多

2.可读性差

函数式编程:

1.重复代码少

2.可读性强

面向对象:

1.类是一组具有相似功能的集合,使代码的组织结构更加清晰和规范化

2.要具有上帝的思维,用面向对象设计程序,类是一个公共模板,对象去操作使用这个模板

类是具有相似功能和属性的一类事物

类的结构:

class 类名(首字母大写):

  第一部分:静态属性(属性,变量,静态字段)

  第二部分:动态属性(方法,函数)

class Human:
    mind = '有思想'                     #静态属性
    language = '语言'
    shape_list = ['四肢','五官']
    def work(self):                      #方法
        print('工作')
    def eat(self):
        print('吃饭')

从类名的角度进行操作:

 1.查看类中的所有内容

  print(类名.__dict__)    以字典的形式返回

2.万能的点  .   

Human.emotion = '有情感'            #
del Human.language                 #
Human.mind = '无脑的'               #
print(Human.shape_list)            #

3.代码中除去静态方法和类方法,一般不用类名去执行类中的方法

对象

类的具体体现,具体到一个对象

类名()    实例化过程,产生一个对象

class Human:
    mind = '有思想'                   
    language = '语言'
    shape_list = ['四肢','五官']
    def __init__(self,name,sex,age):
        self.n = name
        self.s = sex
        self.a = age
    def work(self):                   
        print('工作')
    def eat(self):
        print('吃饭')
obj = Human('alex','',18)     #实例化对象            
print(obj.__dict__)

实例化对象发生三步:

1.在内存中开辟一个对象空间

2.自动执行__init__方法,并将对象空间传给self

3.执行__init__的代码,给对象空间封装属性

从对象的角度操作类:

1.对象查看对象空间的所有属性

  print(obj.__dict__)  

2.对象操作对象空间的属性--万能的点  .

obj.h = 180                 #
del obj.n                   #
obj.s = ''                 #
print(obj.a)                #

 3.对象查看类中的静态属性,注意只能查看

print(obj.mind)

4.对象调用类中的方法,就会将对象空间自动传给方法的第一个参数self

补充:

self :类中的所有方法(类方法,静态方法)的第一个参数,都会默认接收对象空间,所以为了方便和区分,把第一个参数约定俗成为self

一个类可以实例化多个对象

原文地址:https://www.cnblogs.com/sandy-123/p/10314885.html