python入门(1)

一.什么是编程语言

编程语言是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

编程语言的分类:

编程语言总体分为机器语言、汇编语言、高级语言

机器语言:直接用二进制代码跟计算机交流沟通,直接操作硬件。

                  优点:计算机能够直接读懂,速度快,运行效率高。

                  缺点:开发效率极低

汇编语言:将机器语言的二进制指令变成英文单词,稍微提高了可读性和开发效率,程序员写完程序后通过汇编器(类似于高级语言的编译器)将汇编代码转化为机器语言然后交给CPU运行。

                  优点:开发效率高于机器语言

                  缺点:执行效率较机器语言

高级语言:站在奴隶主的角度,说奴隶主的话。(php,c,c++,java,c#,python,go)

分为两大类型:

1.编译型(类似于谷歌翻译)  c

一次翻译之后,就可以拿着翻译之后的结果已多次运新,编译的过程需要用到编译器。                

                  优点:运行效率高

                  缺点:开发效率低,跨平台性差

 2.解释型(类似于同声传译) python

一行一行的翻译(读一行翻译一行),解释的过程需要用到解释器

                   优点:开发效率高

                   缺点:运行效率低

             学习难度

                     机器语言>>>汇编语言>>>高级语言

              执行效率

                     机器语言>>>汇编语言>>>高级语言

              开发效率

                     高级语言>>>汇编语言>>>机器语言

二、python

python介绍

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python是一种解释型脚本语言,可以应用于以下领域:
  • Web 和 Internet开发
  • 科学计算和统计
  • 教育
  • 桌面界面开发
  • 软件开发
  • 后端开发
自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。
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的习惯。
  • 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 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • 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.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应用领域

  • 云计算

云计算最火的语言, 典型应用OpenStack

  • WEB开发

python相比php\ruby的模块化设计,非常便于功能扩展;多年来形成了大量优秀的web开发框架,并且在不断迭代;如目前优秀的全栈的django、框架flask,都继承了python简单、明确的风格,开发效率高、易维护,与自动化运维结合性好,python已经成为自动化运维平台领域的事实标准;众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。

  • 人工智能

基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python的支持,目前世界优秀的人工智能学习框架如Google的TransorFlow 、FaceBook的PyTorch以及开源社区的神经网络库Karas等是用python实现的,甚至微软的CNTK(认知工具包)也完全支持Python,而且微软的Vscode都已经把Python作为第一级语言进行支持。

  • 系统运维

Python在与操作系统结合以及管理中非常密切,目前所有linux发行版中都带有python,且对于linux中相关的管理功能都有大量的模块可以使用,例如目前主流的自动化配置管理工具:SaltStack Ansible(目前是RedHat的)。目前在几乎所有互联网公司,自动化运维的标配就是python+Django/flask,另外,在虚拟化管理方面已经是事实标准的openstack就是python实现的,所以Python是所有运维人员的必备技能。

  • 金融

量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测

  • 大数据

Python相对于其它解释性语言最大的特点是其庞大而活跃的科学计算生态,在数据分析、交互、可视化方面有相当完善和优秀的库(python数据分析栈:Numpy Pandas Scipy Matplotlip Ipython), 并且还形成了自己独特的面向科学计算的Python发行版Anaconda,而且这几年一直在快速进化和完善,对传统的数据分析语言如R MATLAB SAS Stata形成了非常强的替代性。

  • 图形GUI

PyQT, WxPython,TkInter

Python解释器安装

 Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,超简单

    打开官网 https://www.python.org/downloads/windows/ 下载中心

#测试安装是否成功
windows --> 运行 --> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功。
#多版本共存演示
注意:在安装目录下找到python.exe,拷贝一份,命名为python2.exe或python3.exe,一定要先复制再重命名,保留原版,因为pip工具会调用它。

两种运行python程序的方式

 1.交互式

 优点:输入内容立刻就有对应的返回结果

 缺点:无法永久保存数据

 2.命令行(文件的形式)

 优点:可以永久保存数据

 缺点:暂时来看运行该文件有点麻烦

                           

 文件后缀名

你所认为的不同的文件后缀有不同的功能那是程序员自己写的

py文件默认的后缀名就叫.py结尾

运行一个py文件需要走的步骤

1.将python解释器代码从硬盘读到内存(就等价于双击了word图标)

2.将你写好的py文件有硬盘读到内存(就等价于你双击了一个word文档)

3.解释器解释读取py文件中的内容,解释成计算机能够识别的语句

                         

变量

什么是变量?

量:衡量/记录事物的状态/特征

变:状态/特征是可以变化的

变量的三要素

       1.id():返回的是一串数字,这一串数字你可以直接理解为内存地址

       2.type():返回的是该变量对应的数据的类型

       3.value:该变量指向的内存当中数据的值

 

1.变量名:类似于变量值得门牌号,如果想访问该变量名对应的值,必须通过变量名来访问(唯一方式)

2.赋值符号(=):建立变量名与变量值得绑定关系

3.变量的值:通过变量名访问即可

# 变量名的命名规范:

"""

1.只能包含数字,字母,下划线

2.数字不能开头

3.关键字不能作为变量名

 

通常变量名的命名有两个流派

驼峰体(前端语言js推荐的命名方式)

userName

下划线python推荐的命名方式)

 user_name

注意:变量名一定要起的有意义(见名知意),千万不要用中文

垃圾回收机制

1.引用计数:内存中的数据如果没有任何的变量名与其有绑定关系,那么会被自动回收

2.标记清除:当内存快要被某个应用程序占满的时候,会自动触发

3.分代回收:根据值得存活时间的不同,划为不同的等级,等级越高垃圾回收机制扫描的频率越低

      

常量(不可变的量)

python里面压根没有常量

 通常将全大写的变量名看作常量(python程序员约定俗成的)

 

                    



 

posted @ 2019-06-28 23:31  Aomur  阅读(178)  评论(0编辑  收藏  举报