py关键字示例(2)

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与字典

>>> 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

posted @ 2018-05-31 21:48  类十三  阅读(241)  评论(0编辑  收藏  举报