初识python

Posted us-wjz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识python相关的知识,希望对你有一定的参考价值。

  欢迎来到博客园牟眸某分享中心,从今天起,我将整理一些有关python编程语言的知识分享给广大学者。现如今python有python2和python3这两个版本,此次分享是基于python3的入门,供大家学习参考。好了,我们开始进入主题,作为一个编程员,无论学习哪门计算机编程语言,都需要了解一下这门语言的发展史及独特之处。无论是简单略过还是详细了解,都是有必要的,这也将有助你对这门语言的理解、学习和掌握。那接下来,我们开启python学习的时光之旅吧。

python简介

  Python是一种计算机程序设计语言。是一种面向对象的动态类型语言Python的创始人为荷兰人吉多·范罗苏姆,著名的“龟叔”Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python‘s Flying Circus)。

       ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
 
  现在,全世界差不多有 600 多种编程语言,但流行的编程语言也就那么 20 来种。如果你听说过 TIOBE 排行榜,你就能知道编程语言的大致流 行程度。比如非常流行的适合android移动应用开发的 Java 语言,非常难学的 用来编写操作系统 的贴近硬件的C 语言,适合初学者 的 Basic 语言,适合网页编程的 JavaScript 语言等等。总的来说,这几种编程语言各有千秋。那么问题来了,我们该选择哪门语言呢?这就因人而异了,受个人的编程水平、职业的选择及主观意识影响,比如,C 语言适合开发那些追求运行速度、充分发 挥硬件性能的程序。而 Python 是用来编写应用程序的高级编程语言,是一门简明的并强大的面向对象的解释型语言,它常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地连在一起,具有简单、易学、免费、开源、可移植、可扩展、可,适合,快速开发各种程序,已经在web开发、科学运算、大数据分析、自动运维等方面得到广泛的使用,可嵌入、强大的第三方库等优点。对于初学编程的人们来说相对于学习其他语言更容易上手和理解,所以对于新手没有编程基础或自学编程的人,我建议从python入门。Python 为我们提供了非常完善的基础代码库,覆盖了网络、文件、 GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用 Python 开发,许多功能不必从零编写,直接使用现成的 即可。 除了内置的库外,Python 还有大量的第三方库,也就是别人开发的,供 你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以 作为第三方库给别人使用。Python 的哲学就是简单优雅,尽量写容易看明白的代码(可读性强),尽 量写少的代码(代码量少)。所以python是一门很人性化的语言,“人生苦短,我用python”,正确切反映其易学含义。
 

什么是面向对象

  早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2 = 4,通过设计一个算法就可以解决当时的问题。随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统。面向对象是指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,然后提供符号设计系统的面向对象的实现过程,以提高软件的重用性、灵活性和扩展性。python是完全面向对象的语言,完全支持继承、重载、多重继承。在 Python 里面所有东西都是对象。字符串是对象,列表是对象, 函数是对象,类是对象,类的实例是对象,甚至模块也是对 象。要解决问题首先要考虑需要哪些功能和条件,谁具备这些功能和条件,就由谁来解决这个问题,怎么解决就是谁的职责,最后把问题解决好了就行,要决解复杂的问题,就可以找多个不同的对象,各司其职,共同实现,最终完成需求。这就是编程里面向对象的编程思维,而具体的谁就是对象。

  类与对象的关系:类是对象的类型,对象是类的具体实例。类是具有同一特征对象统一的抽象概念,而对象是一个明确的实体,而者相辅相成,谁也离不开谁。

 

解释器

      技术图片

 

  计算机不能直接理解任何除机器语言以外的语言,所以必须把程序员写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器。编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点上的不同。当编译器以解释方式运行的时候,也被称之为解释器。

  编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了,程序执行效率高,依赖编译器,跨平台性差些。如C、C++。

  解释型语言:解释型语言编写的程序不进行预先编译。以文本方式存储程序代码,会将代码一句一句直接运行。在发布的时,看起来省了编译工作,但是在运行程序的时候,必须先解释再运行。

  总结来说,编译型语言比解释型语言执行速度快,解释型语言比编译型语言跨平台性好。

  当我们编写 Python 代码时,我们得到的是一个包含 Python 代码的以.py 为扩展名的文本文件。要运行代码,就需要 Python 解释器去执行.py 文 件。由于整个 Python 语言从规范到解释器都是开源的,所以理论上,只要 水平够高,任何人都可以编写 Python 解释器来执行 Python 代码(当然 难度很大)。事实上,确实存在多种 Python 解释器。下面介绍一下几种python解释器。

  Cpython:当我们从 Python 官方网站下载并安装好 Python3后,我们就直接获得 了一个官方版本的解释器: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 的不同点。

 

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

 

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

 

python的安装

  python运行需要python解释器工具,程序开发需要配置开发环境,这样我们才能成功运行我们运行的python代码。所以,安装python和配置开发环境是我们python编程员在编写程序之前的准备工作,python安装方式有两种,一是到python官网下载python3的相应版本(注意:本教程使用Python 3.6.5,所有代码只确保在 CPython 3.6版本下运行)。二是安装python开发j的集成工具。如Anaconda,此工具会默认下载最新版本的python,Anaconda指的是一个开源的Python发行版本,环境管理器,其包含了conda、Python等180多个科学包及其依赖项。不同操作系统,安装python或安装anaconda步骤也有所不同。本文只提供在window10上安装anaconda和pycharm编辑器的参考链接,使用anaconda的参考链接,安装完anaconda之后,需要手动配置系统环境变量,除在安装anaconda时勾选了自动添加环境变量外,如下图所示:

           技术图片

    手动添加环境变量的步骤

            添加对应Anaconda环境变量:(以自己的安装路径为准)

            C:\\Anaconda

            C:\\Anaconda\\Scripts

            C:\\Anaconda\\Library\\bin

            技术图片

 

            

           接下来找到“控制面板”:

 

            技术图片

            技术图片

            技术图片

            技术图片

            技术图片

            技术图片

 

