在使用 Python 进行编码时,有可能不规范的编码不会引发错误,而是出现意想不到的结果。
意外的字符串连接
我们可以使用 “+” 运算符来连接两个字符串。不过,如果两个字符串彼此相邻,即使不使用 “+” 运算符,它们也会隐式的连接在一起。
请注意下面示例代码缺少了一个逗号。
>>> list1 = ["a","b""c","d","e"] >>> len(list1) 4 >>> list1 ['a', 'bc', 'd', 'e']
代码正常运行,并没有引发 SyntaxError。这种情况下调试排查错误可能很困难。请特别注意字符串的隐式连接。
>>> str1 = "hello" "world" >>> str1 'helloworld'
变量赋值与条件语句
在 Python 中,我们可以在一行中为多个变量赋值。此外,我们可以简化选择结构,在一行中编写 if-else 语句。两者相遇,可以称为三元运算,是提高代码可读性和简化代码的方法。如果,书写不规范,运行结果可能会让你迷惑。
>>> x, y = (0, 1) >>> x 0 >>> y 1 >>> condition = False >>> x, y = (0, 1) if condition else None, None >>> x >>> y >>> print(x) None >>> print(y) None >>> x,y (None, None)
如果条件为 True,会发生什么?
`>>> condition = True >>> x, y = (0, 1) if condition else None, None >>> x, y ((0, 1), None) >>>`
我们试图使用括号来提高可读性。可是实际的结果是,如果条件为 True,则 x 赋值为 (0,1),否则为 “None” 。y 始终赋值为 “None”。如果后者加上括号,得到正确结果。
>>> condition = True >>> x, y = (0, 1) if condition else (None, None) >>> x, y (0, 1)
在这种情况下,我更喜欢正常的 if-else 语句,它不太容易出错:
if condition: x, y = 0, 1 else: x, y = None, None
创建元组
正常情况,元组是使用括号创建。
t = ('one', 'two') for i in t: print(i) # 输出: one two
现在创建一个包含一个元素的元组。
t = ("one") for i in t: print(i) # 输出: o n e
我们创建的是一个包含一个元素的元组,却输出三个元素。
说明:如果我们使用括号创建带有一个元素的元组,则不会创建元组,而是创建字符串对象!
在括号内增加一个逗号,用于创建具有一个元素的元组。
t = ("one",) for i in t: print(i) # 输出: one
assert 断言
Python 中的 assert 语句是调试程序的便捷方法。
如果条件为 True,则不会发生任何反应,但如果条件为 False,则会引发断言错误。可以自定义错误消息。
>>> a = "a" >>> b = "b" >>> assert(a == b, "两者不相等!") <pyshell>:1: SyntaxWarning: assertion is always true, perhaps remove parentheses?
以上示例并没有引发断言错误。
其实,断言语句不应与括号一起使用!否则,整个语句被视为一个整体,非空始终为 True。
>>> a = "a" >>> b = "b" >>> assert a == b, "两者不相等!" Traceback (most recent call last): File "<pyshell>", line 1, in <module> AssertionError: 两者不相等!
列表的方法
>>> list1 = [1, 2, 3] >>> list1 = list1.append(4) >>> list1 >>> print(list1) None
以上错误可能很明显,但有时我们仍然犯错,列表意想不到的返回 None 值。
你只需要使用这些方法,而无需将其重新赋值给变量。
`>>> list1 = [1, 2, 3] >>> list1.append(4) >>> list1 [1, 2, 3, 4] >>>`
题外话
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除