Python问题集锦

目录
  1. 1. sudo pip 和 pip 的区别
  2. 2. None
  3. 3. 用逗号连接变量会转换成元祖

sudo pip 和 pip 的区别

sudo pip是安装到系目录,所有用户都能使用sudo pip安装的程序
pip是安装到当前用户的主目录,只有当前用户才能使用
另外pip3是安装到python3对应的目录,pip是安装到python2对应的目录

None

0 值的整型 / 浮点型、空字符串('')、空列表([])、
空元组((,))、空字典({})、空集合(set())都等价于False,但是不等于None。

用逗号连接变量会转换成元祖

1
2
3
4
5
def redirect_back(default = 'hello',**kwargs):
for target in request.args.get('next'),request.referrer:
if target:
return redirect(target)
return redirect(url_for(default,**kwargs))

在Flask书上看到这么一个函数:redirect_back()的作用是跳转到上一页,如果target存在则跳转到target,否则跳转到默认的hello视图函数。
看到第二行的for循环有点疑惑,为什么for循环的后面有个逗号?实际上,这个逗号的作用是把request.args.get('next')request.referrer组合成一个元祖,然后遍历这个元祖中的元素,也就是target。