DW学习-Python基础10(类、对象)

1 类与对象

1.1 定义类

  • 定义:类最基本的作用就是封装代码
  • 语法:
    class 类名():
    	代码
    	......
    
  • 注意:类名要符合标识符命名规则,同时遵循大驼峰命名习惯。一般类名用大写字母开头,函数名用小写字母开头

1.2 定义类及方法调用

  • 顺序:先有,再有对象,用类去实例化一个对象。
  • 实例化:对象调用类的过程被称为实例化
  • 【例子】
class 类名():	# 定义类
	姓名=''	#变量
	年龄=0
	def 实例方法(self):
		print(f'你的名字是{self.姓名}')
		print(f'你的名字是{self.年龄}')
对象名=类名()	# 创建对象
对象名.实例方法()	# 实例化

1.3 类和对象的关系

  • 关系:通过实例化关联在一起的
  • 类:特征属性就是变量行为方法就是函数
    • 变量又分为类变量实例变量
  • 比喻:类好比一个模板,通过这个模板可以产生很多个不同对象
  • 以后会定义很多类,每个类名下的内容要放的是一类事物,否则就失去了面向对象的意义(如果装冰箱是一个类,砸冰箱就是另一个类)
    在这里插入图片描述

1.4 魔法方法(构造函数)

  • 魔法方法:在python中,_xx_()的函数叫做魔法方法,指的是具有特殊功能的函数。

1.4.1 类变量和实例变量

  • 类变量:和类关联在一起的变量
    • 类属性就i是类对象所拥有的属性,它被该类的所有实例对象所共有
    • 类属性可以使用类对象实例对象访问
    • 【例子】
    # 定义类属性
    class sds():
    	shs='雅典娜'
    	
    # 创建对象
    hj=sds()
    qt=sds()
    
    # 访问类属性:类和对象
    # 1.通过类访问 类.属性
    print(sds.shs)
    
    # 2.对象访问 对象.属性
    print(hj.shs)
    print(qt.shs)
    
  • 类属性的优点:
    • 1 记录的某项数据始终保持一致不发生改变时使用
    • 2 实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而类属性为全类所有,仅占用一份内存,更节省空间。
  • 实例变量:和对象关联在一起的变量
    • 语法:self.变量名
      在这里插入图片描述

1.4.2 修改类属性

  • 类属性只能通过类对象修改,不同通过实例对象修改。如果通过实例对象修改类属性。虽然语法没有报错,但是并没有修改类属性,而是创建了一个实例属性。
    【例子:通过类对象修改】
    在这里插入图片描述
    【例子,通过实例对象修改】在这里插入图片描述

1.4.3 初始化对象

  • 语法:_ _init_ _()
  • 作用:
    • 1 在创建一个对象时默认被调用,不需要手动调用
    • 2 _ init_(self)函数,不需要开发者传递,Python解释器会自动把当前的对象引用传递过去
    • 3 一个类可以创建多个对象,对不同的对象设置不同的初始化属性需要传参数
      在这里插入图片描述
  • 实例化对象
    • self:指的时调用该函数的对象【self=对象名】
    • 为什么不同的对象使用的是同一个self?
      • 由于打印对象名和打印self得到的内存地址相同,所以self指的是打印该函数的对象
      • 一个类可以创建多个对象,但是,self地址不同,因为不同的对象存储的地址不一样。
      对象名1=类名()
      对象名2=类名()
      

1.4.4 _ _str_ _()

  • 作用:当使用print输出对象时,默认打印这个对象的内存地址
  • 如果类定义了_ _ str_ _()方法,那么就会打印在这个方法中的return的数据.

1.5 小总结

在这里插入图片描述

2 继承

2.1 单继承与多继承

  • 继承的概念:如果两个类存在父子级继承的关系,子类即使没有任何的属性和方法,用子类继承了某一个父类,并且此子类创建了一个对象,那么这个对象就拥有父类当中的所有属性和方法的使用权。
    在这里插入图片描述
  • 【单继承】:
    class xt(object):
    def __init__(self):
        self.age=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值