一.print()和return 的区别
在这种情况下,执行得到的结果一致,很容易混淆print()和return;
def hum(a,b):
z=a+b
return z
hum(2,3)
#执行的结果为5
def hum(a,b):
z=a+b
print(z)
hum(2,3)
#执行的结果为5
而以下的代码得到的结果不同
def hum(a,b):
z=a+b
print(z)
print(hum(2,3))
#得到的结果是
5
none
def hum(a,b):
z=a+b
return z
print(hum(2,3))
#得到的结果是
5
回到函数本来的含义
- print():是执行打印结果,是执行;
- return:是返回结果,可以理解为只处理,不执行;
二.objects的get()和filter()区别:
- get是后续查询一定有对象,如果没有就会出错;
- filter是后续查询不一定有对象,是和集合,不是对象,如果要使用获取属性,必须要使用first()。
三.直接获取属性,和getattr();赋值和setattr();
getattr(objectsname,attr)
setattr(objectsname,attr,value)
最大的好处是attr可以使用string拼接后获取,直接拼接使用属性名并没能成功。