第一课.python入门与环境介绍
目录
- 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(Windows环境下),作用是通过简易小巧的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的脚本文件为*.ipynb,实际为ipython notebook,IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数
notebook中,cell有两类:code和markdown,code才可以运行,markdown支持latex,latex用html形式书写,并自动矢量渲染
notebook画图显示需要魔法开关:
%matplotlib inline
简要查看各个魔法开关:
%quickref
在线的google driver(需要VPN),codespace,但在某些地区,速度比较慢,为便于初级学习,可用在线python3解释器
或者直接到官网Shell
第一课.python入门与环境介绍相关推荐
- python 论坛搭建_Python第一课 - python的开发环境的搭建
Python第一课 - python的开发环境的搭建 一.下载安装Python的安装包 打开官网 https://www.python.org/downloads/windows/ 下载中心 [标记为 ...
- python入门第一课_入门第一课 Python入门涉及的问题及简单示例
很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...
- 第一章 Python Kivy 学习 -- Kivy介绍及环境安装
系列文章目录 第一章 Python Kivy 学习 – Kivy介绍及环境安装 第二章 Python Kivy 学习 – Kivy项目开发原理(待编辑) 第三章 Python Kivy 学习 – Ki ...
- python编程入门第一课_python入门前的第一课 python怎样入门
人工智能时代的到来,很多文章说这么一句:"不会python,就不要说自己是程序员",这说的有点夸张了,但确实觉得目前python这个语言值得学习,而且会python是高薪程序员的必 ...
- Python网络爬虫第一课----Python网络爬虫基础《http和https协议》
Python网络爬虫第一课----Python网络爬虫基础<http和https协议> 一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protoc ...
- 量化交易 实战第一课 策略入门
量化交易 实战第一课 策略入门 概述 要求 指标 市净率 股票市值 代码实现 概述 不管是技术分析还是基本面分析, 我们在进行投资的时候会选择某些表现好的股票来作为一个股票池. 从中进行交易的判断 ( ...
- 第一篇-python入门
Python入门 一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器 ...
- EXCEL VBA小白第一课:入门
本文首发我的知乎,转载请注明出处. 其实网上关于VBA的教程并不少,但是对于小白来说,最难的还是入门. 大神们一行行代码讲得天花乱坠,然而小白却不知道从哪里进入代码界面,代码的语法是怎样的,怎么运行代 ...
- 【Spring】第一课 Spring框架的环境搭建和使用
概念 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发.从简单性.可测试性 ...
最新文章
- 在浏览器中内嵌word_关于项目浏览器内核的选取解读
- Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
- python获取原图GPS位置信息,轻松得到你的活动轨迹
- 《集体智慧编程》第六章
- 感恩节祝福html,感恩节祝福英文
- eclipse对maven项目进行打war包
- url 保持不变php,thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它保持不变...
- Activity之launchMode:singleTop,singleTask与singleInstance
- 201301 JAVA2~3级---走格子
- 珍珠(信息学奥赛一本通-T1384)
- 华为开发者大会2020(Together)精彩集锦
- 51/52单片机 TCON控制字及TMOD寄存器
- S7-200SMART案例分析——伺服接线(二)
- 小程序 tabBar菜单
- Spark综合学习笔记(五)SparkStreaming介绍
- anaconda中报错 Executing transaction: failed
- macos android大小写,Git(MacOS)区分大小写覆盖问题
- mysql日期教程_Navicat for MySQL 设置日期时间栏位教程(图文)
- 产生按指数分布的随机数----摘自csdn
- 【Noip模拟 20161004】局域网