python 1

python简介

python的发展史:

  • Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言

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

  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。

  • Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.

  • 1999年 Python的web框架之祖——Zope 1发布

  • Python 2.0 - 2000/10/16,加入了内存回收机制,构成了现在Python语言框架的基础

  • Python 2.4 – 2004/11/30, 同年目前最流行的WEB框架Django 诞生

  • Python 2.5 - 2006/09/19

  • Python 2.6 - 2008/10/1

  • Python 2.7 - 2010/07/03

  • Python 3.0 - 2008/12/03

  • Python 3.1 - 2009/06/27

  • Python 3.2 - 2011/02/20

  • Python 3.3 - 2012/09/29

  • Python 3.4 - 2014/03/16

  • Python 3.5 - 2015/09/13

    2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+ Python最初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。例: 对中文支持不好Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期版本的Python的程序无法再Py3上运行。为了照顾早期的版本,推出过渡版本2.6——基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。2010年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7,2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群。

    python的优缺点

    优点

    1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

    2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

    3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

    4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行

    5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

    6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能

    缺点

    1. 代码不能加密
      因为PYTHON是解释性语言,它的源码都是以明文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
    2. 多线程支持不好
      Python的多线程是有compromise的,在任意时间只有一个Python解释器在解释Python bytecode。

    3. Python慢
      Python相对C语言确实慢很多,但其实这里所指的速度慢在大多数时候我们是无法感知的,比如说,是用C语言程序开发了一个程序,执行需要花0.01秒,使用Python实现同样功能的程序,需要花0.1秒

python 的应用

  • 数据分析: 2016/2月/11,美国科学家宣布发现引力波,分析观测30年的数据。分析引力波数据的Python包:GWPY
  • 云计算 : 典型应用——Python开发的OpenStack
  • WEB开发: 众多优秀的WEB框架,Django、flask、 tornado
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas。
  • 系统运维: 运维人员必备,slatstack(系统自动化配置和管理工具),Ansible(自动化运维工具)
  • 图形开发: wxPython、PyQT、TKinter

  • 并且越来越多的公司选在python作为其主要开发语言,例如:Google - Google Groups、Gmail、Google Maps、AlphaGo等,Google App Engine支持python作为开发语言

  • NASA - 美国宇航局,从1994年起把python作为主要开发语言
  • Dropbox - 美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
  • 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
  • BitTorrent - bt下载软件客户端
  • gedit - Linux平台的文本编辑器
  • GIMP - Linux平台的图像处理软件(Linux下的PS)
  • 知乎(国外的Quora) - 社交问答网站,国内最大的问答社区,通过Python开发
  • Autodesk Maya - 3D建模软件,支持python作为脚本语言
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
    更多案例:https://www.python.org/about/success/

安装python

因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。

在python的官网,(www.python.org) 我们可以下载python 的安装包,
python下载界面

在linux中安装python

在linux命令行中输入 python ,如果出现以下界面,则说明你的linux中已经安装了python,可以直接使用
[root@news Desktop]# python
Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
如果没有出现以上界面,说明你的linux 系统中还没有安装python,需要执行以下命令来安装python
[root@news Desktop]# yum install python -y

交互式地使用python

在linux的命令行中,输入python,即可进入交互式界面,可以一条一条地执行语句,输入一行,执行一行

[root@news Desktop]# python
Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello word"
hello word
>>> print "hello python"
hello python
>>> exit()

编写python脚本文件

通过编写python脚本文件,可以将要执行的代码语句先写成一个文件,然后用解释器一起执行这些语句,免去了交互式执行代码时只能输入一条执行一条的麻烦。

  • 1.我们可以利用文本编辑工具,例如linux 中经常使用的 vim 来对代码进行
    编辑
    在指定解释器的时候, #!/usr/bin/env python 可以在不同的安装路径中调用python解释器,使得程序更加有兼容性
#!/usr/bin/python                    #制定使用的解释器
#coding:utf-8                        #指定使用的字符编码
print "      hello           "       #打印内容
print "人生苦短,我用python !  "
print "       -_-            "         

程序的执行
1 程序文件绝对路径执行

[root@news code]# vim code1.py
[root@news code]# chmod +x code1.py 
[root@news code]# ./code1.py 
      hello           
人生苦短,我用python !
       -_-      

2.解释器执行

[root@news code]# ls
code1.py
[root@news code]# python code1.py 
      hello           
人生苦短,我用python !
       -_-     
  • 2.使用Ipython,交互式界面,具有代码补全功能
[root@news ipython]# ipython
Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: py
%%pypy                                         python-ipython-gui-3.2.1-1.el7.noarch.rpm
%%python                                       python-jsonschema-2.3.0-1.el7.noarch.rpm
%%python2                                      python-mistune-0.5.1-1.el7.x86_64.rpm
%%python3                                      python-path-5.2-1.el7.noarch.rpm
%pycat                                         python-pip-7.1.0-1.el7.noarch.rpm
%pylab                                         python-pygments-1.4-9.el7.noarch.rpm
python-ipython-3.2.1-1.el7.noarch.rpm          python-simplegeneric-0.8-7.el7.noarch.rpm
python-ipython-console-3.2.1-1.el7.noarch.rpm  python-zmq-14.3.1-1.el7.x86_64.rpm

In [1]: pr
%%prun      %precision  %profile    %prun       print       property    

In [1]: print "hello word"
hello word

pycharm 的使用

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

在pycharm 的官网可以下载各个平台的pycharm , 然后进行安装
界面展示

我们可以对pycharm 进行一些设置,例如,我们给文件添加默认编辑文字
这里写图片描述

