继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python入门

所谓伊人_在水一方
关注TA
已关注
手记 273
粉丝 23
获赞 169

一、编程与编程语言

  • 编程的目的:

    计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果

  • 什么使编程语言?

    上面提及的能够被计算机所能表达方式即变成语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人力编程的目的就是命令奴隶去工作。

  • 什么使编程?

    编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。

    强调:程序员在未运行前跟普通文件无异,只有程序在运行时,文件所写的字符才有特定的语法意义

二、编程语言分类

机器语言:站在计算机(奴隶)的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件;汇编语言:站在计算机(奴隶)的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作硬件;高级语言:站在(奴隶主)的角度,说人话,即用人类的字符去编写程序,屏蔽了硬件操作。
  • 高级语言更贴近人类语言,因而造成了:它必须被翻译成计算机能读懂二进制后,才能被执行,按照翻译方式分为:

    1、编译型(需要编译器,相当于用谷歌翻译):如C,执行速度快,调试方便
    2、解释型(需要解释器,相当于同声传译):如Python,执行速度慢,调式方便

  • 总结:

机器语言:

优点是最底层,执行速度最快缺点是最复杂,开发效率最低

汇编语言:

优点是比较底层,执行速度最快缺点是复杂,开发效率最低

高级语言:

 编译型语言执行速度快,不依赖语言环境运行,跨平台差解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

==PS:速度不是关键(瓶颈理论),开发效率高才是王道==

三、Python介绍

Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,Guido开始鞋能够解释Python语言语法的解释器,Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和Shell之间,功能全面,易学易用,可拓展的语言。Python可以应用于众多领域,如:数据分析、组建集成、网络服务、图像处理、数值计算和科学计算等众多领域。
  • Python(解释器)的发展史

    1989年,Guido开始写Python语言的编译器。
    1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
    Granddaddy of Python web frameworks, Zope 1 was released in 1999
    Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
    Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
    Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
    Python 2.5 - September 19, 2006
    Python 2.6 - October 1, 2008
    Python 2.7 - July 3, 2010
    In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
    Python 3.0 - December 3, 2008 (这里要解释清楚 为什么08年就出3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本)
    Python 3.1 - June 27, 2009
    Python 3.2 - February 20, 2011
    Python 3.3 - September 29, 2012
    Python 3.4 - March 16, 2014
    Python 3.5 - September 13, 2015
    Python 3.6 - 2016-12-23 发布python3.6.0版

  • Python有那些种类?

    我们现在知道了Python是一门解释型语言,代码想运行,必须通过解释器执行,Python的解释器本身也可以看作是个程序(翻译官司是哪国人不重要),这个程序是什么语言开发的呢? 答案是好几种语言? what? 因为Python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的Python代码,下面分别来看下:
    CPython:CPython是使用最广且被的Python解释器。本教程以CPython为准。
    当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫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的字节码。

四、变量

  • 什么是变量

    变量即变化的量,核心“变”与“量”二字,变即变化,量即衡量状态。

  • 为什么要有变量

    程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要由一种机制能够反映或者说是保存下来程序执行是状态的变化。

  • 变量的定义规范

    变量名只能是字母、数字或下环线的任意组合
    变量名的第一个字符不能是数字
    以下关键字不能声明为变量名['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']

  • 定义方式:

    驼峰体
    AgeOfOldboy = 20
    下划线(推荐使用)
    age_of_oldboy = 20

  • 定义变量名不好的方式

    1、变量名为中文、拼音
    2、变量名过长
    3、变量名词不达意

  • 定义变量会有:id、type、value

    1、等号比较的是value,
    2、is比较的是id

    强调:
    1、id相同,意味着type和value必定相同
    2、value相同type肯定相同,但id可能不同,如下:

    >> a="help:20"
    >> b="help:20"
    >> id(a)
    4330224472
    >> id(b)
    4330224528
    >> a == b
    True
    >> a is b
    False
    >>

  • 常量

    常量即指不变的量

五、用户与程序交互

  • 在Python3中

    input:用户输入任何值,都存成字符串类型
    在Python2中

    input:用户输入类型,就存成什么类型
    raw_input:等于Python3的input

  • 注释

    单行注释用#
    多行注释用''' '''或""" """

六、基本数据类型

  • int整型

    用于标识:年龄,等级×××号,QQ号,个数
    在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647
    在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~

  • float浮点数

    用于标识:工资,身高,体重

  • long(长整型)#(了解部分)

    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
    注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    注意:在Python3里不再有long类型了,全都是int

  • complex复数型(了解即可)

  • 字符串

    在Python中,加了引号的字符就是字符串类型,Python并没有字符类型
    定义:name='user'  #name=str('user')

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP