1,Introduction to Python
(Python入门)
2,Python是什么?
Python 官方网站的描述
Python is a programming language that lets you work more quickly and
integrate your systems more effectively. You can learn to use Python and see
almost immediate gains in productivity and lower maintenance costs.
Python是一种简单易学,功能强大的编程语言。它有高效率的高层数据结构,能够简单、有效地实现面向对象编程。
Python语法简洁,支持动态输入,是解释性语言。 在大多数平台上,对于众多领域,Python都是一个理想的开发语言,特别适合于应用程序的快速开发。
3, Guido van Rossum (1956 - )
1989年,Guido van Rossum创立了Python语言。现在,他在Google工作。
为什么要学习Python。
●实际需要;高效、易懂;众多优点集于一身 ●(人身苦短,我用Python!)
Python 特点 :1、简单易学
2、面向对象 高层
3、解释性
4、免费开源 可移植
5、可拓展 可嵌入
6、丰富的库
Python的特点:
1)简单、易学 Python是一种代表简单主义思想的语言,有简单的语法,容易上手。 Python的这种伪代码本质是它最大的优点之一。
Python使你能够专注于解决问题而不是去搞明白语言本身。
2)面向对象的高层语言 无需关注底层细节,而C/C++中需要操作指针。 与其他语言相比,Python以强大而又简单的方式实现面向对象编程。
3)解释性 Python程序不需要编译成二进制代码,可以直接在源代码上运行。
对于编译性语言(C/C++),源文件->编译/链接器->可执行文件。
4)免费开源,可移植性 Unix衍生系统,Win32系统家族,掌上平台(掌上电脑/手机),游戏控制台(PSP)等等。
5)可扩展性,可嵌入性 如果一段关键代码希望运行得更快或者希望算法不公开,你可以把这部分程序用C或C++编写,然后在Python程序中使用它们。
你可以把Python嵌入到C/C++程序,从而向程序用户提供脚本功能。
6)丰富的库 Python标准库确实很庞大,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、等等。
此外,还有其他高质量的库,如wxPython、Twisted和图像库等等。
Python 下载与安装 :
-Python的官网网站:http://www.python.org
-Unix衍生系统可能已经安装了Python,在命令行对话框中键入“python”即可显示版本信息。
-Windows下安装Python和安装其他软件一样,很easy!
Python2.x vs Python 3.x
-Python3.x现在的性能低一些,15%左右。
-编码方面:Python3.x默认utf-8。
-语法方面有改动,数据类型方面有调整。
-面向对象、异常处理和模块等方面也有改动。
-根据之前的学习开发经验,本教学使用Python2.x。
Windows下运行Python程序
HelloWorld.py
# -*- coding: cp936 -*- 支持汉字注释
print "Hello, world!"# 我的第一个Python程序
raw_input() # 使cmd框不立刻退出
三种运行方式
打开源文件,用Python Shell运行。
双击源文件,用CMD运行。
在Python Shell中直接写程序运行。
其他的Python集成开发环境
1)开源
Python Win+Win32 Extensions
http://starship.python.net/crew/skippy/win32
IPython(增强的交互式Python) http://ipython.scipy.org
IDE Studio(IDLE以及更多)
http://starship.python.net/crew/mike/Idle
Eclipse http://pydew.sf.ent http://eclipse.org
2)商业
WingIDE(WinWare公司)http://wingware.com
Komodo(ActiveState公司)http://activestate.com/Products/Komodo
Python快速入门
本 章 主 题 :
1.输入输出,注释
2.操作符,赋值,数据类型
3.缩进,循环语句,条件语句
4. 文件操作,错误处理
5. 函数,类,模块
print输出,注释
>>> print “Hello world!“ # >>> Python Shell提示符
Hello world!
>>> abs(-4) # abs(): 内建函数,取绝对值
4
>>> myString = "Hello world!’ # 单引号、双引号成对使用
>>> print myString
Hello world!
>>> myString
"Hello world!’ # 显示结果带引号
>>> _ # 下划线含义:表示最后一个表达式
"Hello world!’
print输出,注释
>>> print "%s is %d years old." % ("李书豪", 26)
李书豪 is 26 years old.
# %s 字符串;%d 整型;%f 浮点型
# Python非常灵活,即使将数字传递给%s,也不会引发严重后果
>>> logFile = open("myLogFile.txt’, "a’) # 打开文件
>>> print >> logFile, "Python让程序员的工作更轻松。’
# >> 重定向输出符号
>>> logFile.close() # 关闭文件
raw_input()输入
>>> userName = raw_input('输入登录名:')
输入登录名:李书豪
>>> print '你的登录名为', userName
你的登录名为 李书豪 # 自动加空格
# raw_input():从用户那里得到数据输入;
>>> myNumber = raw_input('输入一个数字:')
输入一个数字:1024
>>> print '你输入数字的2倍是:%d' % (int(myNumber) * 2)
你输入数字的2倍是:2048
# int() 字符串转换为整型
操作符
标准算术操作符:+ - * / //取整 %取余 **乘方
>>> print -2 * 3 + 2010 // 4 ** 2
>>> print (-2 * 3) + (2010 // (4 ** 2)) # 括号增加可读性
标准比较操作符:< <= > >= == != <>
>>> 3.14 <= 3.1415926
True
>>> 3.14 != 3.14 # <>渐渐被淘汰
False
逻辑操作符:and or not
>>> ((2 < 4) and (2 == 4)) or (not (3 < 4 < 5))
False # 3 < 4 < 5 等价于 3 < 4 and 4 < 5,简洁!
赋值,数据类型
Python变量名规则与其他编程语言一样,并且大小写敏感
>>> pptname = “Introction to Python”
>>> pptName = “Python入门”
>>> height = 1.71
>>> age = 26
>>> n = height
>>> n *= 100 # 等价于 n = n * 100
五种基本数字类型:int long bool float complex复数
0102 -128 0x80 -0XA9; 12345678902010L -0xABCDEF123456L;
True False; 3.1415926 -1.2E-14 10. 32.1e10;
6.54+3.21j -1.23+45.6J 0+1j 99-88j -0.142857+0j
数据类型—字符串
字符串:[]索引操作符 [:]切片操作符 +连接运算 *重复运算
>>> strPython = 'Python'
>>> strIsCool = 'is cool!'
>>> strPython[0] # 第一个字符 strPython[2:5]: tho
'P'
>>> strIsCool[-1] # 最后一个字符 strIsCool[:2]: is
’!’
>>> strPython + " ’ + strIsCool # :回车
'Python is cool!’
>>> '-' * 30 '------------------------------’
数据类型—列表、元组、字典
列表(list)和元组(tuple):可以看成普通的“数组”
>>> numberList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> mixList = ["Li Shuhao’, 26, 1.71]
>>> mixTuple = ("Python’, "is’, "cool’)
# 元组可以看成只读的列表,如:mixTuple[0] = "C++’, 出错!
>>> print mixTuple[0], mixTuple[1], mixTuple[-1]
Python is cool 字典(dictionary):由键值对(Key-Value)构成
>>> myDict = {'name':'LiShuhao', 'height':171, 'age':26}
>>> for mKey in myDict:
print mKey, myDict[mKey] # 缩进: Tab,空格
缩进,while循环语句,if条件语句
缩进:简洁、可读性好
循环语句:while
while expression: # expression 条件表达式
while_suite # 根据条件循环执行的语句
条件语句:if elif else
if expression1: # 蓝色部分可以单独用
if_suite
elif expression2: # 绿色部分可以省略,也可以重复多个
elif_suite
else expression3: # 用elif,最后必须有else
else_suite # Python没有switch-case
for循环语句
循环语句:for range()内建函数
Python中的for循环与传统的for循环不太一样,不是计数循环,更像迭代循环,如:
for nItem in [123, "email’, "homework’]:
print nItem
for nItem in range(5): # range(5)等价于[1, 2, 3, 4, 5]
print nItem, # print不自动换行方法:加逗号
for nChar in myString: # myString = "abc’
print nChar
for i in range(len(myString)): # len() 字符串长度
print "(%d)’ % (i), myString[i] # 输出:(0) a …
for循环语句
循环语句:for enumerate()内建函数
# enumerate()突破约束:索引、元素双循环
for i, nChar in enumerate(myString):
print '(%d)' % (i), myString[i]
列表解析:for语句
squared = [item ** 2 for item in range(5)]
# 0 1 4 9 16
complexTuple = (item ** 2 for item in range(10) if item % 2)
# 1 9 25 49 81
文件操作
文件操作:open() file() readlines() close()
handle = open(file_name, access_mode = "r’) # 默认 r
# r:读取;w:写入;a:添加;+:读写;b:二进制访问。
filename = raw_input('请输入文件名:')
hFile = file(filename, 'r')
for nLine in hFile:
print nLine,
hFile.close() # close()是文件对象hfile的一个属性
# 属性可以是数据值,也可以是函数和方法,类、模块、文件和复数等都有属性。
# 本示例适用于较小的文件,否则占用内存太大。
错误处理
错误和异常:try - except
# Python编译时会检查语法错误,运行时检测其他错误。
# 当遇到错误,Python解释器就引发异常,并显示详细信息。
try:
…… # 你打算管理的代码段
……
except IOError, e:
print "出错原因’, e
# 程序员也可以用raise有意引发一个异常
函数 iv>
函数: def function_name([arguments]): # 参数可为空,可有默认值
“optional documentation string” # 可选的函数说明语句
function_suite # 函数代码段
return fun_obj # 可以没有,自动返回None对象
def addMeToMe(me): # 函数示例:神奇的 + 操作
return (me + me) # 小括号不能省略
print addMeToMe(3.14) # 6.28
print addMeToMe(100) # 200
print addMeToMe('Python') # PythonPython
print addMeToMe([-1, 'abc']) # [-1, 'abc', -1, 'abc']
类,模块
类:相关数据及逻辑的容器,构建创建真实对象的蓝图。
class className(baseClass[es]):
“optional documentation string” # 说明性文字(可选)
static_member_declarations # 静态成员定义
method_declarations # 方法定义
模块:一种组织形式,将有联系的代码组织到独立文件中
# 模块可以包含可执行代码、函数和类。
>>>import sys # 导入方法,sys为模块名称
>>>sys.stdout.write("Hello world!’)
>>>sys.platform # 'win32'
>>>sys.version # '2.6.5 (r265:79096,……
这些东西我码了将近大半天的时间,总之,还是谢谢大家的阅读,希望此文章能帮到那些正在入门的同学。