Python初学者常见错误问题汇总

1、在客户端和服务端如何传递数组?
答:在客户端和服务端可以使用json进行数据传输。在客户端把数据转换成json字符串,然后使用POST方法发送给服务端。 服务端收集到数据之后,使用json.loads()方法,解析json数据。 返回数据也使用这样的机制。这就完成了数据从客户端到服务端的交互。
2、使用Mac、Windows和Linux系统有区别么?
答:从学习Python基础知识的角度来说,是没有区别的。 搭建开发环境和开发工具会有区别。
3、为什么看着语句正常,报告SyntaxError :invalid character in identifier ?
答:注意使用的逗号和冒号,都要使用英文的。 因为中文和英文在这两个符号表示的时候,看上去差不多,所以在写这两个符号的时候,一定要特别注意。
4、为什么使用类的成员函数时,会报告参数数量不对?
答:这是因为类的成员函数,第一个参数永远是指向对象的self参数。在函数调用时,系统会自动把对象作为第一个参数传递给函数。所以在调用函数时,我们需要提供的参数是从第二个参数开始的。
5、错误信息的查看

在发生报错时,一定要注意错误的提示信息。如上图所示,提示了三方面的信息:
1、错误发生在test.pyt文件的第12行
2、向上的小箭头,说明错误发生在这一行的具体位置。
3、最后一行,提示错误原因。
另外还要注意,错误提示只是解释器认为错误发生的位置。有的时候,上一行的错误,会引起下一行报错。应该注意这个情况。
6、报错ModuleNotFoundError, No module named ‘xxxxx’. 如下图所示:
答:翻译成中文意思是没有名字叫做’xxxx’的模块。
主要问题可能来自于三个方面:
a、模块名字有误。 请注意模块名字是区分大小写的,请确认模块名书写正确。
b、模块确实是没有安装。 使用pip 安装该模块。
c、模块安装了,但是系统没有找到。 系统会从一系列的目录中查找给定名字的模块。 如果安装模块的路径没包含这些目录中,系统就找不到该模块。
解决方法可参考:https://blog.csdn.net/ling_mochen/article/details/79314118
7、报错,显示文件找不到(No such file or directory: xxxx),如下图所示
答:明明要读取的文件和代码在同一个目录下,为什么显示没有这个文件呢?
这里涉及到几个知识点:
a、要分清楚两个概念:文件自己的路径和系统的当前路径。
比如:我们有一个python文件 C:\python\sub1\test.py. 这个路径叫做文件的路径,这个路径只要是文件不移动,就是固定的。
当前路径是指进入命令行之后,所在的路径。比如我们进入c:\python这个文件夹,那么c:\python 就是当前路径。如果进入C:\python\sub1, C:\python\sub1 就是当前路径。所有可以看到,当前路径是可以随意切换的。 使用IDE时,当前路径不一定是文件所在的路径。
b、open函数中,如果使用的是相对路径,那么是相对于当前路径来说的。
例如要打开C:\python\sub1\123.txt 。如果当前路径是C:\python,那么需要open(“sub1/123.txt”)。如果当前路径是C:\python\sub1,那么open(“123.txt”)就可以了。 为了确保这个文件肯定能够被找到,可以使用绝对路径,这样就跟当前路径无关了。
c、Windows环境下,用字符串表示路径时,需要使用斜杠(/),而不是反斜杠()。因为反斜杠在python中会被识别为转义。如下所示:
最终,使用绝对路径,并且把分隔符修改成斜杠之后,程序运行结果符合预期.
7.查看pip版本
答: 在命令行执行:pip show pip 或者 pip --version
8.为什么字符串前面有个字面r,如下图所示

答:我们把不加r前缀的字符串成为一般字符串,而把r做前缀的字符串称为原始字符串。一般的字符串中,为了表达一些特别含义的字符,需要使用反斜杠(\)进行转义。比如,我们用\n表示换行。 也就是说,在一般的字符串里面反斜杠(\)会被特别的处理。如果我们的字符串中,真的需要反斜杠怎么办? 那么只能用两个联系的反斜杠(\),也就是对反斜杠转义。如果如下面这样一个路径,为了正确表达这个路径,我们需要大量的使用反斜杠。
path = ‘C:\Program Files\fnord\foo\bar\baz\frozz\bozz’
原始字符串的特点是不会对反斜杠()做任何特殊的处理,所以如果使用原始字符串,用 r’C:\Program Files\fnord\foo\bar\baz\frozz\bozz’ 就可以正确表达。
9、如下语句有什么不同?

