python类基本方法

总论:

  1. 是什么
    类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。不能被直接操作,只有被实例化为对象时,才会变得可操作。类的实例称为对象;
    属性:就是属于一个对象的数据或者函数,我们可以通过句点(.)来访问属性;
    类实例:用类创建对象称为实例化;
    类中函数称方法;
    方法重载:是在一个类里面,方法名字相同,而参数不同。返回类型呢?可以相同也可以不同。方法重载是让类以统一的方式处理不同类型数据的一种手段;
    方法重写、方法覆盖:类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写;
    init_():称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法;
  2. 能干什么
    主要是为了实现高效的编写;
    可以编写表示现实事物和场景的类,并基于类创建实例;
    类提供了一种组合数据和功能的方法;
  3. 实现语法
    关键词class;
    init()的形参self必不可少,当调用时self自动传入(self代表类的实例,不需要实例传入),并与类相关的方法调用都自动传递self;
  4. 约定:
    python约定类的创建名称首字母大写
class Cat():  #名称约定(非必须)首字母大写,括号中为父类(默认为object,后面会涉及)无可省去括号
    def __init__(self, name, age):
    	#此处一般为文档字符串
        self.name = name    #初始化属性
        self.age = age

    def call(self):
        print(self.name + " saying miao")
A_Cat =Cat("Black", 18)     #实例化
A_Cat.call()    #调用实例方法

定义方法即实现

序号特殊方法/说明调用
1_dict_/类的属性(包含一个字典,存储所有实例成员信息)如print(Cat._dict_)
2_doc_ /打印类的描述信息,第一个没有赋值的字符串就是说明文档,一般在class的第二行写以下类似
3_module_/表示当前操作的对象在那个模块
4_class_/表示当前操作的对象的类是什么
5_del_/当对象在内存中被释放时,自动触发执行
6_call__/对象后面加括号,触发执行
7_dict_/查看类或对象中的所有成员
8_getitem_/获取(自动触发)
9_setitem_/设置(自动触发)
10_delitem_/删除数据,del自动触发
  1. 属性操作:
    getattr(obj, name[, default]) : 访问对象的属性。
    hasattr(obj,name) : 检查是否存在一个属性。
    setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。
    delattr(obj, name) : 删除属性。
    _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

  2. name
    模块是对象,并且所有的模块都有一个内置属性 name。一个模块的 name 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, name 的值将是一个特别缺省"main"。
    name__就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是__main,通过if判断这样就可以执行“mian:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“mian:”后面的内容。

  3. 私有变量
    __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

  4. 私有方法
    在模块中用__funcname(两个下划线)定义的函数,可在dir(classname)不能用正常方式获取(只是用于说明此方法为私有方法),但可以用"实例._classname__funcname()调用方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值