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)


相关推荐

  • 漏洞知识库

    漏洞知识库

  • 阿里面试题:ConcurrentHashMap为什么是线程安全的?

    阿里面试题:ConcurrentHashMap为什么是线程安全的?阿里面试题:ConcurrentHashMap为什么是线程安全的?ConcurrentHashMap,其实是线程安全的HashMap,所以阅读ConcurrentHashMap,建议先阅读一下两篇介绍HashMap的文章你真的懂大厂面试题:HashMap吗?jdk1.7HashMap中的致命错误:循环链表jdk1.7ConcurrentHashMapjdk1.7Concu…

  • 超详细pycharm安装教程

    超详细pycharm安装教程超详细pycharm安装教程第一步:双击运行pycharm安装程序更改安装路径第二步:全都不用勾选第三步:点击install第四步:出现如下界面表示正在安装第五步:勾选RunPycharm然后点击Finish第六步:第七步:点击右下角Next…第八步:点击右下角StartUsingPyCharm第九步:点击Evaluate试用第十步:点击Evaluate第十一步:点击+(加号)CreateNewProject第十二步:点击location

  • [转]使用控件的RenderControl()方法导出Excel

    [转]使用控件的RenderControl()方法导出Excel//使用控件的RenderControl()方法生成HTML表格stringstrName=”HuaMingCe”;Response.Clear();Response.Buffer=true;Response.Charset=”utf-8″;Response.AppendH…

  • serdes接口速率_通用串行接口

    serdes接口速率_通用串行接口在以往的IC之间的源同步当中,发送的信号包括数据流信号,以及随着数据流信号同步的时钟信号,时钟信号在低速传输的情况下:1G以下传输,外部的扰动以及时钟抖动不会太影响数据流的恢复,但是如果时钟信号突破了1G甚至更高的情况下,外界环境中比如EMI的各种影响会引起时钟发生抖动,在高速采样恢复的过程中,这就没办法使用该时钟信号恢复数据,这里就用到了高速Serdes串行接口的恢复办法,将数据和时钟都通过高速线上传输,然后接受端通过PLL从数据流中恢复时钟,即使在传输的线上有轻微抖动,但是时钟和数据同时…

    2022年10月31日
  • unity3d游戏开发学习之使用3dmax创建导弹模型

    unity3d游戏开发学习之使用3dmax创建导弹模型

发表回复

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

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