答:有赋值顺序的不同。
#1中,先把b的值(20)赋给了a,然后再计算 a +b ,其实就是计算两个b的和。
#2中,赋值是同时发生的,所有等号=右侧的所有变量,都保持着原来的值。即c还是10,d是20.
所以 #1中b的结果是40, #2中d的结果30.
10、为什么列表排序完之后的返回值是None ?
a = [3,2,1]
print(a.sort()) #结果为Noe
答:首先需要明确一下,sort是一个在本地对列表进行修改的函数,并且返回值就是None。
一般我们的需要可能是:获取一个列表的排序结果,并且原来的列表保持不变。 这个时候需要用到copy方法,先创建一个新的列表,如下:
a = [3,2,1]
b = a.copy() #这里不能直接用 b = a ,否则 a和b会同时都变化
b.sort()
print(a) #[3,2,1]
print(b) #[1,2,3]
另外,也可以使用另外一个内置函数sorted()。这个函数可以操作列表,返回一个排序之后的新列表,并且保持原来的列表顺序不变。
11、为什么有些函数直接直接使用,而有些就要import ?
答:能直接被使用的函数,叫做内置函数。
想查看有哪些函数属于内置的,可以在命令行执行命令: dir(builtins)
举个例子, 比如你有一个衣架, 平时常穿的几件衣服,会挂在衣架上。而其他的衣服,会放到柜子里面。 平时穿衣架上的衣服,有些时候,需要从衣柜里面拿衣服穿。 这些放在衣架上的衣服,我们称之为内置衣服。
Python也一样, 内置函数就是那些基本的常用的函数。其他的函数都放在函数箱(模块)里面。 当需要使用的时候,在从函数箱(模块)里面拿出来使用。
函数箱是为了跟上面的例子对比,我自己发明的概念,准确说应该叫模块。
最后给大家分享一些小福利


链接:https://pan.baidu.com/s/1sMxwTn7P2lhvzvWRwBjFrQ
提取码:kt2v
链接容易被举报过期,如果失效了就在这里领取吧

Python初学者常见错误问题汇总的更多相关文章
- Python初学者常见错误详解
Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:” if spam == 42 print('Hello ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- 《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题
<Visual C++ 2010入门教程>系列四:VC2010中初学者常见错误.警告和问题 这一章将帮助大家解释一些常见的错误.警告和问题,帮助大家去理解和解决一些常见问题,并了解它的 ...
- Sublime Text 2下搭建Python环境常见错误
Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...
- Java学习笔记2、环境变量配置与初学者常见错误
2.1 环境变量的配置 2.1.1 path环境变量配置的作用 程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下运行,因此程序只能写入bin目录程序开 ...
- python中常见错误及try-except 的用法
1.常见的错误 我们在使用python过程中会出现: (1)SyntaxError 句法错误. (2)IndentationError 缩进错误. (3)NameError 变量未定义错误. (4)T ...
- Python 中常见错误总结
IndentationError: unexpected indent Python 中强制缩进,, IndentationError: unexpected indent 缩进错误 这类错误非常常见 ...
- 【C语言入门】"为什么这个又错了啊"来自编程初学者常见错误合辑!
C语言的最大特点是:功能强,使用方便灵活. C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下"灵活的 余地",但还是由于这个灵活给程序的调试带来了许多不便,尤其 ...
- VS2010 常见错误类型汇总
开发路漫漫,尤其对于刚从事开发不久的新手来说,常常遇到一些稀奇古怪的错误,很是头疼,鉴于自己在开发过程中常遇到的几个错误做个分享,希望对大家有所帮助: 错误1: 在创建完win32的DLL后,编译时出 ...
随机推荐
- Python python 函数参数:参数组合
'''在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数, 这4种参数都可以一起使用,或者只用其中某些 参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数 ''' d ...
- Reface.AppStarter 框架初探
Reface.AppStarter 是一种基于 .NetFramework 的应用程序启动模式,使用该启动模式,你可以轻松的得到以下功能 : IOC / DI 自动注册与装配 简化配置 垂直模块化你的 ...
- 记一次JAVA进程导致Kubernetes节点CPU飙高的排查与解决
一.发现问题 在一次系统上线后,我们发现某几个节点在长时间运行后会出现CPU持续飙升的问题,导致的结果就是Kubernetes集群的这个节点会把所在的Pod进行驱逐(调度):如果调度到同样问题的节点上 ...
- 1024 Palindromic Number (25 分)
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- Unity 游戏框架搭建 2019 (二十七、二十八)弃用的代码警告解决&弃用的代码删除
在前两篇,我们把所有的示例重头到尾整理了一遍. 当前的状态如下: 要做的事情: (完成) 备份:导出文件,并取一个合理的名字. 遗留问题: (完成) 第八个示例与之前的示例代码重复,功能重复. (完成 ...
- ECSHOP数据表结构完整仔细说明教程 (http://www.ecshop119.com/ecshopjc-868.html)
s_account_log //用户账目日志表 字段 类型 Null 默认 注释 log_id mediumint(8) 否 自增ID号 user_id mediumint(8) 否 用户登录 ...
- 更快地访问stackoverflow
使用火狐浏览器,安装扩展组件 Decentraleyes, 完成 原理:由于爆栈本身并没有被墙, 但使用了google的api,而google的api是被墙的. 该组件替换了国内不能访问的api,所以 ...
- nginx内置高可用配置与第三方高可用模块nginx_ustream_check_mudule配置
1. nginx 第三方高可用模块 IP 备注 10.0.0.63 proxy 10.0.0.64 web1 10.0.0.65 web2 这里会讲解一些nignx常用高可用方案,以及引入第三方高可用 ...
- Docker之hello world
Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...
- 【docker】为docker下的php容器安装php-redis扩展【编译安装】
使用docker安装的PHPFPM容器没有Redis扩展,需要安装一下扩展. 首先进入docker的PHPFPM容器 $ docker exec -it myphpfpm /bin/bash 依次执行 ...