面向对象(OOP)概念
面向过程:早期的编程概念,类似于函数,但只能执行,没有返回值,将功能独立的代码封装成一个个函数,最后顺序地调用不同的函数
函数式编程:不仅能执行,还可以返回结果
面向对象: 面向对象是更大的封装,根据职责在一个对象里封装多个方法,顺序地让不同的对象调用不同的方法
类和对象
类和对象是面向对象编程的两个核心概念
类是一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用,特征被称为属性,行为被称为方法
类相当于一个一个模板,是负责创建对象的
对象是类创建出来的一个具体的存在,可以直接使用,由什么类创建的对象,就拥有那个类中定义的属性和方法
在程序开发中,先有类再有对象
先定义类:
class Student (object):
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex
    def student_name(self):
        return ‘my name is {}‘.format(self.name)
    def student_sge(self):
        return ‘my age is {}‘.format(self.age)
    def student_sex(self):
        return ‘i am a {}‘.format(self.sex)
再创建对象:则创建的对象就都有了这个类的属性和方法
new_student = Student(‘jia‘, 12, ‘boy‘) print(new_student.student_name())
new1_student = Student(‘jia‘, 12, ‘boy‘)
print(new1_student.student_name())
私有属性和私有方法
对象的某些属性或方法,可能只希望在对象内部被使用,不希望在外部被访问到,,私有属性和私有方法
定义方式:在定义属性和方法时, 在属性和方法前增加两个下划线,定义的就是私有属性或方法。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | classWomen:    def__init__(self, name):        self.name =name        self.__age =18    def__secret(self):        print(‘我的年龄:{}‘.format(self.__age))student1 =Women(‘贾‘)# print(student1.__age)  # 由于是私有属性,所以不能在外部访问# student1.__secret()  # 私有方法,也不能在外部访问# print(student1._Women__age)  # 其实定义的私有方法/属性,是伪私有方法/属性,可以通过# student1._Women__secret()    # 在调用的时候在被调用的方法/属性前加  _类名  ==》 _类名__名称,进行访 | 
原文:https://www.cnblogs.com/2987831760qq-com/p/10705325.html