字符串的小帮手之ascii()、str()和repr()函数
本文作者:俞诗琪
文字编辑:余术玲
技术总编:张 邯
In [1]: 'he was born in '+2019
结果:
TypeError: must be str,not int
In [2]: for num in 2019,2018,2017:
print('he was born in '+str(num))
结果:
he was born in 2019
he was born in 2018
he was born in 2017
In [3]: ascii(123456) #转换对象为数字
Out[3]: '123456'
In [4]: ascii("python") #转换对象为字符串
Out[4]: "'python'"
In [5]: ascii([2019,"pig"]) #转换对象为列表
Out[5]: "[2019, 'pig']"
In [6]: ascii({2019:"pig",2018:"dog"}) #转换对象为字典
Out[6]: "{2019: 'pig', 2018: 'dog'}"
In [7]: ascii("爬虫俱乐部")
Out[7]: "'\\u722c\\u866b\\u4ff1\\u4e50\\u90e8'"
In [8]: str(123456) #转换对象为数字
Out[8]: '123456'
In [9]: str("python") #转换对象为字符串
Out[9]: 'python'
In [10]: str([2019,"pig"]) #转换对象为列表
Out[10]: "[2019, 'pig']"
In [11]: str({2019:"pig",2018:"dog"}) #转换对象为字典
Out[11]: "{2019: 'pig', 2018:'dog'}"
In [12]: print(str("爬虫\n俱乐部"))
结果:
爬虫
俱乐部
In [13]: str('\u722c\u866b\u4ff1\u4e50\u90e8')
Out[13]: '爬虫俱乐部'
In [14]: repr(123456) #转换对象为数字
Out[14]: '123456'
In [15]: repr("python") #转换对象为字符串
Out[15]: "'python'"
In [16]: repr([2019,"pig"]) #转换对象为列表
Out[16]: "[2019, 'pig']"
In [17]: repr({2019:"pig",2018:"dog"}) #转换对象为字典
Out[17]: "{2019: 'pig', 2018:'dog'}"
In [18]: repr("爬虫\n俱乐部")
Out[18]: "'爬虫\\n俱乐部'"
In [19]: repr('\u722c\u866b\u4ff1\u4e50\u90e8')
Out[19]: "'爬虫俱乐部'"
程序 | 结果 |
print(ascii("爬虫俱乐部\n")) | '\u722c\u866b\u4ff1\u4e50\u90e8\n' |
print(str('\u722c\u866b\u4ff1\u4e50\u90e8\n')) | 爬虫俱乐部
|
print(repr('\u722c\u866b\u4ff1\u4e50\u90e8\n')) | '爬虫俱乐部\n' |
print(ascii('\u722c\u866b\u4ff1\u4e50\u90e8\n')) | '\u722c\u866b\u4ff1\u4e50\u90e8\n' |
总的来说,三种函数的参数都可以是数字、字符串、字典、列表等对象,区别在于,str() 函数的返回值是便于人类阅读的,例如可将数据中转义字符串“\n”表达成换行,而repr() 输出解释器可读的结果,在转义字符串“\n”前会多加一个反斜杠以修饰。对于ascii() 函数来说,当目标是ASCII码时作用与repr() 函数相似,目标是非ASCII码时则有不同的表示方式。ascii() 函数与另外两者函数的区别在于,ascii() 函数不能经Unicode码转换\x或\u编码的字符,而后两者可以。
对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!
往期推文推荐
万般进制千机变,Python一计乾坤定——利用Python来进行进制转换
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。