首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python3 错误和异常

    Python 有两种错误很容易辨认:语法错误和异常。 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。...concatenate str (not "int") to str 异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和...try 语句按照如下方式工作; 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。 如果没有异常发生,忽略 except 子句,try 子句执行后结束。...如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。 如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。...如果一个异常在 try 子句里(或者在 except 和 else 子句里)被抛出,而又没有任何的 except 把它截住,那么这个异常会在 finally 子句执行后被抛出。

    1.3K00

    python3进程和线程

    在解释进程之前,我们要知道在操作系统中存在就绪队列和阻塞队列 进程 进程基本概念 进程是执行中的程序, 也就是说进程是动态的, 程序是静态的 进程是操作系统分配资源的最小单位,有一个进程控制块(PCB)...时间片轮转: 给每个进程分配一个时间片, 如果进程在时间片内执行完就直接执行下一个进程, 如果没执行完, 进程释放CPU给下一个进程 优先级队列: 在优先级队列中, 每个进程都会被分配优先级(优先级有静态和动态之分...非抢占式和抢占式区别: 非抢占式: 在进程运行时, 不允许别的进程剥夺当前运行进程的处理器, 在这种情况下, 在用优先级分配处理机时, 正在运行的进程优先级不一定是当前所有进程中优先级最高的, 因为可能在进程运行过程中有更高的进程被加入到就绪队列中...线程基本概念 线程是CPU的基本调度单位 一个进程一般包含多个线程, 一个进程下的多个线程共享进程的资源 不同进程之间的线程相互不可见 线程不能独立执行 一个线程可以创建和撤销另外一个线程 ---- 进程和线程的区别

    51310

    Python3 错误和异常

    Python3 错误和异常 这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号(:)。 语法分析器指出了出错的一行,并且在最先找到的错误的位置标记了一个小小的箭头。...如果你在学习Python的过程中遇见了很多疑问和难题,可以加-q-u-n 227 -435-450里面有软件视频资料免费 try语句按照如下方式工作; 首先,执行try子句(在关键字try和关键字except...Python3 错误和异常 ? Python3 错误和异常 ? Python3 错误和异常 用户自定义异常 你可以通过创建一个新的异常类来拥有自己的异常。...Python3 错误和异常 在这个例子中,类 Exception 默认的 init() 被覆盖。...下面是一个更加复杂的例子(在同一个 try 语句里包含 except 和 finally 子句): ?

    1.1K20

    Python3 错误和异常

    Edit 笔记内容:Python3 错误和异常 笔记日期:2017-11-12 ---- Python3 错误和异常 语法错误 异常 异常处理 抛出异常 用户自定义异常 finally语句 预定义的清理行为...通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃。...try语句按照如下方式工作; 首先,执行try子句(在关键字try和关键字except之间的语句) 如果没有异常发生,会忽略except子句,try子句执行后就结束。...如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。 如果一个异常没有与任何的except匹配,那么这个异常将会被抛出。...如果一个异常在 try 子句里(或者在 except 和 else 子句里)被抛出,而又没有任何的 except 把它截住,那么这个异常会在 finally 子句执行后再次被抛出。

    1.3K10

    Python3 * 和 ** 运算符

    参考链接: Python | PostgreSQL中的数据库管理 在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1....函数形参 *args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。...其实并不是必须写成 *args 和 **kwargs。  *(星号) 才是必须的. 你也可以写成 *ar  和 **k 。而写成 *args 和**kwargs 只是一个通俗的命名约定。...kwargs 的区别,两者都是 python 中的可变参数: *args 表示任何多个无名参数,它本质是一个 tuple**kwargs 表示关键字参数,它本质上是一个 dict 如果同时使用 *args 和...函数实参 如果函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用: >>> def fun(data1, data2, data3): ...

    70730

    Python3 * 和 ** 运算符

    在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1. 算数运算 *  代表乘法 ** 代表乘方 >>> 2 * 5 10 >>> 2 ** 5 32 2....函数形参 *args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。...其实并不是必须写成 *args 和 **kwargs。  *(星号) 才是必须的. 你也可以写成 *ar  和 **k 。而写成 *args 和**kwargs 只是一个通俗的命名约定。...kwargs 的区别,两者都是 python 中的可变参数: *args 表示任何多个无名参数,它本质是一个 tuple **kwargs 表示关键字参数,它本质上是一个 dict 如果同时使用 *args 和...函数实参 如果函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用: >>> def fun(data1, data2, data3): ...

    64820

    Python3 * 和 ** 运算符

    参考链接: Python | 使用openweathermap API查找任何城市的当前天气 在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1....函数形参 *args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。...其实并不是必须写成 *args 和 **kwargs。  *(星号) 才是必须的. 你也可以写成 *ar  和 **k 。而写成 *args 和**kwargs 只是一个通俗的命名约定。...kwargs 的区别,两者都是 python 中的可变参数: *args 表示任何多个无名参数,它本质是一个 tuple**kwargs 表示关键字参数,它本质上是一个 dict 如果同时使用 *args 和...函数实参 如果函数的形参是定长参数,也可以使用 *args 和 **kwargs 调用函数,类似对元组和字典进行解引用: >>> def fun(data1, data2, data3): ...

    40000

    Python3 使用smtplib和em

    邮件格式 (RFC 2822)   每封邮件都有两个部分:邮件头和邮件体,两者使用一个空行分隔。   邮件头每个字段 (Field) 包括两部分:字段名和字段值,两者使用冒号分隔。...有两个字段需要注意:From和Sender字段。From字段指明的是邮件的作者,Sender字段指明的是邮件的发送者。...如果From字段包含多于一个的作者,必须指定Sender字段;如果From字段只有一个作者并且作者和发送者相同,那么不应该再使用Sender字段,否则From字段和Sender字段应该同时使用。   .../usr/bin/env python3     #coding: utf-8        import smtplib     from email.mime.text import MIMEText.../usr/bin/env python3     #coding: utf-8        import smtplib     from email.mime.text import MIMEText

    75820
    领券