关于python3问题

  1. F5运行程序打印出系统默认编码方式

  2. 将字符串从str格式编码程bytes格式,修改代码如下:

  3. F5运行程序打印出内容如下,中文必须用utf-8编码因为ascii码表示不了所有汉字,这里暂时不介绍gbk编码现在用得很少了,utf-8使用3个字节表示一个汉字ascii使用一个字节表示一个英文字母或字符。

  4. 解码就是从bytes变回str的过程修改代码如下:

  5. F5运行程序,打印内容如下图bytes转回str

  6. utf-8编码兼容ascii,当既有中文又有英文时使用encode('utf-8')英文还是占一个字节,中国三个字节另外当py文件注释有中攵时,需要在头部添加

经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士

作者声明:本篇经验系本人依照真实经历原创,未经许可谢绝转载。

说说为什么给这篇经验投票吧!

只有签约作者及以上等级才可发有得 你还可鉯输入1000字

  • 0
  • 0
  • 0
  • 你不知道的iPad技巧

代码运行前的语法或者逻辑错误

  • 語法错误(这种错误根本过不了python3解释器的语法检测,必须在程序执行前就改正)

程序执行过程中出现问题导致程序无法执行

  1. 程序遇到逻輯或算法错误

  2. 运行过程中计算机错误:内存不够或者io错误

  1. 异常产生检查到错误且解释器认为是异常,抛出异常

  2. 异常处理异常处理,截獲异常系统忽略或者终止程序处理异常

python3解释器检测到错误,触发异常(也允许程序员自己触发异常)

程序员编写特定的代码专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关)

如果捕捉成功则进入另外一个处理分支执行你为其定制的逻辑,使程序不會崩溃这就是异常处理

python3解析器去执行程序,检测到了一个错误时触发异常,异常触发后且没被处理的情况下程序就在当前异常处终圵,后面的代码不会运行所以你必须提供一种异常处理机制来增强你程序的健壮性与容错性 


使用if的方式我们只为第一段代码加上了异常處理,针对第二段代码你得重新写一堆if,elif等
而这些if跟你的代码逻辑并无关系,可读性差

第一段代码和第二段代码实际上是同一种异常,嘟是ValueError,相同的错误按理说只处理一次就可以了而用if,由于这二者if的条件不同这只能逼着你重新写一个新的if来处理第二段代码的异常

异常類只能用来处理指定的异常情况,如果非指定异常则无法处理(异常是由程序的错误引起的,语法上的错误跟异常处理无关必须在程序运行前就修正)

在python3的异常中,有一个万能异常:Exception他可以捕获任意异常

'丢弃或者执行其他逻辑'

try-finally 语句无论是否发生异常都将执行最后的代碼。

无论异常与否,都会执行该模块,通常是进行清理工作
  • raise主动触发异常

我们可以使用raise语句自己触发异常

raise语法格式如下:

语句中Exception是异常的类型(例如NameError)参数是一个异常参数值。该参数是可选的如果不提供,异常的参数是"None"

最后一个参数是可选的(在实践中很少使用),如果存在是跟踪异常对象。

我要回帖

更多关于 python 的文章

 

随机推荐