Python学习笔记之基础篇(-)初识python

Python的理念:崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

python的历史:

  • 1989年,为了打发圣诞节假期,作者Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。然后这个新语言就叫python,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增加了 lambdamapfilter 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
  • 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 - December 16,2016

python 需要注意的地方:python2.x 与 python 3.x的区别

Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

Python在一些公司的应用: 

  • 谷歌:Google earth 、谷歌爬虫、Google广告等项目
  • YouTube:世界上最大的视频网站YouTube
  • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 豆瓣: 公司几乎所有的业务均是通过Python开发的
  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

 语言的分类

一、编译型解释型 语言的区别

编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

编译型:一次性将所有程序编译成二进制文件。
        缺点:开发效率低,不能跨平台。
        优点:运行速度快。
        :C,C++等等。
    
    解释型:当程序执行时,一行一行的解释。
        优点:开发效率高,可以跨平台。
        缺点:运行速度慢。
        :python ,php,等等。

动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

强类型定义语言和弱类型定义语言

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

通过上面这些介绍,我们可以得出,python是一门动态解释性的强类型定义语言。

python的安装与卸载:

安装:官网下载 python  的安装包

第一步:下载Python安装包

1,先去Python官网(https://www.python.org/)上下载你自己想要的版本

python官网有几个下载文件,有什么区别?

Python 3.6.0a1 - 2016-05-17
Download Windows x86 web-based installer
Download Windows x86 executable installer
Download Windows x86 embeddable zip file
Download Windows x86-64 web-based installer
Download Windows x86-64 executable installer
Download Windows x86-64 embeddable zip file

x86是32位,x86-64是64位。

可以通过下面3种途径获取python:

web-based installer 是需要通过联网完成安装的
executable installer 是可执行文件(*.exe)方式安装

embeddable zip file 嵌入式版本,可以集成到其它应用中
(python下载时也可以下载zip的版本(Windows x86-64 embeddable zip file),但是下载后有时发现会出现很多dll文件丢失情况,还需要去重新修复这些问题,会比较麻烦,所以还是建议下载Windows x86-64 executable installer版本)

第二步:安装

A.双击下载好的安装包,弹出如下界面:

这里要注意的是,将python加入到windows的环境变量中,如果忘记打勾,则需要手工加到环境变量中;在这里我选择的是自定义安装,点击“自定义安装”进行下一步操作;

B.进入到下一步后,选择需要安装的组件,然后点击下一步:

C.在这里可以自定义路径选择安装:

D.点击下一步后,就开始真正安装了:

E:安装完成后,会有一个安装成功的提示界面:

第三步:测试

python安装好之后,我们要检测一下是否安装成功,用系统管理员打开命令行工具cmd,输入“python -V”,然后敲回车,如果出现如下界面,则表示我们安装成功了;

这句话的意思是显示python的版本信息;

若是出现下图的情况,不要慌,看 第四步

第四步:配置python环境变量

如果在刚才安装的时候,忘记将加入到环境变量的勾打上,那么就需要手工配置环境变量之后,才能使用python,配置的方法如下:

A.右键点击“我的电脑”,点击“属性”;

B.在弹出的界面中点击“高级系统设置”(不同的windows系统版本,弹出的界面不完全相同,我用的是win8);

C.在弹出的界面中点击“环境变量”;

D.在弹出的页面中进行环境变量的配置;

找到系统变量中“Path”一项,选中后点击“编辑”;将之前安装的phtyon的完整路径加到最后面,注意要在完整的路径前加一个“;”,然后点击“确定”,保存所做的修改,这样,环境变量就设置好了;

设置完成后,可以按照上面的方法进行测试,以确保环境变量设置正确;

第五步:写程序

安装成功之后,当然要写第一个python程序了,按照惯例,我们写一个“hello world”;

第一种方法:

还是打开cmd,输入“python”后敲回车, 进入到python程序中,可以直接在里面输入,然后敲回车执行程序,我们打印一个“hello world”看看,在里面输入 print("hello world"),敲回车,所有程序员都会遇到的第一个程序就出现啦;

第二种方式:

使用notepad++,写下如图代码,

保存:

运行:

cmd 代码的解释

      python 是指运行python

      d:文件存放的路径

      t1.py :文件名

卸载:

找到安装包,双击,出现下图。如图点击。

本文参考了 :https://www.cnblogs.com/jin-xin/articles/7459977.html

      https://baijiahao.baidu.com/s?id=1606573927720991570&wfr=spider&for=pc

      https://blog.csdn.net/qq_40969467/article/details/82763878

感谢以上大佬的精彩文章。本篇把其中的精华部分抽取出来

Python学习笔记之基础篇(-)python介绍与安装的更多相关文章

  1. Python 学习笔记(基础篇)

    背景:今年开始搞 Data science ,学了 python 小半年,但一直没时间整理整理.这篇文章很基础,就是根据廖雪峰的 python 教程 整理了一下基础知识,再加上自己的一些拓展,方便自己 ...

  2. Python学习笔记之基础篇(二)python入门

    一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...

  3. Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈

     python 的数据类型: 1.int:存放 1,2,3 等数据 ,用于数字的运算 2.bool :True, False 用于判断 3.str:字符串,用来存储少量的数据 4.list : 数组的 ...

  4. Python学习笔记之基础篇(五)字典

    #数据类型划分:可变数据类型 不可变数据类型 #不可变数据类型 : 元组 bool int str --> 可哈希 #可变数据类型 list ,dict set --->不可哈希 ''' ...

  5. Python学习笔记之基础篇(四)列表与元祖

    #### 列表 li = ['alex','wusir','egon','女神','taibai'] ###增加的3种方法 ''' # append li.append('日天') li.append ...

  6. python学习笔记(十一)redis的介绍及安装

    一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库.       2.redis的官网地址,非常好记,是redis.io. ...

  7. openresty 学习笔记番外篇:python的一些扩展库

    openresty 学习笔记番外篇:python的一些扩展库 要写一个可以使用的python程序还需要比如日志输出,读取配置文件,作为守护进程运行等 读取配置文件 使用自带的ConfigParser模 ...

  8. openresty 学习笔记番外篇:python访问RabbitMQ消息队列

    openresty 学习笔记番外篇:python访问RabbitMQ消息队列 python使用pika扩展库操作RabbitMQ的流程梳理. 客户端连接到消息队列服务器,打开一个channel. 客户 ...

  9. Django学习笔记(基础篇)

    Django学习笔记(基础篇):http://www.cnblogs.com/wupeiqi/articles/5237704.html

随机推荐

  1. Excel实用知识1

    纯手打,可能有错别字,使用的版本是office2013 转载请注明出处 http://www.cnblogs.com/hnnydxgjj/p/6329509.html ,谢谢 使用现成的模板 ”开头的 ...

  2. 通过js检测浏览器支持的字体,从而显示支持的字体,让用户选择。

    http://www.zhangxinxu.com/wordpress/2018/02/js-detect-suppot-font-family/ 本文根据张鑫旭文章. 字体函数: var dataF ...

  3. centos 下安装nginx

    安装make: yum -y install gcc automake autoconf libtool make 安装g++: yum install gcc gcc-c++ cd /usr/loc ...

  4. [PHP]PHP中申明 declare(strict_types=1)的作用

    strict_types=1 针对参数类型开启严格模式,进行数据类型检验,默认是弱类型校验哪个文件写了declare,哪个文件中的所有代码就需要检查 declare(strict_types=1); ...

  5. Vulnhub_DC8 记录

    目录 DC8 经验 & 总结 步骤流水 信息搜集 80端口 获取Shell 提权 DC8 经验 & 总结 对页面的功能和对应的url要敏感. 所有的功能都要测试,要雨露均沾. 提示说的 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本小写

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  7. LeetCode 21. Merge Two Sorted Lists(合并两个有序链表)

    题意:合并两个有序链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next ...

  8. Codeforces Global Round 4E(字符串,思维)

    #include<bits/stdc++.h>using namespace std;string s,a,b;int main(){ cin>>s; int n=s.size ...

  9. task20160125

    http://task.zbj.com/2034844/n15o1.html 百度开放平台--首页>帮助文档首页>Frontia>Android开发指南>个人数据存储 http ...

  10. cookie、 Session Storage 、 Local Storage

    问题描述: 使用Ajax, Controller 传回来 JSON 字符串(待处理的信息) 在 Ajax 中实现页面跳转 window.location.href="/jsp/index.j ...