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

Posted 骑猪走秀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之路_面向对象相关知识点相关的知识,希望对你有一定的参考价值。

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之路_面向对象相关知识点的主要内容,如果未能解决你的问题,请参考以下文章

Python自动化运维之路Day8基础篇之面向对象下篇

python 之路 面向对象

python之路——博客目录

python之路——博客目录

Python之路,Day8 - 面向对象编程进阶

Python之路第五篇:面向对象及相关