python开发环境功能介绍_第一模块 第3章 Python介绍与环境配置

python入门(全为重点)

1. 编程语言介绍

编程语言分类、总结

2. python介绍

3. 解释器多版本共存

4. 运行python程序的两种方式

5. 一个python程序运行的三个步骤(******)

6. 注释

7. IED集成开发环境

3.1 编程语言分类之低级语言

这里的高级/低级指的是离硬件较远/较近

编程语言分类

1.机器语言

直接用二进制语言编写程序

特点:

1.执行效率最高

2.开发效率最低

3.跨平台性差

2.汇编语言

用英文标签取代二进制语言,但是跟机器语言半斤八两。

特点:

1.执行效率高

2.开发效率低

3.跨平台性差

3.高级语言

高级指离硬件比较远,用人类能理解的语言写程序。

按照翻译方式的不同,分为以下两种:

编译型(如C语言)

解释型(如python)

3.2 编程语言分类之高级语言

编译型(如C语言)

用高级语言编写的程序使用编译器(GCC)完整地翻译成二进制指令。

特点:

1.执行效率高

2.开发效率低

3.跨平台性差

4.其他

解释型(如python)

用高级语言编写的程序首先转成中间格式(字节码格式),然后交由解释器解释字节码,解释一行执行一行。

特点:

1.执行效率低

2.开发效率高

3.跨平台性好

4.其他

混合型语言(如java)

总结

1. 执行效率:机器语言>汇编语言>高级语言(编译型>解释型)

2. 开发效率:机器语言<汇编语言<高级语言(编译型<解释型)

3. 跨平台性:解释型具有极强的跨平台性

3.3 python介绍

龟叔先确定了python这门语言的风格,然后开始编写python解释器。python解释器就是一款应用程序,龟叔当年用C语言开发了python解释器,所以称为cpython,后来有人用java写解释器,称为jpython。

python的发展史主要是python解释器的发展史,语法层面上变动不大。具体采用哪种语言风格,要看兼容什么版本的解释器。

2008年出了python3,但是2010年出了python2.7,为了方便使用pyhton2解释器的用户使用。python2和python3存在一个分水岭,语法上存在差异。有些公司中的有些程序使用的还是python2的,所以为了方便起见可以下载两个版本的解释器,一个是最新版的python2(如2.7),一个是最新版的python3(如3.8.2)。不过使用最新版本的会存在风险。

3.4 解释器下载

python官网:

https://www.python.org/

2.7.17/3.8.2版

windows:

Mac OSX:

source code: linux

3.5 windows平台安装解释器

先安装,然后配置环境变量

2.7.17版安装:

2054372-20200603114314453-568257093.png

指定安装路径:

2054372-20200603114405693-1775869203.png

注意:先默认(Add python.exe to Path)为x

2054372-20200603114605265-1330815707.png

2054372-20200603114848632-1979352799.png

2054372-20200603115406221-1185287322.png

其中这三个中的代码完全一样,pip.exe用于引入第三方软件或工具。

3.8.1版安装:

2054372-20200603115832341-297046665.png

2054372-20200603115945183-416227244.png

2054372-20200603120154748-2041073978.png

注意:不一定非得安装到C盘下,可以安装到其他盘。

配置环境变量:

操作系统会先在当前文件夹去找python.exe,如果找不到就去环境变量中提供的路径下依次检索。

配置环境变量的作用是方便操作系统查找到文件。

配置环境变量的方法:

我的电脑>>>属性>>>高级系统设置>>>环境变量>>>

2054372-20200603130102328-1202621850.png

2054372-20200603130309737-208151187.png

添加好后一路按确定即可。

如果电脑上同时安装了两个或多个不同版本的python,为了方便调用可以复制一份python.exe,然后重命名,直接调用重命名后的即可:

2054372-20200603135426987-1588007927.png

配置后pip的环境变量后,使用黑窗口调用下,得到以下结果:

C:\WINDOWS\system32>pip -V

pip20.0.2 from c:\users\wangjian_tr\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

说明,通过pip 20.0.2下载的第三方模块等都存放到以下路径中:c:\users\wangjian_tr\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

