[py]tornado form表单逻辑前戏

来源:互联网 发布:数据库权限管理制度 编辑:程序博客网 时间:2024/05/17 18:24

self的传递

怎么把一个类的属性传递给另一个属性?
下游的传递给上游的去执行,执行后返回结果供我来判断.
相当于一些功能交出去做,做了后返回状态给我.

第一种形式

class MainForm(object):    def check_valid(self,request):        print(request.name)class MainHandler():    def __init__(self):        self.name = "maotai"    def post(self):        obj = MainForm()        rest = obj.check_valid(self)m = MainHandler()m.post()

这里写图片描述

第二种形式

#!/usr/bin/env python# coding=utf-8class Fu:    def fushow(self, request):        print(request.name)class Zi(Fu):    passclass C:    def __init__(self):        self.name = "maotai..."    def post(self):        z = Zi()        z.fushow(self)c = C()c.post()

这里写图片描述

#!/usr/bin/env python# coding=utf-8class Fu:    def fushow(self, request):        print(request.name)  ## 访问C类字段        request.cshow()      ## 调用C类方法class Zi(Fu):    passclass C:    def __init__(self):        self.name = "maotai..."    def cshow(self):        print("c showing...")    def post(self):        z = Zi()        z.fushow(self)c = C()c.post()

仅打印子类对象的属性

class Fu():    def __init__(self):        self.fname = "fu name"class Zi(Fu):    def __init__(self):        self.zname="zi name"z = Zi()print(z.__dict__.items())## dict_items([('zname', 'zi name')])

继承了父类,相当于把父类的方法拿到子类来运行

self的传递条件

class Fu():    def check(self,request):        for k,v in self.__dict__.items():            print(k,v)class Zi(Fu):    def __init__(self):        self.zname="ziname"class C():    def post(self):        z= Zi()        z.check(self)  ## slef=Zi()的实例,但是这里self的传递必须依赖写在post方法里c = C()c.post()## zname ziname

如果传值了,优先使用传递的值,如果未传值,使用默认的

def show(name="maotai"):    print(name)show()show("maming")# maotai# maming
原创粉丝点击