第一课.python入门与环境介绍

Python简介

python是语法简洁的解释型,交互型语言,解释型指的是通过解释器执行,因此效率会比较低;交互型则代表可以用命令交互执行,可见python有两种执行方式。python也是动态的,不需要声明类型。
Python源码目录类似如下结构:
1.include:包含了各种头文件
2.Lib:包含各种标准库,由python实现
3.Modules:C语言写的模块
4.Objects:内部对象,int,list等的实现
5.Python:解释器核心,将大部分功能封装到python.dll中
执行过程为:.py–>编译为字节码.pyc–>传递给解释器(栈式虚拟机)–>获得结果
上面的栈式虚拟机指字节码.pyc与机器无关,只有虚拟机可以解释。.pyc也是一种object对象。在文件中,会看到python.exe,作用是通过简易小巧的exe调用“Python”下的各个dll库进行解释。
下面是一个小例子:

#解释型方式接收参数
import sys
print('the file name',sys.argv[0],'The time run',sys.argv[1])
for i in range(int(sys.argv[1])):
    print(i,'time run')

"""
示例:
terminal>python ./STACK/ground.py 2
the file name ./STACK/ground.py The time run 2
0 time run
1 time run
"""

解释器的分类

官方的python由C语言实现,因此解释器也叫Cpython
通过python实现的python,叫PyPy
通过.Net实现的python则是Ironpython;
Cpython有2个重要的栈,首先是执行栈,用于存储指令和操作数,另一个是块栈,用于存储循环与异常信息。
源文件.py–>.pyc,也可以用complie()函数完成,.py本质是一个字符文本,complie()可以生成Object:.pyc

#将.py编译到.pyc
src="""
print('hello')
"""
pyobj=compile(src,'file.py','exec')
exec(pyobj)#类似import file.py,将这个src的pyc加载到当前会话

包与模块

模块和包是两个不同的事物,模块是一个文件,假设当前有一个模块modules.py

import modules

意味着后续可调用模块内的各种对象(变量,函数,类)
如果改成

from modules import *

下次调用对象将不需要加前缀“modules.”
在一些脚本中会看到

if __name__=="__main__":

if name=="main"的作用:当模块需要作为程序入口时,可实现自适应;
包是各种模块的组合,常用内置包有:sys,re,os
内置包也是一个复杂的体系,经常需要查看说明文档,我们可以通过命令行方式查看说明文档:

>python -m pydoc -p 0

第三方包使用pip管理,常见第三方包有numpy,pandas等。

环境介绍

关于环境是很多的,有jupyter notebook,jupyter lab
在jupyter notebook中,快捷键详细说明:esc+h
notebook中,cell有两类:code和markdown,code才可以运行,markdown支持latex,latex用html形式书写,并自动矢量渲染
notebook画图显示需要魔法开关:

%matplotlib inline

简要查看各个魔法开关:

扫描二维码关注公众号,回复: 11953653 查看本文章
%quickref

在线的google driver(需要VPN),codespace,但在某些地区,速度比较慢,为便于初级学习,可用在线python3解释器
或者直接到官网Shell

猜你喜欢

转载自blog.csdn.net/qq_40943760/article/details/109091142