码迷,mamicode.com
首页 > 编程语言 > 详细

python之路_面向对象相关知识点

时间:2018-03-05 23:37:18      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:func   url   mes   space   AC   user   属性   ini   col   

1、方法与函数的区别?

‘‘‘
class Foo(object):
    def __init__(self):
        self.name = ‘alex‘
    def func(self):
        print(self.name)
from types import FunctionType,MethodType

obj = Foo()
print(isinstance(obj.func,FunctionType))             # False
print(isinstance(obj.func,MethodType))               # True

print(isinstance(Foo.func,FunctionType))             # True
print(isinstance(Foo.func,MethodType))               # False
注意:
    方法,无需传入self参数;函数,必须手动传入self参数
‘‘‘

2、models对象相关查询

‘‘‘
例:model.UserInfo为models类
‘‘‘
    #(1)获取models类所在app名:model.UserInfo._meta.app_label
    #(2)获取models类的类名小写:model.UserInfo._meta.model_name
    #(3)获取models类中的字段内容:model.UserInfo._meta.get_field(‘username‘)
    #(4)获models类中字段的verbose_name:model.UserInfo._meta.get_field(‘username‘).verbose_name

3、用type创建类的实现

‘‘‘type创建TestModelForm类,参数分别为类名,继承类,类中属性‘‘‘

meta = type(Meta,(object,),{model:self.model_class,fields:__all__}) TestModelForm = type(TestModelForm,(ModelForm,),{Meta:meta}) #等价于 class TestModelForm(ModelForm): class Meta: model = self.model_class fields = "__all__"

4、反向生成url

#示例如下:namespace为名称空间,name为url别名

reverse("namespace:name")

 

python之路_面向对象相关知识点

标签:func   url   mes   space   AC   user   属性   ini   col   

原文地址:https://www.cnblogs.com/seven-007/p/8511772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!