2、认识python

1,python历史。宏观上:python2 与 python3 区别:python2 源码不标准,混乱,重复代码太多,python3 统一 标准,去除重复代码。2,python的环境。编译型:一次性将所有程序编译成二进制文件。缺点:开发效率低,不能跨平台。优点:运行速度快。:C,C++等等。解释型:当程序执行时,一行一行的解释。优点:开发效率高,可以跨…

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载请标明原博地址:https://blog.csdn.net/m0_37898659/article/details/82429746
@纯属个人学习总结,不喜勿喷哈。

1,python历史。

宏观上:python2 与 python3 区别:

python2 源码不标准,混乱,重复代码太多,

python3 统一 标准,去除重复代码。

2,python的环境。

编译型:一次性将所有程序编译成二进制文件。

缺点:开发效率低,不能跨平台。

优点:运行速度快。

:C,C++等等。

解释型:当程序执行时,一行一行的解释。

优点:开发效率高,可以跨平台。

缺点:运行速度慢。

:python ,php,等等。

注意面试:python是一门动态解释性的强类型定义语言。

3、python优缺点

先看优点

  1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

  2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

  4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工
    作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行

  5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

再看缺点:

  1. 速度慢,Python
    的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。

  2. 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。

  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global
    Interpreter
    Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win
    thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

4,python种类。

这里写图片描述

CPython

当我们从Python官方网站下载并安装好Python
3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结:

  Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

5、运行Python

在命令行中途运行:(规则)

python3x : python 文件路径 回车

python2x : python 文件路径 回车(可以改exe文件的名,python—》python2)

python2 python3 区别:

python2默认编码方式是ascii码
python3 默认编码方式utf-8

解决方式:在文件的首行:#-*- encoding:utf-8 -*-

6、变量。

变量:就是将一些运算的中间结果暂存到内存中,以便后续代码调用。

例如:

print((1+2+3)*2)这样做,如果数字多了,看起来麻烦

可以用 x = 1+2+3 则print(x*2)

这个x就是变量

规范:

(1) 由数字,字母,下划线任意组合,且不能数字开头。

例如:

正确的:x , ab , x1 , x_ , X_1 , _x , _1

错误的:1x, 2 ,

(2) 不能是python中的关键字。

[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’,

‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’,

‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’,

‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’,

‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

(3) 变量具有可描述性。

(4) 不能是中文。

6、常量(一直不变的量)

注意:大写一般是常量

例如:BIR_OF_CHINA = 1949

7、注释。

方便自己方便他人理解代码。

单行注释:#

多行注释:”’被注释内容”’ “”“被注释内容”“”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119805.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java怎么输出数组的下标_java数组获取指定元素

    java怎么输出数组的下标_java数组获取指定元素/** *输出数组指定元素的下标 */ publicstaticvoidmain(String[]args){ //定义一个数组 int[]array=newint[]{123,456,789,321,654,987}; intindex=printArray(array,321); System.out.println(“321对应的下标是:”+index); //查询没有的数据 intindex1=printArray(array,1..

    2022年10月11日
  • 怎样让浏览器变身代码编辑器?

    怎样让浏览器变身代码编辑器?将浏览器变成一个简易文本编辑器一开始的功能非常简单,根本没有语法高亮,也没有自动缩进,仅仅是将浏览器变成一个文本编辑器而已。Jose分享的代码如下:data:text/html,htmlcontenteditable>只需要将上面的代码复制粘贴到浏览器的地址栏,然后按回车,就可以让浏览器变成编辑器。是不是非常简单?背后的原理并不高

  • 知识库名称_个人知识库

    知识库名称_个人知识库创作歌剧《魔笛》的是::莫扎特春分时黄昏时北斗星指向::东方春秋战国时期,法家的代表人是::韩非子春秋战国时期与伯乐齐名的相马高人::方九皋国画名品《泼墨仙人》是谁的作品?:梁楷国际奥林匹克集邮联合会在哪一个国家成立?:瑞士国际奥委会发行的《祝贺北京成为2008年奥林匹克运动会主办城市》的纪念封上,代表北京的图案是::天坛国际奥委会评估团2月底对北京进行

  • vim的复制粘贴命令_linux vim全选复制

    vim的复制粘贴命令_linux vim全选复制一、最基本的复制粘贴1.将光标移动到要复制的文本开始的地方,按v进入可视模式。2.将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。3.移动光标到文本结束的地方,按p粘贴。…

  • pycharm定义函数无法运行_把一个命令按钮设置成无效

    pycharm定义函数无法运行_把一个命令按钮设置成无效Pycharm命令行Terminal命令无效欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与…

  • 微信公众号开发基本流程

    微信公众号开发基本流程背景:过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。微信公众平台官网:https://mp.weixin.qq.com文章目录一、注册公众号二、了解公众号管理页面三、必备开发者工具的使用1.开发者文档2.在线接口调试工具3.web开发者工具4.公众平台测试账号四、细读开发者文档五、开发流程重点解析1.开发环境准备2.服务器基本配置3….

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号