# 1.什么是python
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器。Python语法简洁清晰,特色之一是强制用空白符作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。、
# 2. Python的优点
1.优雅 简单 明确
2.简单 ,易学,速度较快
3.可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、Mac等
4.解释性:Python语言写的程序不需要编译成二进制代码。可以直接从源代码运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得Python程序更加易于移植。
# 3. 安装python
- Windows: http://www.python.org/ftp/python/2.7.9/python-2.7.9.msi 下载并安装
- Linux:一般系统中自带,搭建好yum源,就可以直接安装,yum install -y python
- Mac
# 4. python编写
- 交互式环境python;
- 交互式增强的ipython;
- vim编辑;
为了规范,python脚本以.py为脚本文件后缀
第一行为python解释器位置,
第二行 中文编码问题
脚本写好后,需要加执行权限才能在绝对路径下调用脚本程序
- 集成化环境IDE工具Pycharm;
设置表头:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''
* * * * * * * * * * * * * * * * * * *
* Name: ${NAME}.py *
* Date: ${DATE} *
* Author: longchao.lu *
* Connect: Rocktics@163.com *
* Desc: *
* * * * * * * * * * * * * * * * * * *
'''
# 5. 编码格式
ASCII码: 只能识别英文,70多个,一个数字对应一个字符; 1Byte = 8bit 2^8=255
Unicode: 2^16=65536, 可以识别各种语言,但是每两个字节代表一个字符.
utf-8:可变长字符编码,英文一个字节存储, 其他语言3个字节存储.
GB2312:国人自主研发的全角字符编码格式
# 6. python解释器
- cpython: 当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行 python就是启动CPython解释器。
- ipython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
- pypy:PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度
- jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行
- IronPython: IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
# 7. pycharm
- 安装
官网下载, 有专业版本和社区版本;
解压到/opt目录;
进入bin目录执行./pycharm.sh, 实现安装;
pycharm的初始化设置,设置信息存储在~/.PyCharmCE2017.1目录中;
创建项目,编写文件;
- 设置
风格设置;
字体设置;
模板设置;
- 卸载
切换到根目录下,ls -a 显示所有文件 删除.PyCharmCE2017.1 Pycharmprojects/
然后删除/opt/目录下 python文件
# 8. 数值类型
python支持的数值类型: int整型, long长整型, float浮点型, bool布尔型, complex复数
注意:
int + long = long
int - long = long
python类型转换的工厂函数: int('1'), long(1), float(1), bool(-1), bool(0), complex(1)
BIF: built-in function 内置函数:(cmp比较, type类型, str字符串)
不同进制转换: hex(16), oct(8)
ASCII码转换: ord('A'), chr(97)
# 9. 操作符
算术操作符: +, -, *, /, **, // (注意: /在python2和python3中作用不同)
python2 中 / 和 //表示被整除的个数
python 3 中 /表示商 //表示被整除的个数
赋值运算符: +=, -=, *=...... (注意: a+=2 实质上是a=a+2; python中不支持a++,支持++a);
比较运算符: >, < , >=, <=, ==, != (注意: 结果是bool类型,只能是True或者False);
逻辑运算符: and, or, not (and,全真则真; or,全假为假)
# 10. 输入和输出
Input:(python2和python3中不同)
raw_input("提示信息:") # 返回值是字符串
input() # 返回值是数值类型
Output:
print "显示%d条信息:%s" %(1, "占位符的内容")
print """
按照三引号之间的格式输出;
"""
# 11. 判断语句:
if ...
if ... else ....
if ... elif ... elif ... else ....
案例一:成绩评判
#!/usr/bin/env python
# coding:utf-8
score = input('请输入一个成绩(数字1-100):')
if 90<=score<=100:
print "优秀"
elif 80<=score<90:
print '良好'
elif 70<=score<80:
print '中等'
elif 60<=score<=70:
print '及格'
else:
print '不及格'
# 12.循环语句
for .... (注意: range(start, stop, step))
for .... if语句嵌套
例如:打印1-10之间的偶数
#!/usr/bin/env python
#coding:utf-8
for i in range(1,11):
if i%2==0:
print i
for .... for语句嵌套
案例二:打印乘法表