目录
- 1. print( 坑的信息 )
- 2. 开始填坑
- 2.1
\0
是空字符,输出时看不到它,但它占 1 个字符的长度 - 2.2
\0
“遇八进制失效” - 2.3
\0
与''
不是同一个东西 - 2.4
\0
与None
不是同一个东西 - 2.5 有时,
\0
与None
是一伙儿的- 2.5.1 补充
- 2.5.2 示例
- 2.5.3 分析
- 2.1
1. print( 坑的信息 )
- 挖坑时间:2019/01/08
- 明细
坑的编码 | 内容 |
---|---|
Py004-5 | \0 这个空字符怎么用 |
2. 开始填坑
2.1 \0
是空字符,输出时看不到它,但它占 1 个字符的长度
- 示例
# 例 1
str1_1 = "I am YorkFish."
str1_2 = "I am York\0Fish."print("str1_1 =", str1_1)
print("str1_2 =", str1_2)
print("len(str1_1) =", len(str1_1))
print("len(str1_2) =", len(str1_2))
>>>
str1_1 = I am YorkFish.
str1_2 = I am YorkFish.
len(str1_1) = 14
len(str1_2) = 15
2.2 \0
“遇八进制失效”
- [Python3 填坑] 004 关于八进制 中的 "2.3.3" 有介绍
- 示例
# 例 2
str2_1 = "ab\66cd"
str2_2 = "ab\066cd"print("str2_1 =", str2_1)
print("str2_2 =", str2_2) # 若 \0 后有数字,且为 0-7,则优先当作八进制
print("len(str2_1) =", len(str2_1))
print("len(str2_2) =", len(str2_2))
>>>
str2_1 = ab6cd
str2_2 = ab6cd
len(str2_1) = 5
len(str2_2) = 5
2.3 \0
与 ''
不是同一个东西
- 示例
# 例 3
if '\0' == '':print("YES")
else:print("NO")
>>>
NO
2.4 \0
与 None
不是同一个东西
- 示例
# 例 4
if '\0' == None:print("YES")
else:print("NO")
>>>
NO
2.5 有时,\0
与 None
是一伙儿的
2.5.1 补充
- 内容:filter(function or None, iterable) 的用法
- 释义
- filter() 用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象
- 如果要转换为列表,可以使用 list()
- filter() 接收两个参数,第一个为函数,第二个为序列
- 序列的每个元素作为参数传递给函数进行判,将返回 True 的元素放到新列表中
# 补例
def is_even(n): # 筛选偶数return n % 2 == 0tmp_lst = filter(is_even, [1, 2, 3, 4, 5, 6])
new_lst = list(tmp_list)
print(new_lst)
>>>
[2, 4, 6]
2.5.2 示例
# 例 5
lst5 = ['1', '2', '3', '\0', '', ' ', None]
print( list( filter(None, lst5)))
>>>
['1', '2', '3', '\x00', ' ']
2.5.3 分析
- \0 以十六进制被表示出来
''
与 None 被剔除了' '
说明空格也是值
倘若阁下发现在下错误之处,还请不吝赐教!谢谢!