1、‘dir’内置函数

Python对象几乎是无所不在的,我们之前学习的变量数据函数 都是对象

提示 __方法名__ 格式的方法是Python 提供的内置方法/ 属性,稍后会给大家介绍一些常用的内置方法/ 属性

| 序号| 方法名| 类型| 作用|
| 01 | __new__ | 方法| 创建对象时,会被自动 调用|
| 02 | __init__ | 方法| 对象被初始化时,会被自动 调用|
| 03 | __del__ | 方法| 对象被从内存中销毁前,会被自动 调用|
| 04 | __str__ | 方法| 返回对象的描述信息print 函数输出使用|

2、定义简单的类“只包括方法”

  • Python 中要定义一个只包含方法的类,语法格式如下:
    class 类名:
      def 方法1(self, 参数列表):
          pass
      def 方法2(self, 参数列表):
          pass
    
  • 方法 的定义格式和之前学习过的函数 几乎一样* 区别在于第一个参数必须是self,“self”相当于c++中的this指针

3、构造/析构/强制转换函数

作用就是初始化参数呗!python与c++不同,参数不需要声明,只需要初始化就可以。

class Cat:
    def __init__(self,new_name):
        self.name = new_name
    def __del__(self):
        print("%s爬走了" % self.name)
    def __str__(self):
        return self.name
tom = Cat("tom")
print(tom.name)

tip:身份运算符is
is 是判断两个标识符是不是引用同一个对象
x is y,类似id(x) == id(y)
is not 是判断两个标识符是不是引用不同对象
x is not y,类似id(a) != id(b)

4、私有成员

类似c++中的private

  • 在实际开发中,对象某些属性或方法 可能只希望在对象的内部被使用,而不希望在外部被访问到*
    私有属性 就是对象 不希望公开的属性*
    私有方法 就是对象 不希望公开的方法
    定义属性或方法时,在属性名或者方法名前 增加两个下划线,定义的就是私有 属性或方法

总结:

class Cat:

    def eat(self):
        print("吃吃吃吃吃")

    def sleep(self):
        print("睡睡睡睡睡")
    def __init__(self,new_name):
        self.name = new_name
    def __del__(self):
        print("%s爬走了" % self.name)
    def __str__(self):
        return self.name
    def __lock(self):
        print("%s 被关进小黑屋" %self.name)
    def lockk(self):
        self.__lock()
tom = Cat("tom")
tom.eat()
tom.sleep()
print(id(tom))
print(tom)
tom.lockk()