1.python只要没有出错就执行下去,出错了才会报错
def fun(): printfff("kbflkv") #这段代码不会报错,因为我们没有调用这个函数
2.del的用法
class fun(): age=19 def __init__(self): self.name="罗建义" def read(self): print("我会读书") a=fun() print(a.age) del fun.age#del语句可以删除类和对象的属性 # print(a.age) a.read() # del a.read()不可以删除类里面的函数
# class fun(): # age=19 # def __init__(self): # self.name="罗建义" # @property # def read(self): # print("我会读书") # # # a=fun() # # del a.age 对象不可以删除类的属性 同样类也不可以删除对象的属性 你可以打印一下__dict__ # print(a.age)
3.
- 抽象类:包含抽象方法的类叫抽象类,通常成为ABC类
- 抽象类的使用
- 抽象类可以包含抽象方法,也可以包含具体方法
- 抽象类中可以有方法也可以有属性
- 抽象类不允许直接实例化
- 必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法
- 假定子类没有是现实所有继承的抽象方法,则子类也不能实例化
- 抽象类的主要作用是设定类的标准,以便于开发的时候具有统一的规范
import abc #声明一个类并且指定当前类的元类 class Human(metaclass=abc.ABCMeta): # 定义一个抽象的方法\n" @abc.abstractmethod def smoking(self): pass # 定义类抽象方法\n", @abc.abstractclassmethod def drink(): pass # 定义静态抽象方法\n", @abc.abstractstaticmethod def play(): pass def sleep(self): print("我在睡觉")
4.组装类
def say(self): print("saying...") class fun(): pass fun.say=say t=fun() t.say()
上面是一个组装类
下面几串代码会让你更加深刻的了解到,这个用法
扫描二维码关注公众号,回复:
903140 查看本文章
#上面相当于组装了一个类 #原理 def say(name): print("来一发嘛{}".format(name)) say("罗建义") liumang=say#函数名可以这样传递 liumang("luojianyi")
def say(): print("saying...") class fun(): pass fun.say=say#这样组装会出错,没有参数接受self t=fun() t.say()
from types import MethodType def say(self): print("saying...") class fun(): pass t=fun() t.say=MethodType(say,fun)#这个样子是绑定在实例上的 t.say() # it=fun() # it.say()#所有在在这个实例下没哟那个方法
5.还可以使用type来组装一个类
def say(self): print("saying.......") def play(self): print("playing.....") fun=type('fun',(object,),{"csay":say,"cplay":play}) a=fun() a.csay() a.cplay()
type会返回一个类
type里面有三个参数,第一个参数是类的名称;(但是我不知道这个名称有什么用处,可以在双引号里面啥都不写,以后知道了我会回来修改的)
第二个参数就是要继承的父类,以元组的方式
第三个参数是一个字典,写出类里面的各个属性