测试学习---python(六)

本文主要介绍了Python的面向对象编程,包括类和对象的概念,类的组成部分如类的抽象、封装,以及对象属性操作。详细讲解了__init__、__str__等魔术方法的用途,并通过web网页登录和封装案例来阐述面向对象的应用。
摘要由CSDN通过智能技术生成

测试学习—python(六)

面向对象

面向对象:注重结果,抽象出对象通过调用各种方法去实现(洗衣机)
面向过程:注重解决问题的过程,所有过程都要自己实现(手洗)

类和对象

  1. 类:抽象概念,多个事务的多个特征和行为相同或者相似事务的统称,类泛指多个而不是具体一个(苹果)
  2. 对象:具体存在的一个事务,看得见摸得着,特指的(指代一个)(张三嘴⾥正在吃的那个苹果)
  3. 类是对象的模板,类中可以包含多个对象
类的组成
  1. 类名(给这多个事务起一个名字,在代码重命名需满足大驼峰命名法即首字母大写)
  2. 属性(事务的特征)
  3. 方法(事物的行为)
类的抽象

类的抽象就是找到类的类名,属性和方法
在这里插入图片描述

面向代码的步骤
  1. 定义类,在定义之前设计类
  2. 创建对象,使用第一步定义的类创建对象
  3. 通过对象调用方法
面向代码的代码书写

封装

封装即定义类的过程
1. 定义类 class
方法的本质是再类中定义的函数,只不过第一个参数self

class 类名
#
   def 方法名(self):
  1. 创建对象
    变量=类名()
  • 一个类可以创建多个对象,只要出现 类名()就是创建一个对象,每个对象的地址是不一样的
    3.调用方法
    对象.方法名()

4.案例
需求:小猫爱吃鱼

class Cat:
     def eat(self): 
         print('爱吃鱼')
     def drink(self): 
         print('爱喝水')  
 blue_cat=cat()
 blue_cat.eat()
 blue_cat.drink()    
blackcat=cat()
blackcat.eat()    			 
    
self说明
  1. 从函数的语法上讲,self是形参
  2. self是普通形参,但是再调用的时候没有传实参值,原因是,python的解释器再执行代码的时候自动的将调用这个方法的对象传递给了self,self的本质是对象

对象属性操作

在类中self是对象

  1. 添加属性
  • 对象.属性名=属性值
  • 类内部添加
    self.属性名=属性值
    在类中添加属性一般写作__init__方法中
  1. 获取属性
  • 类内部
    self.属性名
  • 类外部
    对象.属性名

魔方方法

  1. 以__XX__,在满足某个条件的而情况下,会自动调用

__init__方法

  1. 创建对象后自动调用
  2. 作用:
  • 给对象添加属性
  • 某些代码,在每次创建对象之后都要执行,就可以将这行代码写在__init __方法
lass Cat:
    #定义添加属性的方法
    #__init__(self):创建对象才会调用的方法
    def __init__(self,name,age):
        self.name=name #添加name属性
        self.age=age#添加age属性
        #下方代码只是为了验证该方法被调用了
        print('我是__init__,我被调用了')
     #输出属性信息
    def show_info(self):
        print(f'小猫的名字是:{
     self.name},年龄是:{
     self.age}')

#创建对象,不要在自己的类缩进中创建
#Cat()
blue_cat=Cat('蓝猫',2)
blue=blue_cat#这里没有创建对象,引用是相同的所以blue也是对象
blue.show_info()

# 创建黑猫对象
black_cat=Cat('黑猫',2)

__str__方法

  1. 作用ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值