5.assert,用于调试,在编程中,我们可以通过assert的方式来检查我们的假设是否正确。
关键字assert的格式为:assert 条件, 错误的信息
>>> k = 0 >>> assert k == 0 ;; assert后面跟着的是条件,若条件成立,则什么都不发生 >>> assert k != 0 ;; 若条件不成立,则抛出AssertionError错误 Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> assert k != 0 AssertionError >>> assert k != 0, "k 应为0" ;; 用户可以指定AssertionError异常所抛出的指示, 这能帮助我们更好理解代码 Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> assert k != 0, "k 应为0" AssertionError: k 应为0
6.break、continue
这两个关键字可以为循环语句提供额外的控制,如果设计得当,可以用来简化程序。
打开python的脚本界面,输入以下代码:
## break 代码示例 sum = 0 number = 0 sum = 0 number = 0 while number < 20: number += 1 print(number, end = " ") if number == 10: break # 代码执行结果 1 2 3 4 5 6 7 8 9 10
该程序将从1到20的整数依次打印1, 2, 3...直到10为止,break用来终止while的循环,否则while会一直循环下去,直到number >= 20为止,但如果没有以下代码。
if sum == 10: break # 因为代码中规定sum == 0执行break,所以上面只打印到了10 # 没有break的代码执行结果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## continue 代码示例 number = 0 while number < 20: number += 1 if number == 10 or number == 12: continue print(number, end = " ") # 代码执行结果 1 2 3 4 5 6 7 8 9 11 13 14 15 16 17 18 19 20 # 当number等于10或12时,执行continue,可以看到执行结果中唯有10和12没有被打印出来。 # continue执行后,代码会终止本次循环,仍然会执行下一轮循环,而不像break会终止整个循环。 # continue可以用来删除满足条件下某些不需要的成分
7.def
def 用来定义一个函数。
让我们先在交互界面下输入:help(print),用帮助函数来看一下print函数的文档
>>> help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) # print的参数 Prints the values to a stream, or to sys.stdout by default. # print的功能以及各个参数的功能 Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. # 而我们可以通过def关键字来定义一个有打印功能的函数。 def sumTwo(number1, number2): # 定义一个名叫sumTwo的函数,它有两个参数,会打印处两个参数的和 print(number1 + number2) # 回到交互界面 >>> sumTwo(5, 6) 11 ;; 执行函数后的结果 # 这样我们就完成了一个函数的定义。
8.del
del函数用来删除某一元素或某一对象。
8.1 del与列表
>>> a = [1, 2, 3, 4, 5, 6] >>> del a[0] ;; 删除a中第0个元素 >>> a [2, 3, 4, 5, 6] >>> del a[0:3] ;; 删除a中第0至3个的元素 >>> a [5, 6] >>> del a ;; 删除整个列表 >>> a ;; 列表未定义,所以报错 Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> a NameError: name 'a' is not defined >>> a = [1, 2, 3, 4, 5, 6] ;; 重新定义一个列表 >>> b = a ;; 令b等于a,这代表b复制了a的整个列表 >>> del a ;; 删除a >>> a Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> a NameError: name 'a' is not defined >>> b ;; 但b的元素却未受影响,具体原因见链接1 [1, 2, 3, 4, 5, 6]
8.2 del与元组
>>> a = (1, 2, 4, 6) ;; 建立一个元组 >>> del a[0] ;; 无法删除第0个元素,所以报错,在元组中del不能删除单个元素 Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> del a[0] TypeError: 'tuple' object doesn't support item deletion >>> del a ;; 删除整个元组 >>> a Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> a NameError: name 'a' is not defined
8.3 del与字典
扫描二维码关注公众号,回复:
1284093 查看本文章
>>> a = {0: "zero", 1: "one"} ;; 定义一个字典 >>> del a[0] ;; 可以删除键为0的键值对 >>> a {1: 'one'} >>> del a ;; 删除整个字典 >>> a Traceback (most recent call last): File "<pyshell#30>", line 1, in <module> a NameError: name 'a' is not defined
链接1:https://blog.csdn.net/weihongxu2222/article/details/51320006