Python
Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。
Python简史:
1989年,Guido(龟叔)为ABC 语言写的一个插件。因Monty Python的喜剧团体的原因,故给这个语言起名为python。linux也是
1989年诞生的,1991年正式发布linux1.0内核;
1990年, 发布python的第一个版本;
2001年发布python2.0版本;
2010年获年度Tiobe编程语言大奖,TIOBE网站;
2013年发布python3.x版本;
Python的优点:
(**)创始人评价:简单、优雅、明确
简单体现在如果你的母语是英语,写python脚本就像写文章,很简单;
优雅体现在python的格式,比如缩进来确定代码块,可避免编程人员进行复杂的嵌套;
明确体现在解决问题的方法只有一种最优选项,而perl语言是每个问题有很多最优解,但不利于团队协作;
(**)有强大的第三方库模块,需要实现一复杂功能,只需要调用现有的库,可快速实现功能。20多年的发展,各种库都已经完
备,比如:邮件库,爬虫库......
(**)可跨平台移植,java有Java的虚拟机,python同样;
(**)是一种面向对象的语言;
(**)是一种可扩展的语言(与C,C++,Java结合)
Python的安装:
**访问python官网,下载不同平台下的python软件;
**Linux操作系统上一般iso镜像里面自带,直接通过yum安装;
注意点:
**python2.6是一个过渡版本,既可以执行,又包含python3.0的新特性;
**现在企业实战应用python版本为2.7版本;
**python2.7是python2.x系列最后一个版本,不会再有python3.0;
1.查看python版本
[kiosk@foundation0 ~]$ python --version / -V
Python 2.7.5
# 此处显示python的版本为2.7.5
2.python的网页
www.tiobe.org
3.交互式使用python
(**)当在shell命令行输入python命令会进入一个交互式的python编程环境;
(**)python沿袭了C语言的很多用法,输出一字符串,使用print;
(**)退出python的交互式环境通过快捷键ctrl+d或者使用exit()函数;
python:
ipython:
4.python脚本文件
在python交互式环境中,我定义一个变量 a=1 ,存放在内存中.。如果没有退出交互式环境,可通过 print a 打印出a的指,如
果退出此次交互式环境, a 变量存的值 1 已经被内存释放了。
关于python脚本中的第一行内容 : /usr/bin/env python 与 /usr/bin/python 的区别
#!/usr/bin/python 这种写法表示直接引用系统的默认的 Python 版本,这样的话
python 程序移植到其他机器上可能运行的时候有问题,因为别人系统默认的 Python
版本与预期的并不一致。
#!/usr/bin/env python 这种写法表示,引用环境变量里面自定义的 Python 版本, 具有较强的可移植性。
编写一个脚本文件:
5.Python解释器
(**)cpython
(**)ipython :基于 cpython ,交互方式有所增强
(**)pypy : 对代码进行动态编译, JIT 技术( just-in-time compiler ,即时编译器),显著提高代码执行速度。
(**)Jpython :java 平台上的 python 解释器,将 python 代码编译成 java`字节码执行。
(**)IronPython : 直接将 python 代码编译成 .net 的字节码
6.python编程风格
C语言和python语言做简单的比较:
//C代码块是通过花括号 {} 做以区别。
总结python编程初级要掌握的编程风格如下:
(**)不要在行尾加分号;
(**)每行不超过80个字符;
(**)Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。
(**)增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。
7.字符编码
**ASCII:1字节=8位,2^8=256
**Unicode:2字节 =16节,2^16=65536 a->2字节 中文->2字节
**utf-8:是一种针对Unicode的可变长度字符编码,a-> 1字节,中文-> 3字节
**GB2312:2字节
内存读取:Unicode
存在硬盘里:utf-8
字符的编码(encode):unicode-> utf-8
字符的解码(decode):utf-8-> unicode
>>> name_utf8 = name_unicode.encode('utf-8') ###字符的编码
>>> name_unicode1 = name_utf8.decode('utf-8') ###字符用utf-8方法解码
8.编辑器
vim
gedit
atom -----> github
pycharm
///
markdown -> .md -> atom -> pdf
输入: 告诉计算机程序所需的信息
# raw_input写入的内容赋值给变量name,输入的内容为字符类型
输出: 告诉用户程序执行的结果
# print + 字符串... //字符串可为多个,逗号隔开
# print + 数字|表达式
示例:
编写一程序,录入信息包括 hostname、IP、used_year、CPU、Memory、manager_name ,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息。
执行结果:
10.变量
1)变量是内存中的一块区域。
2)变量的命名: 变量名由字母,数字,下划线组成。
变量的特性:
**实际存储在内存上;
**变量名最好见名知意;
**变量可重新赋值;
重点:简要描述Python的垃圾回收机制(garbage collection):
1.Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会消失,分配给该对象的
内存就会释放出来用作他用。
2.PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象有新的引用时,它的ob_refcnt就会增加,当引用
它的对象被删除,它的ob_refcnt就会减少.引用计数为0时,该对象生命就结束了。
11.运算符
赋值运算符:=,+=,-+,/=,%=,=,*=
算术运算符:+,-,,/,//,%,*
关系运算符:>,<,>=,<=,==,!=
逻辑运算符:逻辑与(and)或(or)非(not)
1本身代表‘true‘
0本身代表‘false'
示例:实现四则运算
#!/usr/bin/env python
from __future__ import division ##引入除法的小数结果形式
''' ##''' '''表示注释部分,可规范python的格式
@author:pucca
@file:size.py
@contact:xiaojun0118@foxmail.com
@time:6/29/173:48 PM
@DESC;
'''
num1 = input("num1:")
operate = raw_input("operate:")
num2 = input("num2:")
if operate == "+":
print num1 + num2
elif operate == "-":
print num1 - num2
elif operate == "*":
print num1 * num2
elif operate == "/":
print num1 / num2
else:
print "error"
执行结果:
12.基本数据类型
整型:
长整型:
浮点型:
复数类型: