python的简史
• 1989年,Guido(龟叔)python。
• 1990年, 发布python的第一个版本;
• 2001年发布python2.0版本;
• 2010年获年度Tiobe编程语言大奖;
• 2013年发布python3.x版本;
python优缺点
优点:
•简单、优雅、明确
•有强大的第三方库模块
•可跨平台移植
•一种面向对象的语言
缺点:
•代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢;
•python是开源的编程语言,代码不能加密;
python安装
•访问python官网:www.python.org;
•Linux操作系统上一般iso镜像里面自带,直接通过yum安装;
shell和python区别比较
shell脚本:
打印dream
vim test.sh
#!/bin/bash
echo dream
测试:
sh test.sh
python脚本:
打印dream
环境:python 2.7.5,我们可以用在shell中用python -V来查看python版本
vim test.py
#!/usr/bin/python
print "dream"
测试:
python test.py
注意:
#!/usr/bin/python ###这种写法表示,直接引用系统的默认的Python 版本
#!/usr/bin/env python ###这种写法表示,引用环境变量里面自定义的Python版本,具有较强的可移植性
打印“你好python”:
vim test.py
#!/usr/bin/python
#coding:utf-8
print "你好python"
指定编码格式的方法:
#coding:utf-8
#coding=utf-8
#encoding:utf-8
#encoding=utf-8
ASCII,Unicode和utf-8三种编码格式的异同点:
ASCII:所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111
Unicode:一种所有符号的编码
utf-8:在互联网上使用最广的一种Unicode的实现方式。它是一种变长的编码方式,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度
python解释器
CPython ###默认交互式,用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器
IPython ###基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的
JPython ###运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行
PyPy ###PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
IronPython ###IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
安装pycharm及设置
这里我安装的是pycharm-community-2017.1.4的版本
mv /home/kiosk/Desktop/pycharm/pycharm-community-2017.1.4.tar.gz /opt/
tar xf pycharm-community-2017.1.4.tar.gz
cd pycharm-community-2017.1.4/bin/
./pycharm.sh
第一次安装不需要导入任何设置,安装完成后新建一个项目,右键项目创建file就可以开始编写python程序了
ctrl+alt+s进入设置中找到File and Code Templates
在python script中加入:
#!/usr/bin/env python
#coding:utf-8
"""
Name:${NAME}.py
Author:Dream
Time:${DATE}
Connect:
Descript:
"""
这样我们每次新建py脚本自动加入注释
其他设置:
ctrl+alt+s ###font中可以调整字体和大小
Scheme ###可以改变界面样式
ctrl+d ###复制
ctrl+y ###删除
Tab ###打印4个空格(可以多行)
shift+Tab ###删除4个空格(可以多行)
三个双引号: ###块代码注释
ctrl + /> ###行代码注释
python2和3的不同:
(1)除法:
python2中默认保留整数部分,可以在python2中添加from _future_ import division,或者写成5/2.0
(2)print:
python2中可以直接使用,在python3中是一个函数所以使用格式为:print(“hello”)
可以在python2中添加from _future_ import print_function
(3)内型
python2中有input和input raw_input两种方式,后者输入为字符型
python3中去掉了raw_input,默认input输入为字符型(str)