前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Python系统学习03】错误类型整理(一)

【Python系统学习03】错误类型整理(一)

作者头像
xing.org1^
发布于 2020-02-12 08:06:53
发布于 2020-02-12 08:06:53
1.7K00
代码可运行
举报
文章被收录于专栏:前端说吧前端说吧
运行总次数:0
代码可运行

错误类型与可能原因分析

A、语法错误:

1、syntaxError:invalid syntax

无效的语法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(2019小石头)
#     print(2019小石头)

#           ^
# SyntaxError: invalid syntax

2、syntaxError:invalid character in identifier

标识符中有无效的字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(‘我左边的引号是中文的符号')
#     print(‘我左边的引号是中文的符号')

#         ^
# SyntaxError: invalid character in identifier

出错场景: 这通常是因为在 python 中用了中文符号造成的。

在 Python 中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。

下边也是这种情况

3、SyntaxError: EOL while scanning string literal

扫描字符串文字终止

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('我右边的引号是中文的符号‘)

# print('我右边的引号是中文的符号‘)

#                            ^
# SyntaxError: EOL while scanning string literal

B、类型错误(数据类型不同导致):

TypeError: unsupported operand type(s) for ...

出错场景: 不同类型的数据进行结合计算或处理,就会发生错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 1
b = '1'
print(a + b)
# Traceback (most recent call last):

#   print(a + b)

# TypeError: unsupported operand type(s) for +: 'int' and 'str'

Python 是强类型语言,不同类型的数据之间需要进行类型转换才能一起“共事”。

比如,1+'1'这么写,在 js 中肯定没问题,因为会进行类型转换,把数字 1 变成字符串 1,然后就变成了字符串拼接,最后的到 11。

但是 python 不会进行隐式类型转换,他发现你用数字 1+字符串 1,就会报类型错误,也就是 syntaxError:invalid syntax,告诉你这么写是无效的。

改正:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 1
b = '1'

# print(a + b)

# # 这么写报错。改正如下:

print(a + int(b))

# 2,将字符串转换为int类型,进行加法运算

print(str(a) + b)

# 11,将整数转为字符串类型,进行字符串拼接。

C、名称错误(变量未声明就使用):

NameError: name 'xingorg1' is not defined

出错场景: 直接使用一个没有声明的变量,当在本作用域和全局作用域中找不到时,就会发生错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(xingorg1)

#     print(xingorg1)

# NameError: name 'xingorg1' is not defined

D、值异常

ValueError: invalid literal for int() with base 10: '1.8'

出错场景: Python 的语法规则,浮点类型的字符串不能使用 int()函数进行强制转换。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(int('1.8'))

#     print(int('1.8'))

# ValueError: invalid literal for int() with base 10: '1.8'

解决方案 虽然浮点形式的字符串,不能使用 int()函数。但浮点数是可以被 int()函数强制转换的

可以先将字符串转换为浮点类型,再将浮点数转换为 int 类型。如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(int(float('1.8')))

# 1

不过对下面这种值异常的情况就无计可施了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(int('非整数数字字符串'))

#     print(int('非整数数字字符串'))

# ValueError: invalid literal for int() with base 10: '非整数数字字符串'

纯文字类数据,无法转换为整数类型。

E、缩进错误

IndentationError: expected an indented block

出错场景: 对于 Python 而言,冒号和缩进是一种语法。它会帮助 Python 区分代码之间的层次,理解条件执行的逻辑及先后顺序。

“ 【注:缩进是四个空格或一个 Tab 键】 ”

在语句代码中的冒号“:”后、下一行内容的前面,要有缩进,空几个格。

如果在需要缩进的语句下边没有缩进的代码块,就会报错。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
number = 1
if number=='1':
print('1')

# File "main.py", line 3

#     print('1')

#         ^

# IndentationError: expected an indented block

这是因为当我们去掉缩进时,条件/语句(上边的 if)会和需要执行的命令(上边的 print)成为了两个不同的代码组,属于平行关系。

if 条件下面,缺少了可以执行的动作。那么无论条件成不成立,都不会执行什么操作,这个条件的存在没有任何意义。

解决写法: 加缩进

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
number = 1

if number=='1':
  print('1') 
# 注意if下边需要执行的命令必须向右缩进
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-01-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
FDA ESG规定:必须使用数字证书保证通信安全
为了能在高安全的环境中与合作伙伴传输处理各类电子文件信息,FDA推出了ESG解决方案用于接收、处理电子监管信息。FDA ESG遵循安全传输协议标准,要求ESG账户在提交电子信息过程中必须使用数字证书保证通信安全。
Anita
2021/09/15
1.4K0
FDA ESG规定:必须使用数字证书保证通信安全
S/MIME电子邮件证书,符合FDA邮件安全要求
美国食品和药物管理局 (FDA)要求合作伙伴提交或接收电子监管信息时,必须使用数字证书保障通信安全。
沃通WoTrus数字证书
2023/03/31
9570
S/MIME电子邮件证书,符合FDA邮件安全要求
FDA邮件安全解决方案
最近,有不少药企,食品行业客户询问如何与FDA保持邮件通信安全、畅通,要解决此问题首先得了解FDA对邮件通信的规定,然后做好邮件安全合规工作,保证企业与FDA通信安全!
Anita
2021/11/19
1.3K0
FDA邮件安全解决方案
企业邮件安全防护实践
邮件系统作为一种有效的内外部工作沟通平台,在企业内得到广泛使用。同时,广告邮件、垃圾邮件、钓鱼邮件等问题就成了企业邮件安全头号难题。所以我们的企业安全人员以往更多关注反垃圾邮件,向对数据保密,反钓鱼方向演进。
FB客服
2019/10/24
3.5K0
企业邮件安全防护实践
电子邮件伪造
电子邮件伪造是指发送者故意篡改邮件头部信息,以使邮件看起来似乎是来自另一个人或组织的行为。这种行为可能用于欺骗、诈骗、垃圾邮件发送等目的。以下是一些常见的电子邮件伪造技术。
zy010101
2024/05/25
3660
电子邮件伪造
他居然发邮件请我去吃饭——邮件伪造那些事儿
今天中午吃午饭的时候,突然收到一封邮件,我一看,不得了啊,居然是美国前总统给我发来的邮件,还说要我助他一臂之力成为新总统。下午再看他的新闻,感觉他现在都自身难保了,怎么会请我吃饭呢?于是怀疑这封邮件是伪造的…
Regan Yue
2022/09/20
1.1K0
他居然发邮件请我去吃饭——邮件伪造那些事儿
GPG:为你的 Git 提交记录加一把锁
  GPG,全称 GNU Privacy Guard,也可以写成 GnuPG。它是一款免费开源的加密软件,也是不开源不免费的 PGP(Pretty Good Privacy)的替代品,有关详情可以查看参考资料。由于 GPG 可以用于签名或者加密,所以在文件加密、邮件加密、代码签名等方面应用较多。
zhonger
2022/10/28
1.4K0
GPG:为你的 Git 提交记录加一把锁
使用S/MIME电子邮件证书,防范钓鱼邮件攻击风险
据媒体报道,研究人员证实Outlook等邮件客户端向电子邮件收件人显示的“外部发件人”警告可能被恶意发件人隐藏。网络钓鱼攻击者和欺诈者只需在他们发送的电子邮件中更改几行HTML和CSS代码,就能篡改“外部发件人”等警告提示的措辞或使其完全消失。
沃通WoTrus数字证书
2023/03/06
9650
使用S/MIME电子邮件证书,防范钓鱼邮件攻击风险
Openssl加密解密原理+CA自建实现
前言 互联网的惊人发展使企业和消费者都感到非常兴奋,它正改变着我们的生活和工作方式。但是,互联网的安全程度如何——尤其是在通过它发送机密信息时的安全性——已经成为人们关心的主要问题。随着时代的发展,加密原理也不断地在更新换代. 数据的加密目前已广泛地运用于战争,商业活动,信息交换等领域,。其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络中还是近几年的历史。以下我们将了解一下加密技术的方方面面,愿能为那些对加密技术有兴趣的朋友提供一个详细了解的机会! 在 电子商务没有出现之前,我们基本上
小小科
2018/05/02
1.7K0
Openssl加密解密原理+CA自建实现
腾讯云「邮件证书」重磅发布!从此告别邮件安全漏洞
电子邮件的普遍应用,有效提高了我们工作和生活的通信效率;但也衍生出“邮件篡改、病毒邮件、垃圾邮件、邮件炸弹”等一系列安全问题。下图中的一系列数据,更是直观揭露了人们邮件安全意识薄弱这一客观事实。 先来看两个黑客利用邮件安全漏洞谋取利益的真实案例。 案例1 一个大型国企的财务人员收到经理的邮件,示意他应该给A公司结款,财务人员经过审核发现,确实到 了结款时间,于是通过财务系统把钱转给了“A公司”。然而,过了几个月,真正的A公司找到这家企业,要求结款。这时公司才发现,原来之前的几百万根本没有汇进A公司的账
腾讯云DNSPod团队
2023/05/04
9360
腾讯云「邮件证书」重磅发布!从此告别邮件安全漏洞
什么是X.509证书?X.509证书工作原理及应用?
X.509是公钥基础设施(PKI)的标准格式。X.509证书就是基于国际电信联盟(ITU)制定的X.509标准的数字证书。X.509证书主要用于识别互联网通信和计算机网络中的身份,保护数据传输安全。X.509证书无处不在,比如我们每天使用的网站、移动应用程序、电子文档以及连接的设备等都有它的身影。
Anita
2021/09/28
5.2K0
什么是X.509证书?X.509证书工作原理及应用?
一封伪造邮件引发的“探索”(涉及钓鱼邮件、SPF和DKIM等)
0x00. 引言 我用swaks 发送一封以我们公司CTO为显示发件人(腾讯企业邮箱)的伪造邮件给我的一个同事,邮件的内容就是让这位同事去CTO的办公司一趟,没想到这位同事真的去了,然后一脸懵逼的回来了。 恶作剧算是完了,但是这让我开始研究伪造邮件是为什么产生的,腾讯企业邮为什么没有拦截。 0x01. 关于伪造邮件的一些总结 1) 邮件服务商之间转发邮件是不需要认证的,也就是说MTA 到MTA之间转发邮件是不需要认证的,这是SMTP协议本身定义的。 所以协议钓鱼邮件就可以伪称来自某某MTA发送钓鱼邮件;
FB客服
2018/02/28
6.1K0
一封伪造邮件引发的“探索”(涉及钓鱼邮件、SPF和DKIM等)
在Debian 8上使用Postfix配置SPF和DKIM
SPF(发件人策略框架)是一种向邮件服务器标识允许哪些主机为给定域发送电子邮件的系统。设置SPF有助于防止您的电子邮件被归类为垃圾邮件。
番茄味
2018/09/11
5.1K0
ARP欺骗&IP欺骗&TCP劫持攻击&DNS攻击&邮件攻击|网络攻防课堂笔记
在《网络攻击与防御》这门课第第五章欺骗攻击与防御还是很值得去好好听一下的, 在这章里面主要讲了下面五个欺骗:
h0cksr
2023/05/18
9370
Outlook应用指南(3)——联系人管
我们在日常生活中,会将一些常用的电话记在电话本中,以便在需要时能够立即查阅。Outlook的“联系人”列表也具有相似的作用,你可以建立一些同事和亲朋好友的通讯簿,不仅能记录他们的电子邮件地址,还可以包括电话号码、联系地址和生日等各类资料。以下给大家介绍一些Outlook“联系人”的相关功能和操作技巧。
py3study
2020/01/09
1.9K0
邮件形同裸奔,PGP与S/MIME加密协议被曝严重漏洞
由9名学者组成的团队向全世界发出警告,OpenPGP和S / MIME电子邮件加密工具中的严重漏洞。该研究小组称,这个代号为EFAIL的漏洞如果被利用,将允许攻击者从发送或接收的消息中提取明文内容。
FB客服
2018/07/30
1.2K0
邮件形同裸奔,PGP与S/MIME加密协议被曝严重漏洞
电子邮件有没有必要使用签名证书?
随着网络技术的迅速发展,人们对网络安全也越来越重视,网路通信技术的发展使得人们的沟通交流更为便捷和多样化,但网路通信安全事件也日益频发多发,成为不容忽视的网络安全问题。电子邮件在我们的生活和工作中扮演了重要角色,而为了保障邮件信息安全,电子邮件签名证书应运而生,成为了保障邮件信息安全的工具。那么,什么是邮件签名证书?邮件签名证书对于邮件使用者来说有多重要?我们先从邮件签名证书的定义开始了解。
JoySSL
2023/02/24
1.1K0
电子邮件有没有必要使用签名证书?
对称及非对称加密工作原理,附:密钥交换的过程
对称密钥算法非常适合于快速并安全地加密数据。但缺点是,发件人和收件人必须在交换数据之前先交换密钥。结合使用加密数据的对称密钥算法与交换机密钥的公钥算法可产生一种即快速又灵活的解决方案。
Ponnie
2022/01/13
5K0
对称及非对称加密工作原理,附:密钥交换的过程
如何使用GPG加密和签名邮件
GPG或GNU Privacy Guard是一种公钥加密实现。这允许在各方之间安全地传输信息,并且可以用于验证消息的来源是真实的。
司徒永哥
2018/08/10
3.7K0
深入探究电子邮件三大协议
电子邮件系统中,SMTP、POP 和 IMAP 这三种协议起着至关重要的作用。SMTP 负责邮件的发送,将邮件从发件人传输到邮件服务器,并在服务器之间转发。POP 负责邮件的接收,允许用户从邮件服务器下载邮件到本地设备进行离线阅读,下载后通常会从服务器删除此邮件。IMAP 也负责邮件的接收,它提供了更灵活的邮件管理功能,用户可以在多个设备上同步邮件状态,并且邮件始终保存在服务器上,方便随时访问和管理。这三大协议相互配合,共同构建了一个高效、稳定的电子邮件系统。
M.Talen
2024/09/09
8390
深入探究电子邮件三大协议
推荐阅读
相关推荐
FDA ESG规定:必须使用数字证书保证通信安全
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 错误类型与可能原因分析
    • A、语法错误:
      • 1、syntaxError:invalid syntax
      • 2、syntaxError:invalid character in identifier
      • 3、SyntaxError: EOL while scanning string literal
    • B、类型错误(数据类型不同导致):
      • TypeError: unsupported operand type(s) for ...
    • C、名称错误(变量未声明就使用):
      • NameError: name 'xingorg1' is not defined
    • D、值异常
      • ValueError: invalid literal for int() with base 10: '1.8'
    • E、缩进错误
      • IndentationError: expected an indented block
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文