类的基础介绍

来源:互联网 发布:网络米虫是什么意思 编辑:程序博客网 时间:2024/06/07 00:04

  • 1类名
  • 2属性
  • 3方法def 方法名selfargs

1、类名:

命名规则:大驼峰
两种类:
经典类

class 类名:    方法列表

* 新式类:*

class 类名(object):    方法列表

2、属性:

对象直接添加属性:

# 定义类class Cat(object):    def soud(self):        print ("喵~~~~")# 创建一个对象,并用变量cat1来保存它的引用cat1 = Cat()# 给这个对象添加属性cat1.color = '白色'cat1.foot_num = 4# 猫的行为cat1.soud()  #喵~~~~print cat1.color   #白色

__init__设置属性: 创建对象后,python解释器默认调用init()方法;

class 类名(object):    def __init__(self):        # 各个属性        self.属性名 = 属性值
  • init(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么除了self作为第一个形参外还需要2个形参
  • init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
  • 理解self:就是du对象本身。—-某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
    python的魔法方法:方法名如果是_xxxx_()的,那么就有特殊的功能,因此叫做“魔法”方法;
    当使用print输出对象的时候,只要自己定义了_str_(self)方法,那么就会打印从在这个方法中return的数据

保护对象的属性—–避免非法设置属性值
如果有一个对象,当需要对其进行修改属性时,有2种方法
* 对象名.属性名 = 数据 —->直接修改
* 对象名.方法名() —->间接修改

class Cat:    def __init__(self,name):        self.name = name        self.age = 1cat2 = Cat('小阿布')# 修改属性cat2.age = -2  # 这明显是不符合规则的

为了更好的保存属性安全,即不能随意修改,一般的处理方式为
* 将属性定义为私有属性self.__name = name
* 添加一个可以调用的方法,供调用

class Cat:    def __init__(self,name):        self.name = name    def set_age(self, new_age):        if age > 0 and age < 50:            self.age = new_age        else:            self.age = 0    def get_age(self):        return self.age# 创建对象cat2 = Cat('小怂')cat2.set_age(-10)print cat2.get_age()   # 0cat2.set_age(5)print cat2.get_age()   # 5

* 如果在属性名前面加了2个下划线’__’,则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。*

3、方法:def 方法名(self,args,…):

私有化方法__方法名(self,args,kwrg): 不能直接被调用,可用:对象._类名__方法名(参数) 进行调用

应用: 实际工作中,有时候需要调用一些需要经过验证的接口

这里写图片描述

还有一些高级点的方法在下一章介绍

原创粉丝点击