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
普通人!