沉铝汤的破站

IS LIFE ALWAYS THIS HARD, OR IS IT JUST WHEN YOU'RE A KID

python-类

0x01 创建和使用类

创建一个类

感觉大同小异吧

#pig.py
class Pig():
    """模拟懒🐖的尝试"""
    
    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age
   	
    def sleep(self):
        """模拟懒🐖睡觉"""
        print(self.name + " is sleeping")
     
    def eat(self):
        """模拟懒🐖吃东西"""
		print(self.name + " is eating")

值得注意的是, 不要把 形参self忘记哦

创建一个实列

这一部分没什么好讲的,

0x02 继承

子类的方法__init__

class Pig():
	def __init__(self, name, age):
  
class FatPig(PIg):
    def __init__(self, name, age):
        super().__init__(name, age)
        self.sex = 'male' #子类特有的

重写

和别的语言差不多,就不讲了

将实例用作属性

感觉就是C++里面的组合,就是把另一个类作为自己的属性

class SleepTime():
    #....

   
class Pig():
    def __init__(self, name, age):
        #..
        self.sleeptime  = SleepTime()

0x03 导入类

和导入模块差不多

导入单个类

from One_Py_File import OnePyClass

导入多个类

from One_Py_File import OnePyClass, TwoPyClass 

导入整个模块

import One_Py_File #这样导入使用函数或者类的时候记得加“.”

导入模块中的所有类

from xx import *  #这种偷懒的做法是不好的,可能带来冲突

在一个模块中导入另一个模块

# 一个模块 a.py
class xx():
    #..
#另一个模块 b.py
from a import xx

class yy():
#另另一个模块 c.py
from a import xxx
from b import b