python :OOP 面向对象编程的基础,类,继承和多态

本文深入探讨Python的面向对象编程(OOP),包括类和对象的概念、面向对象的三大特性(封装、继承、多态)、类的实现、成员分析以及魔术方法。还介绍了anaconda的基本使用,类的成员描述符、内置属性和抽象类等关键概念。
摘要由CSDN通过智能技术生成

一、OOP 面向对象

  • 面向对象编程
    • 基础
    • 共有私有
    • 继承
    • 组合
  • 魔法函数
    • 魔法函数概述
    • 构造魔法函数
    • 运算类魔法函数

二、面向对象概述

  • OOP思想
    • 接触到任意一个任务,首先想到的是任务这个世界的构成,是由模型构成的
  • 几个名词
    • OO:面向对象
    • OOA:面向对象的分析
    • OOD:面向对象的设计
    • OOI:面向对象的实现
    • OOP:面向对象的编程
    • OOA>OOD>OOI:面向对象的实现过程

三、类和对象的概念

  • 类:抽象名词,代表一个集合,共性的事物
  • 对象:具体的事物,单个个体
  • 类和对象的关系
    • 一个是具象,代表一类事物的某一个个体
    • 一个是抽象,代表是一大类事物
  • 类中的内容,应该具有两个
    • 表明事物的特征,叫做属性
    • 表明事物功能或动作,叫做成员方法或函数

四、类的基本实现

  • 类的命名

    • 遵守变量明名的规范
    • 大驼峰
    • 尽量避免跟系统命名相似的命名
  • 如何声明一个类

    • 必须有关键字class
    • 类由属性和方法构成,其他不允许出现
    • 成员属性定义可以直接使用变量赋值,如果没有值,允许你使用None
  • 实例化

    • 变量=类名()
  • 访问对象成员

    • 使用点操作符
      • obj.成员属性名称
      • obj.成员方法
  • 可以通过默认内置变量检查类和对象的所有成员

    • 对象所有成员检查
      obj.__dict__
    • 类所有成员
      class_name.__dict__
  • 例如

      定义一个学生类,
      用来形容学生	
    
    	#定义一个空的类
    	class Student():    
    	#此处pass必须有    
    	pass
    	#定义一个对象
    	mingyue = Student()
    	class PythonStudent():    
    		#用NOne给不确定的值赋值    
    		name = None    
    		age = 18    
    		course = 'Python'
    		
    			def doHomework(self):        
    				print('I do homework')        
    				return None
    	#实例化一个叫yueyue 的学生,是一个具体的人
    	yueyue = PythonStudent()
    	print(yueyue.name)
    	print(yueyue.age)
    	yueyue.doHomework()
    	print(PythonStudent.__dict__)
    	class a():    
    		name = 'nana'    
    		age = 16
    		
    		def say(self):        
    			self.name = 'aaaa'        
    			self.age = 11
    			
    		print(a.name)
    		print(a.age)
    		print('*'*20)
    		print(id(a.name))
    		print(id(a.age))
    		print('*'*20)
    		#创建实例
    		b = a()
    		print(b.name)
    		print(b.age)
    		print(id(b.name))
    		print(id(b.age))
    		
    		#说明在不对对象属性赋值的前提下,类的属性和实例的属性指向同一个地址
    		b.name = 'sss'
    		b.age = 50
    		print(b.name)
    		print
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值