目录

  • 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入门与环境介绍相关推荐

  1. python 论坛搭建_Python第一课 - python的开发环境的搭建

    Python第一课 - python的开发环境的搭建 一.下载安装Python的安装包 打开官网 https://www.python.org/downloads/windows/ 下载中心 [标记为 ...

  2. python入门第一课_入门第一课 Python入门涉及的问题及简单示例

    很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...

  3. 第一章 Python Kivy 学习 -- Kivy介绍及环境安装

    系列文章目录 第一章 Python Kivy 学习 – Kivy介绍及环境安装 第二章 Python Kivy 学习 – Kivy项目开发原理(待编辑) 第三章 Python Kivy 学习 – Ki ...

  4. python编程入门第一课_python入门前的第一课 python怎样入门

    人工智能时代的到来,很多文章说这么一句:"不会python,就不要说自己是程序员",这说的有点夸张了,但确实觉得目前python这个语言值得学习,而且会python是高薪程序员的必 ...

  5. Python网络爬虫第一课----Python网络爬虫基础《http和https协议》

    Python网络爬虫第一课----Python网络爬虫基础<http和https协议> 一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protoc ...

  6. 量化交易 实战第一课 策略入门

    量化交易 实战第一课 策略入门 概述 要求 指标 市净率 股票市值 代码实现 概述 不管是技术分析还是基本面分析, 我们在进行投资的时候会选择某些表现好的股票来作为一个股票池. 从中进行交易的判断 ( ...

  7. 第一篇-python入门

    Python入门 一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器 ...

  8. EXCEL VBA小白第一课:入门

    本文首发我的知乎,转载请注明出处. 其实网上关于VBA的教程并不少,但是对于小白来说,最难的还是入门. 大神们一行行代码讲得天花乱坠,然而小白却不知道从哪里进入代码界面,代码的语法是怎样的,怎么运行代 ...

  9. 【Spring】第一课 Spring框架的环境搭建和使用

    概念 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发.从简单性.可测试性 ...

最新文章

  1. 在浏览器中内嵌word_关于项目浏览器内核的选取解读
  2. Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
  3. python获取原图GPS位置信息,轻松得到你的活动轨迹
  4. 《集体智慧编程》第六章
  5. 感恩节祝福html,感恩节祝福英文
  6. eclipse对maven项目进行打war包
  7. url 保持不变php,thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它保持不变...
  8. Activity之launchMode:singleTop,singleTask与singleInstance
  9. 201301 JAVA2~3级---走格子
  10. 珍珠(信息学奥赛一本通-T1384)
  11. 华为开发者大会2020(Together)精彩集锦
  12. 51/52单片机 TCON控制字及TMOD寄存器
  13. S7-200SMART案例分析——伺服接线(二)
  14. 小程序 tabBar菜单
  15. Spark综合学习笔记(五)SparkStreaming介绍
  16. anaconda中报错 Executing transaction: failed
  17. macos android大小写,Git(MacOS)区分大小写覆盖问题
  18. mysql日期教程_Navicat for MySQL 设置日期时间栏位教程(图文)
  19. 产生按指数分布的随机数----摘自csdn
  20. 【Noip模拟 20161004】局域网

热门文章

  1. IDEA提升研发效能—高效定位篇
  2. 16个概念带你入门 Kubernetes
  3. 细说Redis分布式锁
  4. 字节首推Java成长笔记:(原理+应用+源码+调优全都有)
  5. 一文理解 DDD 领域驱动设计!
  6. 有关 HashMap 面试会问的一切
  7. 漫画谈一下Maven依赖,百分之90的同学不知道!
  8. 唯品会实时计算平台的演进之路
  9. Redis RDB 持久化详解
  10. Scrum中文网-疫情之下2021敏捷年度状态报告十大看点