Python学习(一):概述

第1 章 概述

Table of Contents

  • 应用范围
  • 优缺点
  • 安装
  • 运行第一个程序
  • 参考

工欲利其器 必先知其器

应用范围

Python是著名的“龟叔”Guido van Rossum在 1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。所以Python并不是一个新语言,它比Java更老。

那Python适合开发哪些类型的应用呢?

首选是网络应用,包括网站、后台服务等等;

其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;

另外就是把其他语言开发的程序再包装起来,方便使用。

  1. 系统编程中的应用 Python语言在操作系统的内置接口,被称为Shell工具。Python程序可以搜索文件和目录树、可以运行其他的应有程序或是用进程或线程进行并行处理。Python标准库绑定了POSIX 以及其他常规操作系统工具。所以环境变量、管道、进程、多线程、文件、套接字、python正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、file扩展等。除此之外很多Python 的系统工具设计时都考虑了其可移植性。
  2. 网络爬虫方面的应用 由于Python的网络方面的功能非常强大,常用来实现网络爬虫。常用框架有:
    1. grab – 网络爬虫框架(基于pycurl/multicur)
    2. scrapy – 网络爬虫框架(基于twisted)
    3. pyspider – 一个强大的爬虫系统
    4. cola – 一个分布式爬虫框架。
    5. portia – 基于Scrapy的可视化爬虫。
    6. restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。
    7. demiurge – 基于PyQuery的爬虫微框架。
  3. 人工智能、科学计算中的应用 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  4. WEB开发中的应用 Python有众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享学课堂就是使用Django开发的。
  5. 系统运维中的应用 Python已经成为,运维人员必备语言,尤其是在Linux运维方面,基本上是自动化运维。 Python在大数据、云计算方面的应用 Python是大数据、云计算最火的语言, 典型应用OpenStack
  6. 图形界面方面的应用 PyQT, WxPython,TkInter
  7. 企业和网站方面的案例应用 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发 CIA: 美国中情局网站就是用Python开发的 NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算 YouTube:世界上最大的视频网站YouTube就是用Python开发的 Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载 Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发 Facebook:大量的基础库均通过Python实现的 Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的

优缺点

优点

  1. python非常简单,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
  2. 易学,语法简单,强调一件事最好只有一种方法解决
  3. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)
  4. Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
  5. 可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
  6. 丰富的库。Python标准库确实很庞大,这一点非常nice。
  7. 规范的代码。Python采用强制缩进的方式使得代码具有极佳的可读性。

缺点

  1. 运行速度慢。和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。不过大部分应用的运行速度取决于多种因素,例如:网络请求时间,数据库查询时间等
  2. 第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码
  3. 构架选择太多,也就是丰富的库,既是优点也是缺点,库太多不容易挑选,在团队开发中解决方案越多,需要掌握的技能就越多

安装

如果你能忍受Python运行速度比c/java慢的这一缺点,那就大胆的尝试Python吧。

官网地址

在这个下载页面中可以看到两个版本:

Latest Python 3 Release - Python 3.6.3
Latest Python 2 Release - Python 2.7.14

博客内容基于 Python 3.6 所以建议安装 3.6.x 版本,至于两个区别可以自行百度,这里不再赘述。

运行第一个程序

IDE 是最简单的使用方式,一开始推荐使用 PyCharm,而不是命令行,降低学习难度。安装最新版就可以了。

PyCharm下载地址

  1. 创建项目 项目名称为 learn,最后一步选择 Openinnewwindow
  1. 创建一个python文件并运行 创建一个 hello_world的python文件,并在其中写入 print('hello world') 然后右击运行

文章中链接有时文章中链接无法跳转,在这里列出文中对应链接 官网地址:https://www.python.org/downloads/windows

PyCharm下载地址:https://www.jetbrains.com/zh/pycharm/specials/pycharm/pycharm.html

参考

http://www.cnblogs.com/rourou1/p/6039108.html

本文分享自微信公众号 - 全栈布道士(gh_773193545262)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

Android Junit单元测试-声明套件类

10340
来自专栏java一日一条

Facebook移动架构:Android Flux架构详解

要为Android应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐...

7510
来自专栏阿凯的Excel

Pandas实现分列功能(Pandas读书笔记1)

最近发现自己特愿意扯和分享内容本身无关的事情,下述内容纯闲扯: pandas应该怎么分享困扰了我好久,但是看我公众号的朋友更困惑的是这个人为啥要分享panda...

57440
来自专栏诸葛青云的专栏

两个小巧好用的C语言编辑器

近期有一些新关注的伙伴在后台经常留言刚入门 C语言 我该选择什么 C语言 编辑器好呢?都说欲善其事必先利其器,网络上也有很多不同类型的编辑器,让人很难进行抉择!...

55700
来自专栏SDNLAB

SDNLAB技术分享(二):从Toaster示例初探ODL MD-SAL架构

Toaster是wiki上的一个例子。通过学习它,我们可以了大致了解MD-SAL架构的实现原理和设计思想。下面我们就直奔主题,看看Toaster例子吧。例子原文...

389100
来自专栏人工智能头条

6月Python开源项目Top 10:如何快速找到抖音上的漂亮小姐姐……

20030
来自专栏云时之间

简单爬虫(一):实现百度音乐下载

现在我们听歌往往会集中在一个平台,但是往往很多歌曲只在一个平台独占,我们听自己几首想听的歌曲往往要在几个平台跳来跳去,正好现在在使用爬虫,在学着解析网页的时候,...

444130
来自专栏智能计算时代

「云计算」什么是不可变的基础设施?

在传统的可变服务器基础架构中,服务器会不断更新和修改。使用此类基础架构的工程师和管理员可以通过SSH连接到他们的服务器,手动升级或降级软件包,逐个服务器地调整配...

18830
来自专栏web前端教室

[先行者计划]:《Vuex相关概念的讲解和介绍》-- 课堂笔记节选

vuex是什么东西? 官网对Vuex的定义,"Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。" 恩,从这句话可以看出,它应该是一种编写js的思...

19080
来自专栏编程

Python学习(一):概述

第1 章 概述 Table of Contents 应用范围 优缺点 安装 运行第一个程序 参考 工欲利其器 必先知其器 应用范围 Python是著名的“龟叔”...

201100

扫码关注云+社区

领取腾讯云代金券