欢迎关注微信公众号:简说Python
关注后回复:1024,可以领取精选编程学习电子书籍。
本文授权转载自Python编程时光
禁止二次转载
大家好,我是老表
阅读文本大概需要 5 分钟
Smaller And Smarter,简单好玩的Python
冷知识系列,直至今日,已经更新至第五篇。
前两篇传送门小明给你准备好了,还没阅读的可以学习一下。
还是老规矩,
一篇只分享五个
,有时间了就整理。不想错过的,千万
记得
关注一下
。
求一个字符串里,某子字符(串)出现的次数。在Python中使用 count() 函数,就可以轻松实现。
比如下面几个常规例子
>>>
"aabb".count(
"a")
2
>>>
"aabb".count(
"b")
2
>>>
"aabb".count(
"ab")
1
但是如果使用空字符串呢,你可能想不到会是这样的结果。
>>>
"aabb".count(
"")
5
具体原因,我不敢妄下结论。
由此我还衍生出另一个想法,实验了下。不知道空字符串,是一种什么样的存在,难道字母与字母之间 “缝隙” 也算吗?
>>>
""
in
""
True
>>>
""
in
"ab"
True
有兴趣的可以去看看CPython的源码实现。如果有结论,还请后台回复一下。不胜感激。
从初中开始,我们就开始接触了
负数
这个概念。知道了
负负得正
,这和武侠世界里的
以毒功毒
,有点神似。
Python 作为一门高级语言,它的编写符合人类的思维逻辑,这其中也包括
负负得正
这个思想。
>>>
5-3
2
>>>
5-
-3
8
>>>
5+
-3
2
>>>
5++
3
8
>>>
5--
-3
2
在 Python2 中,数字可以与字符串直接比较。结果是数值永远比字符串小。
>>>
100000000 <
""
True
>>>
100000000 <
"ming"
True
但在 Python3 中,却不行。
>>>
100000000 <
""
TypeError:
'<'
not supported between instances of
'int'
and
'str'
在Python 2中x的值在一个循环执行之后被改变了。
>>> x =
1
>>> [x for x in range(
5)]
[
0,
1,
2,
3,
4]
>>> x
4
不过在Python3 中这个问题已经得到解决了。
>>> x =
1
>>> [x for x in range(
5)]
[
0,
1,
2,
3,
4]
>>> x
1
字典不可排序的思想,似乎已经根深蒂固。
>>> mydict = {str(i)
:i for i in range(
5)}
>>> mydict
{
'1':
1,
'0':
0,
'3':
3,
'2':
2,
'4':
4}
在 Python3 中字典已经是有序的。
# Python3.6.7
>>> mydict = {str(i)
:i for i in range(
5)}
>>> mydict
{
'0':
0,
'1':
1,
'2':
2,
'3':
3,
'4':
4}
今日留言主题
说说你读完本文感受?
或者一句激励自己的话?
(字数不少于15字)
说明
今天是留言打卡第二十天
简说Python,等你~
今日赠书
增强型分析是数据科学的未来,本书讲解了如何通过前沿的大数据技术和AI技术实现智能的数据分析和业务决策,即增强型分析。本书的重点聚焦在本质内容上,即数据处理、算法及模型、“模型洞见到业务决策”的分析等。
2小时快速掌握Python基础知识要点。
学Python | 聊赚钱