pycharm的快捷键

1、编辑(Editing)
Ctrl + Space 基本的代码完成(类、方法、属性)
Ctrl + Alt + Space 快速导入任意类
Ctrl + Shift + Enter 语句完成
Ctrl + P 参数信息(在方法中调用参数)

Ctrl + Q 快速查看文档

F1 外部文档

Shift + F1 外部文档,进入web文档主页

Ctrl + Shift + Z –> Redo 重做
Ctrl + 悬浮/单击鼠标左键 简介/进入代码定义
Ctrl + F1 显示错误描述或警告信息
Alt + Insert 自动生成代码
Ctrl + O 重新方法
Ctrl + Alt + T 选中
Ctrl + / 行注释/取消行注释
Ctrl + Shift + / 块注释
Ctrl + W 选中增加的代码块
Ctrl + Shift + W 回到之前状态
Ctrl + Shift + ]/[ 选定代码块结束、开始
Alt + Enter 快速修正
Ctrl + Alt + L 代码格式化
Ctrl + Alt + O 优化导入
Ctrl + Alt + I 自动缩进
Tab / Shift + Tab 缩进、不缩进当前行
Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板
Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板
Ctrl+V/Shift+Insert 从剪贴板粘贴
Ctrl + Shift + V 从最近的缓冲区粘贴
Ctrl + D 复制选定的区域或行
Ctrl + Y 删除选定的行
Ctrl + Shift + J 添加智能线
Ctrl + Enter 智能线切割
Shift + Enter 另起一行
Ctrl + Shift + U 在选定的区域或代码块间切换
Ctrl + Delete 删除到字符结束
Ctrl + Backspace 删除到字符开始
Ctrl + Numpad+/- 展开/折叠代码块(当前位置的:函数,注释等)
Ctrl + shift + Numpad+/- 展开/折叠所有代码块
Ctrl + F4 关闭运行的选项卡
2、查找/替换(Search/Replace)
F3 下一个
Shift + F3 前一个
Ctrl + R 替换
Ctrl + Shift + F 或者连续2次敲击shift 全局查找{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}
Ctrl + Shift + R 全局替换
3、运行(Running)
Alt + Shift + F10 运行模式配置
Alt + Shift + F9 调试模式配置
Shift + F10 运行
Shift + F9 调试
Ctrl + Shift + F10 运行编辑器配置
Ctrl + Alt + R 运行manage.py任务
4、调试(Debugging)
F8 跳过
F7 进入
Shift + F8 退出
Alt + F9 运行游标
Alt + F8 验证表达式
Ctrl + Alt + F8 快速验证表达式
F9 恢复程序
Ctrl + F8 断点开关
Ctrl + Shift + F8 查看断点
5、导航(Navigation)
Ctrl + N 跳转到类
Ctrl + Shift + N 跳转到符号

Alt + Right/Left 跳转到下一个、前一个编辑的选项卡(代码文件)

Alt + Up/Down跳转到上一个、下一个方法
F12 回到先前的工具窗口
Esc 从工具窗口回到编辑窗口
Shift + Esc 隐藏运行的、最近运行的窗口
Ctrl + Shift + F4 关闭主动运行的选项卡
Ctrl + G 查看当前行号、字符号
Ctrl + E 当前文件弹出,打开最近使用的文件列表
Ctrl+Alt+Left/Right 后退、前进

Ctrl+Shift+Backspace 导航到最近编辑区域 {差不多就是返回上次编辑的位置}
Alt + F1 查找当前文件或标识
Ctrl+B / Ctrl+Click 跳转到声明
Ctrl + Alt + B 跳转到实现
Ctrl + Shift + I查看快速定义
Ctrl + Shift + B跳转到类型声明

Ctrl + U跳转到父方法、父类

Ctrl + ]/[跳转到代码块结束、开始
Ctrl + F12弹出文件结构
Ctrl + H类型层次结构
Ctrl + Shift + H方法层次结构
Ctrl + Alt + H调用层次结构
F2 / Shift + F2下一条、前一条高亮的错误
F4 / Ctrl + Enter编辑资源、查看资源
Alt + Home显示导航条F11书签开关
Ctrl + Shift + F11书签助记开关
Ctrl + #[0-9]跳转到标识的书签
Shift + F11显示书签
6、搜索相关(Usage Search)
Alt + F7/Ctrl + F7文件中查询用法
Ctrl + Shift + F7文件中用法高亮显示
Ctrl + Alt + F7显示用法
7、重构(Refactoring)
F5复制F6剪切
Alt + Delete安全删除
Shift + F6重命名
Ctrl + F6更改签名
Ctrl + Alt + N内联
Ctrl + Alt + M提取方法
Ctrl + Alt + V提取属性
Ctrl + Alt + F提取字段
Ctrl + Alt + C提取常量
Ctrl + Alt + P提取参数
8、控制VCS/Local History
Ctrl + K提交项目
Ctrl + T更新项目
Alt + Shift + C查看最近的变化
Alt + BackQuote(’)VCS快速弹出
9、模版(Live Templates)
Ctrl + Alt + J当前行使用模版
Ctrl +J插入模版
10、基本(General)
Alt + #[0-9]打开相应的工具窗口
Ctrl + Alt + Y同步
Ctrl + Shift + F12最大化编辑开关
Alt + Shift + F添加到最喜欢
Alt + Shift + I根据配置检查当前文件
Ctrl + BackQuote(’)快速切换当前计划
Ctrl + Alt + S 打开设置页
Ctrl + Shift + A查找编辑器里所有的动作
Ctrl + Tab在窗口间进行切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值