注意:新下载安装的python解释器比较干净,随着使用会不断安装第三方模块或软件,这就会造成环境的污染,为了解决这一问题,出现了虚拟环境,下载的第三方软件都寄生在虚拟环境中,并不影响python解释器母体。每开发新软件时使用新的虚拟环境,保证开始的环境是干净的。pycharm中有创造虚拟环境的功能。

windows系统中默认不安装python解释器,但是有些系统中自带python解释器。如果系统自带了,那么在使用的时候会往系统中安装第三方软件,那么为了不污染系统环境也要使用虚拟环境。

3.6 linux平台安装解释器

3.7 mac平台安装解释器

3.8 运行python程序的两种方式

1.交互式

在黑窗口中执行

即时得到程序的运行结果,多用于调试,不能永久保存,起着辅助的作用。

C:\Users\wangjian_tr>python

Python3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64bit (AMD64)] on win32

Type"help", "copyright", "credits" or "license" formore information.>>> print('hello world')

hello world

2.脚本的方式

把程序写到文件中(约定俗成文件名结尾为.py),然后用python解释器解释其中的内容。

2054372-20200603185012511-224160470.png

在黑窗口中执行:

C:\Users\wangjian_tr>python C:\Users\wangjian_tr\Desktop\脚本的方式.txt

hello world

将以上txt文件的后缀改为.py后,在黑窗口中执行:

C:\Users\wangjian_tr>python C:\Users\wangjian_tr\Desktop\脚本的方式.py

hello world

3.9 python程序运行的三个步骤(*****)

针对脚本的运行方式,主要经历三个过程。

python python程序文件的路径

执行python程序经历三个步骤:

1.先启动python解释器,此时相当于启动了一个文本编辑器

操作系统先在当前路径下查找是否存在python解释器,如果没有就去系统环境变量中查找,找到后将其代码加载到内存,交给CPU进行运行。

2.解释器会发送系统调用,将xxx.py中的内容从硬盘读入内存,此时xxx.py中的所有字符全部为普通字符,没有任何语法意义。

解释器向操作系统发送请求,让操作系统将要解释的文件从硬盘读取到内存。这一步仅仅做了准备工作,内存中python解释器准备好了,xxx.py文件准备好了。

3.解释器开始解释执行刚刚读入内存的xxx.py的代码,开始识别python语法。

对比文本编辑器读取xxx.py的内容的步骤:

2054372-20200603191751445-1516276945.png

打开右侧txt文本,将左侧文件拖动到右侧文本中,右侧文本中会显示左侧文件中的内容。

1.先启动文本编辑器

2.文本编辑器会发送系统调用,把xxx.py的内容从硬盘读入内存

3.文本编辑器会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果。

总结:两者在前两个阶段做的事情完全一致,唯一不同的是第三阶段对读入内存的python代码的处理方式不同。

3.10 集成开发环境介绍

推荐使用的集成开发环境是pycharm

profession版

解释器的更换:

2054372-20200603143935067-1129648605.png

最后点击ok>>>apply>>>ok

3.11 虚拟环境介绍

虚拟环境是对安装的python解释器的拷贝,创建虚拟环境的方式如下:

2054372-20200603155404188-630601575.png

2054372-20200603160311262-576282701.png

3.12 注释

作用:

1. 注释是对代码的解释说明

2. 被注释的代码不会被执行

分类:

1.单行注释:

1.写在代码上方

2.写在代码后方,注意#和代码之间空两个空格,#后空一格空格

注意:为关键代码加注释,没必要为所有代码加注释。

2.多行注释

三引号:三个单引号/三个双引号

'''xxx'''或"""xxx"""

#这是单行注释

print('hello') #这是单行注释

'''

这是

多行

注释

'''

"""

这是

多行

注释

"""

# print('hi')

注意:如果代码写完后下方出现波浪线,说明代码的写法不符合规范。

重点问题:

1.机器语言、汇编语言、编译型、解释型语言在执行效率、开发效率、跨平台方面的高低对比

2.python解释器与python语言的关系

1.python解释器是一款应用程序,专门用于解释python这门语言的语法风格并执行。

2.python语言编写的程序最终都是被解释器执行的,所以我们可以这么说,python语言更多地都是在调用python解释器的功能,所以解释器性能的高低很大程度决定了我们用python写出的程序执行效率的高低。

