format和urlencode的使用对比

一:format的基本语法使用

基本语法是通过 {} 和 : 来代替以前的 

format 函数可以接受不限个参数,位置可以不按顺序。

例如:

>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

二:urlencode的使用

urlencode是一种编码,它不是加密方式

url转义是为了符合url的规范,因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

URLEncode就是将URL中特殊部分进行编码。URLDecoder就是对特殊部分进行解码。

 
因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的

譬如:你要传的字符串数据时name=lisi&wangwu  这里的lisi&wangwu是一个字符串  但是服务器只会将lisi识别出来

所以要用到urlencode对这个字符串进行编码

三:案例显示

如果将:info = {'k1':'v1','k2':'v2'} # 转换k1=v1&k2=v2

用for循环和format实现:

info = {'k1':'v1','k2':'v2'} # 转换k1=v1&k2=v2
l=[]
for k,v in info:
    # print('{}={}'.format(k,v))
    l.append('{}={}'.format(k,v))
print(l)
res='&'.join(l)
print(res)

输出〉 k1=v1&k2=v2

用urlencode实现

from urllib.parse import urlencode
info = {'k1':'v1','k2':'v2'}
print(urlencode(info))

输出〉 k1=v1&k2=v2