python程序的运行

    Python有两种运行方式:交互式和脚本式。交互式可以通过cmd命令行窗口或者IDLE实现,而脚本式通过写一个脚本(.py结尾的文档)实现。其中交互式主要用于简单的python运行或者测试调试python时用到,而脚本式是运行python程序的主要方法。安装完python后,python默认提供了两个交互模式,一个是命令行交互式,一个是简单的交互窗口。

    命令行交互式:通过Windows命令行工具进行交互式运行python。同时按下Windows键和R键,启动“运行”,在“运行”中输入cmd然后回车,即弹出命令行工具,然后输入python,然后回车,此时命令行打印了python的相关信息和出现一个“>>>”的提示符就说明你进入了python交互模式(如下图所示),现在就可以输入python代码了,但不能输入系统的命令,否则报错。直接输入 python 进入交互模式,相当于启动了 Python 解释器,但是等 待你一行一行地输入源代码,每输入一行就执行一行。退出 Python用 exit()。

          技术图片

    IDLE交互窗口:idle交互和命令行交互是一样的运行方式,只不过IDLE中python代码可以语法高亮显示。打开命令行工具(cmd),输入idle,然后回车。此时弹出python交互窗口(如下图所示)。

          技术图片

    脚本式:在 Python 的交互式写程序,好处是一下就能得到结果,坏处是 没法保存,下次还想运行的时候,还得再敲一遍。实际开发的时候,我们总是使用一个文本编辑器来写代码,写完 了,保存为一个 *.py 文件,这样,程序就可以反复运行了。通过python解释器可以在命令行运行*.py文件,运行*.py需要注意文件的文件所在目录的路径,打开命令行工具后,通过命令“chdir”查看当前所在目录,如果在*.py的所在目录下,可以输入“python  *.py”运行python文件。否则输入命令“python  文件所在目录的绝对路径/*.py”,在命令行模式运行.py 文件和在 Python 交互式环境下直接运行 Python 代码有所不同。Python 交互式环境会把每一行 Python 代码的结 果自动打印出来,但是,直接运行.py 文件相当于启动了 Python 解释器,然后一次性把.py 文件 的源代码给执行了,你是没有机会以交互的方式输入源代码的。文件内容可通过print()函数打印可视信息。能写python程序的文本编辑器有很多,比如,Sublime Text、Notepad++等,IDLE工具同样具有文本编辑功能(在IDEL中点击file->new file,就会弹出一个未命名(Untitled)的脚本窗口,然后输入如下代码,并按Ctrl+S保存)。还有以后我们使用的强大的文本编辑器pycharm。请注意,用哪个都行,但是绝对不能用 Word 和 Windows 自带的记事本。 Word 保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地 方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其 妙的错误。

 

 pycharm简介

     PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发上文已经提供了pycharm的安装参考连接,安装完 成后,接下来创建新项目,

运行pycharm,正常运行如下图所示。

          技术图片

 

          技术图片

           pycharm的使用参考链接:https://www.cnblogs.com/sunshuhai/p/6262510.html

                      https://www.cnblogs.com/honkly/p/8536669.html

          pycharm常用快捷键:https://www.cnblogs.com/kaituorensheng/p/5371366.html

                    Ctrl + / 行注释

                    Ctrl + Shift + / 块注释

                    Ctrl + Alt + L 代码格式化

                    Tab / Shift + Tab 缩进、不缩进当前行

                    Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板

                    Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板

                    Ctrl+V/Shift+Insert 从剪贴板粘贴

                    Ctrl + D 复制选定的区域或行到下一行

                    Ctrl + Shift + J 添加智能线

                    Ctrl + Enter 智能线切割

                    Shift + Enter 另起一行

                    Ctrl + F4 关闭运行的选项卡

                    Shift + F10 运行

                    Shift + F9 调试

                    Ctrl + Shift + F10 运行编辑器配置

                    shift+方向键:选定代码

                    ctrl+方向键:滚动一段落

                    shift+ctrl+上下方向键:将本行移至哪里

                    atl+左右方向键或ctrl+tab:切换选项卡窗口

                    Ctrl + Z 撤回

                    Ctrl + Shift + Z 重做,恢复上次的撤销

 

 

python的第一个程序

    Hello World是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。实际上,这个程序的功能只是告知计算机显示Hello World这句话。传统意义上,程序员一般用这个程序测试一种新的系统或编程语言。对程序员来说,看到这两个单词显示在电脑屏幕上,往往表示他们的代码已经能够编译、装载以及正常运行了,这个输出结果就是为了证明这一点。Hello, World最早是由 Brian Kernighan 创建的。1978年,Brian Kernighan写了一本名叫《C程序设计语言》的编程书。

#我的第一个python程序
print("Hello, World!")

或是

import sys
print(sys.version)
print(sys.version_info)

 

 

 

 

 

若需要了解一些计算机原理,请移步到:https://www.cnblogs.com/us-wjz/articles/10798938.html

 

   

 

以上是关于初识python的主要内容,如果未能解决你的问题,请参考以下文章

初识python-条件判断

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL (-)纹理(Texture)

初识OpenGL (-)纹理(Texture)