3.什么是环境变量path,或者说它是用来干什么的

4.运行python程序的两种方式

交互式

在黑窗口中调用python,然后输入命令,会立马得到反馈结果,通常用于调试。

脚本的方式

将程序写在文件中存起来,然后在黑窗口中写pthon python程序的路径

5.一个python程序运行的三个步骤/阶段

总结它与文本解释器读取文件的三个阶段的吸纳共同之处与不同之处

6.注释的种类、注释的用途

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用WPF做关于MEF 简单学习记录

写在前面&#xff1a;下面学习所得多是从自http://www.cnblogs.com/comsokey/p/MEF1.html和http://www.cnblogs.com/yunfeifei/p/3922668.html两位大神的文章里学到的&#xff0c;特别鸣谢&#xff01;整理下是更大一方面是对自己知识的梳理&#xff0c;用词用句不够准确&#…

C排序算法:(一)直接排序

最简单的排序方法。 如果从大到小排序&#xff0c;那么从[0]元素开始&#xff0c;和后面的元素进行对比&#xff0c;如果后面元素大&#xff0c;则和[0]元素交换。 核心思想&#xff1a;选定基准元素&#xff0c;和其他元素对比。 #include <stdio.h>unsigned char buff…

c语言 链表_C语言编程第22讲——单向有序链表的C语言实现

1、单向有序链表的含义单向有序链表可以解析为四个名词&#xff1a;表&#xff1a;一组元素&#xff1b;链表&#xff1a;表中的元素不是从前往后一个挨着一个&#xff0c;而是通过一个元素才能找到另一个元素&#xff1b;单向&#xff1a;表中的元素只能从前往后访问&#xff…

C排序算法:(二)冒泡排序

冒泡排序就是从左至右比较相邻的两个数值大小&#xff0c;如果右侧的数值较小&#xff0c;则交换两个数值的位置&#xff0c;较大的数值就会像泡泡一样一路向右漂浮。 #include <stdio.h>//small to big void Bubble_Sort(unsigned char *input_data, unsigned int inpu…

pythonturtle画点的指令_简述python的turtle绘画命令及解释

一 基础认识 turtle库是python的标准库之一&#xff0c;它是一个直观有趣的图形绘制数据库&#xff0c;turtle(海龟&#xff09;图形绘制的概念诞生1969年。它的应用十分广&#xff0c;而且使用简单&#xff0c;只要在编写python程序时写上import turtle即可。 1.绘图窗口设置命…

OpenGL ES一些函数详解(一)

glLoadIdentity和glMultMatrix glLoadIdentity的作用是将当前模型视图矩阵转换为单位矩阵&#xff08;行数和列数相同的矩阵&#xff0c;并且矩阵的左上角至右下角的连线上的元素都为1&#xff0c;其它元素都为0&#xff09;&#xff0c;这样可以方便矩阵的乘法运算。 glMultMa…

C排序算法:(三)插入排序

像打扑克牌一样&#xff0c;每次摸一张牌&#xff0c;把牌插入正确位置。 #include <stdio.h>void Insert_Sort_Small_To_Big(unsigned char* input_data, unsigned int input_length) {int i 0, j 0;unsigned char temp 0;for (i 1; i < input_length; i){temp …

LeetCode Binary Tree Paths(简单题)

题意&#xff1a;   给出一个二叉树&#xff0c;输出根到所有叶子节点的路径。 思路&#xff1a; 直接DFS一次&#xff0c;只需要判断是否到达了叶子&#xff0c;是就收集答案。 1 /**2 * Definition for a binary tree node.3 * struct TreeNode {4 * int val;5 * …

新唐M0 KEIL环境搭建,找不到device不识别,关键:Nu-Link_Keil_Driver

公司用新唐的芯片&#xff0c;网上关于新唐的资料相对ST确实少得可怜&#xff0c;搭建环境也是搞了好久&#xff0c;去keil官网下载安装了新唐的pack 打开官方参考工程还是提示找不到device&#xff0c;option里面也没有识别出来。 百度了好久&#xff0c;尝试了各种办法&…

