IDLE是python集成开发环境,包括编辑器、调试工具、Python shell、Python 3在线文档集
>>>
提示窗口)Python Shell是一个REPL环境(read-eval-print-loop,一个交互式编程工具),用来运行 Python代码段,通常一次运行一条语句。
Python shell允许在编写代码的同时尝试运行:在标识符>>>
后输入代码会被立即执行
ps.Python Shell的交互式很有用。想要确定解决某个特定问题所需的代码时, Python程序员通常更倾向于在shell上试验代码段
一些python shell(>>>
提示窗口)使用技巧:
TAB
可显示代码提示Alt
+/
可自动补全(若不是想要的,再按Alt
+/
取消)Alt
+P
可回忆之前键入的前一语句(即Previous)Alt
+N
可前进至下一语句(即Next)Ctrl
+]
可将选中的文本增加缩进Ctrl
+[
可将选中的文本减少缩进Alt
+3
加注释,Alt
+4
去掉注释Ctrl
+Z
可撤销修改Ctrl
+Shift
+Z
可重做Consolas
dir(xxx)
可查看Python中与某个东西相关的所有属性;help(xxx)
可获得相关的Python帮助文档;help()
进入帮助模式,>>>
变为help>
,输入内置函数名获得相关帮助,输入quit
退出#查看random模块的所有属性和方法
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random',
'randint', 'random', 'randrange', 'sample', 'seed',
'uniform', 'vonmisesvariate', 'weibullvariate']
#查看randint函数的帮助文档
>>> help(random.randint)
Help on method randint in module random:
randint(a, b) method of random.Random instance
Return random integer in range [a, b], including both end points.
在IDLE中选择File -> New File,可以创建文本编辑窗口;
在文本编辑窗口中,选择Run -> Python Shell可以返回python shell;
文本编辑窗口可以用来编写完整的 Python程序;保存程序后,按下F5可运行程序
一些python shell使用技巧:
注意区别:
- python shell一次只能运行一条语句(或几行for代码组,这需要按两次回车才能运行),不能运行整个程序;
因此有多行代码时,一般先在编辑窗口写好再运行,而不在shell中运行- python shell中,输入变量、表达式、函数,都能直接显示它的值或结果,而在文本编辑窗口中,同样的语句可能需要加上print()才会显示
另外,除了用IDLE,还可以直接在系统命令行运行Python,也能访问>>>提示窗口
IDLE适合实验小的代码段,运行pip、Flask等应用,应该在操作系统的命令行上直接通过解释器运行代码:在目标.py
程序所在文件夹中长按shift
键,同时单击鼠标右键,在菜单中选择Open Command window here(在这里打开命令PowerShell窗口)在这个命令提示窗口中键入下面的命令:
py -3 xx.py
从而让python解释器运行xx.py中的代码
Python的运行方式与C语言不同,python没有main()函数,也没有编辑→编译→链接→运行过程。Python中没有将源代码编译为“可执行代码”的概念
使用 Python时,只需要编辑和保存代码,然后立即运行。Python解释器直接对文件从上到下开始运行代码,一次执行一行
IDLE代替程序员与 Python解释器交互,解释器会为你自动完成编译→链接→运行过程。这使你能够集中精力编写你的代码。
“Python”是编程语言的名字,而“IDLE”是内置的集成开发环境Python IDE的名字。
安装 Python3时,还会安装一个Python解释器,解释器的名称也叫“Python”,正是这个解释器在运行你的 Python代码。
Python标准库是一组丰富的软件模块,提供了大量预建、高质量的可重用代码。
标准库由许多不同的模块组成;而一个模块则是函数的一个集合
import的第一种用法是导入模块
采用这种方式导入时,在使用函数时要用模块名加以限定
也就是说,必须使用点记法来访问模块的函数。如下面的os.getcwd()
>>> import os
>>> os.getcwd()
'C:\\Users\\13272\\Desktop'
从datetime模块导入datetime(同名)子模块
>>> from datetime import datetime
>>> datetime.today()
datetime.datetime(2021, 10, 17, 14, 19, 13, 294843)
第二种用法把一个指定的函数导入到程序的命名空间(命名空间的概念在 Python中很重要,因为它定义了运行代码的上下文)
这允许我们直接调用这个函数,而不必将函数链接回所导入的模块(无需限定)
(直接写getcwd()
而不用写成os.getcwd()
)
从os模块导入getcwd函数
>>> from os import getcwd
>>> getcwd()
'C:\\Users\\13272\\Desktop'
注意,不要在函数内部放任何 Import语句
解释器在你的代码中遇到一个 import语句:
如果 import语句在函数之外,这个行为没有什么问题,因为所导入的模块(通常)只读一次,然后执行一次不过;
如果 import语句出现在一个函数内部,那么每一次调用这个函数时都会读入和执行。这是一种极为浪费的做法(尽管解释器不会阻止这样做)
>>> from os import * #相当于引入了所有模块
>>> getcwd()
'C:\\Users\\13272\\Desktop'
>>> import os as o #用自定义的名称来称呼一个库
>>> o.getcwd()
'C:\\Users\\13272\\Desktop'
>>> import time
>>> time.sleep(3)#让程序暂停运行3秒
>>> import random
>>> random.randint(1,5)#获取随机数
3
OrderedDict
:这个类会维持插入顺序。Counter
:这个类会让计数变得极其容易。ChainMan
:组合一个或多个字典,使它们看上去就像一个字典Python文档关于标准库的内容:https://docs.python.org/3/library/index.html
另外,并不是只有标准库才能提供可以在代码中使用的可导入模块。 Pythona社区还支持一个超级棒的第三方模块集合,可以查看 Python社区管理的存储库:http://pypi.python.org
自动测试非常重要,可以花些时间了解如何利用Python的标准库来更容易地测试代码。
pdb是一个功能非常完备的 Python内置提供的调试器
可以从命令行运行pdb:py -3 -m pdb xxx.py
也可以在>>>
提示窗口与pdb交互,可以设置断点、跳过、运行等
另外,PyLint代码分析工具会分析你的代码,在你第一次运行代码之前会告诉你代码可能存在什么问题
一份代码需要安装第三方模块的某个版本,而另一份代码需要安装同一个第三方模块的另一版本。想要在同一台计算机上,同时运行这两份代码,会遇到问题:Python解释器不支持安装不同版本的第三方模块。
两种实现虚拟环境的方案:
venv
virtualenv
(它与venv完成的工作相同,不过有更多的特性)