打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
「黑知识」分享几个 Python 编程小技巧,你还知道那些?欢迎补充
虎瘦oo雄心在 2018-09-06 20:31:36

1、 编码问题

我们在爬取网站是,会经常抓取网页文本,但是打印文本会出现是一堆乱码。这是为什么呢?原因是 Python 中字符对象分为两种,一种是 Unicode 对象,另一种是 str 对象。字符在 Python 中又以 Unicode 对象为基础,所以我们定义的字符串在内存中以 Unicode 编码的形式存储。

另外,str 对象又可以有多种编码形式,如 UTF-8、GBK-2312 等。虽然不同编码的 str 对象能被解码成 unicode 对象,但是不同编码的 str 对象直接不能直接转换。因此,如果字符串编码是 GB2312,将其存储到 list 中,再打印出来看到乱码是 Unicode 编码。

解决这个问题其实很简单,把 Unicode 作为中间编码。我们只要将一种字符编码(如 GB2312)的字符串解码为 Unicode 编码,再编码为另外一种字符编码(如 UTF-8)。

2 、值交换

在 C 或者 Java 中,要将两个变量的值进行交换。我们需要一个临时变量来存储其中一个值。

但是在 Python中,有个简单的办法能直接一步到位。

3、 单例模式

Python 不仅是面向过程的编程语言,而且是面向对象的编程语言。在 Python 中,一个类被初始化,那么 `__new__()` 函数一定会先被调用,然后再调用`__init__()`。我们可以采用 hasattr() 函数来判断对象是否包含对应的属性,也就是判断类是否被初始化。

你还知道那些?欢迎评论留言补充!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
说说你知道的Python3和Python2之间的区别?
梳理Python基本认识基本类型,从零开始,学习Python
python打印内存的值
Python|字符串的知识
python2和3编码
python的str,unicode对象的encode和decode方法(转)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服