c语言有趣代码_【新课预知】——C语言程序设计

编者按&#xff1a;如今疫情这么严重&#xff0c;为了保护好自己&#xff0c;为了身边的人&#xff0c;大家可一定要听从国家号召——“宅”起来&#xff01;并且&#xff0c;小编们为了让大家伙“宅”得更加健康&#xff0c;可是费了不少脑筋呢&#xff0c;学哉数理公众号首次…

用R语言的quantreg包进行分位数回归

什么是分位数回归 分位数回归(Quantile Regression)是计量经济学的研究前沿方向之一&#xff0c;它利用解释变量的多个分位数&#xff08;例如四分位、十分位、百分位等&#xff09;来得到被解释变量的条件分布的相应的分位数方程。 与传统的OLS只得到均值方程相比&#xff0c;…

常规单元测试和存根–测​​试技术4

我的上一个博客是有关测试代码的方法以及讨论您要做和不需要进行测试的方法的一系列博客中的第三篇。 它基于我使用一种非常常见的模式从数据库中检索地址的简单方案&#xff1a; …并且我提出了这样的想法&#xff1a;任何不包含任何逻辑的类都不需要进行单元测试。 在其中&am…

中微CMS32 Keil环境搭建

打开中微官网https://www.mcu.com.cn/Products/113/pids/.html 把这三个资料都下载好。 环境搭建需要用的就是第三个pack包了 坑爹的是pack包下载下来是.zip格式 下载好后需要修改为.pack格式 运行即可。 打开三个资料中的demo code的工程 target和device都能识别出 编…

测试技巧–不编写测试

对此没有太多疑问&#xff0c;测试代码的方式是一个有争议的问题。 不同的测试技术因各种原因&#xff08;包括企业文化&#xff0c;经验和总体心理观点&#xff09;而受到不同开发人员的青睐。 例如&#xff0c;您可能更喜欢编写经典的单元测试&#xff0c;通过检查返回值来单…

Ubuntu镜像下载地址

https://mirrors.aliyun.com/ubuntu-releases/ 用迅雷下载速度挺快的

Codeforces Round #365 (Div. 2) D. Mishka and Interesting sum (离线树状数组+前缀xor)

题目链接&#xff1a;http://codeforces.com/contest/703/problem/D 给你n个数&#xff0c;m次查询&#xff0c;每次查询问你l到r之间出现偶数次的数字xor和是多少。 我们可以先预处理前缀和Xor[i]&#xff0c;表示1~i的xor和。因为num^num0&#xff0c;所以Xor[r] ^ Xor[l - 1…

九齐51单片机使用注意事项:不要用float

在使用ADC计算电压值时用了float&#xff0c;NY8B072A堆栈直接炸了&#xff0c;用32机习惯了&#xff0c;一直想不通&#xff0c;查了手册才知道。 手册是&#xff1a;《NYC_NY8_UM_v1.5_SC.pdf》 链接&#xff1a;https://www.nyquest.com.tw/cn/support/download/Nyquest_SW…

go 基准测试 找不到函数_基于Golang做测试

本文在实习期间完成并完善&#xff0c;无任何公司机密&#xff0c;仅做语言交流学习之用。持续更新。1.Golang的单元测试Go语言提供了丰富的单测功能。在Go中&#xff0c;我们通常认为函数是最小的可执行单元。本例中使用两个简单的函数&#xff1a;IsOdd和IsPalindrome来进行G…

九齐NY8B072A单片机使用笔记(三)模拟串口RX

因为这款单片机没有硬件串口&#xff0c;所以需要我们自己做软件模拟串口。 用PA3作为RX&#xff0c;因为PA3可以作为外部输入中断EXTI1。 本人首先用轮询的方式查PA3是否从高电平跳变到低电平&#xff08;起始信号&#xff09;&#xff0c;但是因为还有别的业务逻辑&#xf…

[LindCode] Binary Tree Postorder Traversal

Binary Tree Postorder Traversal Given a binary tree, return the postorder traversal of its nodes values. Example Given binary tree {1,#,2,3}, 1\2/3return [3,2,1]. Challenge Can you do it without recursion? SOLUTION 1: recursion&#xff1a; 分治法解决之&am…