Python——oop02

1.对于类的函数有绑定类函数和非绑定类函数

     self在对象的方法中表示当前对象本身,如果通过对象调用一个方法,那么该对象会自动传入到当前方法
 的第一个参数中 
      self并不是关键字,只是一个用于接受对象的普通参数,理论上可以用任何一个普通变量名代替
方法中有self形参的方法成为非绑定类的方法,可以通过对象访问, 没有self的是绑定类的方法,
只能通过类访问
    使用类访问绑定类的方法时, 如果类方法中需要访问当前类的成员,可以通过 __class__成员名来访问

2.类属性和对象属性是由区别的,对于一个类属性,他不是在函数里面定义的,他在类里面,函数外面定义的,改变它的方法有两个,第一个:普通成员函数里面使用__class__.(这里填写雷属性)=(这里填写赋的新值)第二个是:写一个类函数,比普通函数在前面多一个@classmathod,注意类函数他的第一个参数是cls,可以通过类名或者是对象名来调用

给上一段代码

class fun():
    name='luojianyi'
    def say(self):
        __class__.name='xiaoyihao'#这个是在普通函数类绑定函数或者是


    def asyagain():
        print("kdhfldsh")

    @classmethod
    def change(cls):
        print("djfksfa")

a=fun()
fun.asyagain()
a.change()
fun.change()

3.对于查看类或者是对象的属性可以使用__dict__

a=fun()

print(a.__dict__)
print(fun.__dict__)

这样打印的出来的是字典,采用键值对的方式告诉你,这个类或者是对象里面有什莫


4.类的继承

class Person():
   def sleep(self):
       print("我要睡觉了")


class Teacher():
    def sleep(self):
        print("在睡觉之前我还要比改作业")
        #子类在重写父类哈那束的时候也是可以调用父类函数的
        Person.sleep(self)#这样可以调用父类函数,单数要把当前这个对象传给父类函数
        #就是子类对象可以冒充父类,但是父类不可以冒充子类
        #打一个比喻就是,人可以冒充动物,但是党务不能冒充人


t=Teacher()
t.sleep()

5.关于super的用法


class Person():
   def sleep(self):
       print("我要睡觉了")

   def do(self):
        print("我会做好多事情")


class Teacher(Person):
    def sleep(self):
        print("在睡觉之前我还要比改作业")
        #子类在重写父类哈那束的时候也是可以调用父类函数的
        Person.sleep(self)#这样可以调用父类函数,单数要把当前这个对象传给父类函数
        #就是子类对象可以冒充父类,但是父类不可以冒充子类
        #打一个比喻就是,人可以冒充动物,但是党务不能冒充人
        super().sleep()#这样也可以调用父类,推荐使用这一种,这种调用方法,他会自己将对象传入父类


class old_teacher(Person):
    def __init__(self):
        super().do()#对于super的用法不只是追溯到自己的父类,弗雷德父类也可以



t=Teacher()
t.sleep()
t1=old_teacher()

super不是关键字,他是一个类,你可以打印他的类型。

6.介绍一下pycharm中使用的小技巧

    1.多行注释和取消多行注释  按住Ctrl键和问号键就可以

    2、pycharm使多行代码同时缩进


   鼠标选中多行代码后,按下Tab键,一次缩进四个字符


    3、pycharm使多行代码同时左移


  鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符


猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/80298994