0
Python              凌岳         日期: 2011-09-12                          1
大 纲•简介 & 特点 & 环境•基本数据结构 & 语法•常用模块 [ 脚本 ]                2
简介•Python 是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。•“ 瑞士军刀”•无所不能的 pythonLife Is Short ,You Need Python !             ...
能做什么•系统编程•用户图形接口•Internet 通信•组件集成 [ 胶水 ]•数据库编程•快速原型•数值计算和科学计算•游戏、图像、人工智能、机器人等•不适合:驱动程序以及对效率要求极高的应用                   4
原则•There is only one way to do it.要做好一件事,一种方法就够•Everything is object. 万物皆对象•Readability counts. 可读性优先•Explicit is better t...
特点简单 :简单主义,专注于问题本身而非语言功能强大 :丰富的库,标准库内置 200+ 个模块可移植性 :解释型语言, Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行面向对象 : Python...
直观感受简单直接有效        7
Eg1: 读文本文件             8
Eg2: 排序二维数组,要求:按照某一列对文件进行排序,可指定列号                      9
实现 & 版本•CPython ( Classic Python ,也就是原始的经典Python )•Jython (原名 JPython ; Java 语言实现的 Python ,已正式发布)•PyPy (使用 Python 语言写的 Pyt...
开发环境•IDLE : Python“ 标准” IDE•eclipse + pydev 插件•emacs + 插件•Vim + 插件                          11
运行交互模式源文件            12
Python 脚本数据结构控制流函数定义模块使用脚本基本结构                 13
数据结构 & 相关语法•数字•字符串•元组•列表•字典•复杂数据结构                14
数字Python 中有四种类型的数 整数:一般意义上的数,包含八进制 (0 开头 ) ,十六进制 (0x 开头 )             eg.2长整数:无限大小的数,结尾添加 l 或 L         eg.201212120000000...
字符串字符串序列用于表示和存储文本, python 中字符串是不可变的,一旦声明,不能改变通常由单引号 ( ) ,双引号 (" ) ,三引号 ( """) 包围其中三引号可以由多行组自然字符串特殊字符串,以大写 R 或 小写 r 开始,不需要如...
字符串 - 使用string- 字符串处理模块re- 正则表达式模块       17
索引和分片•字符串,元组,列表,字典等序列•索引    >>>s[0] 首个     >>>s[-1] 倒数第一个分片                      18
元组元组不可变序列元组是以圆括号“ ()” 包围的数据集合,不同成员以“ ,” 分隔声明:t = ()t =(1,)t =(1,2,3)查看操作函数 : help(tuple)                       19
元组作用1. 赋值 / 函数拥有多个返回值>>>t = 1,2,3 # 等同 t = (1,2,3)>>>x,y,z = t2. 传参 [ 强制不改变原始序列 ]def print_list(l):   l1 = l[:] 或者 t = tup...
列表•一组有序项目的集合。•可变的数据类型【可进行增删改查】•列表是以方括号“ []” 包围的数据集合,不同成员以“ ,” 分隔•列表中可以包含任何数据类型,也可包含另一个列表•声明 : l = [] l = [1,2,3,”abc”]    ...
列表 - 基本操作list.append() 追加成员,成员数据list.pop() 删除成员 , 删除第 i 个成员list.count(x) 计算列表中参数 x 出现的次数list.remove() 删除列表中的成员,直接删除成员 ilis...
列表 - 高级特性•列表解析>>>l = [x ** 2 for x in range(10)]>>>l = [x+y for x in l1 for y in l2]>>>l=[(x,y) for x in range(5) if x%2==...
字典键值对的集合 (map)字典是以大括号“ {}” 包围的数据集合与列表区别:字典是无序的,在字典中通过键来访问成员。字典是可变的,可以包含任何其他类型声明 :d = {}d = {1:”a”,2:”b”}查看操作函数 :help(dict)...
字典 - 基本操作dic.clear() 清空字典dic.keys() 获得键的列表dic.values() 获得值的列表dic.copy() 复制字典dic.pop(k) 删除键 kdic.get(k) 获得键 k 的值dic.update(...
函数式编程匿名函数 lambda:>>>f = lambda x,y,z:x+y+z>>>f(1,2,3)6map 序列映射>>>map(lambda n:n**2,range(5))filter>>>l = list(filter(lambd...
复杂数据结构•1. 嵌套•2. 对象                  27
控制流 -ifPython 没有 switch 和 case1. 用多个 if2. 字典三元运算 x=bool?a:b           python 中   x= a if bool else   28b
控制流 -while             29
控制流 -for           30
函数声明       31
脚本结构#!/usr/bin/python# -*- coding: utf-8 -*-#dataformat.pyimport os,getopt,sysdef functions(param):    xxxxxxxxxxxxxdef ma...
脚本常用模块•string&re 字符串处理•math&cmath&random 数学相关•file 【内置】 文件读写•sys     退出,参数传递•os 调用 shell ,操作系统相关信息获取•getopt 脚本选项•time&date...
图书
链接官网 http://www.python.org文档在线查询 http://pydoc.org/社区 http://wiki.woodpecker.org.cn/moin/
Python 脚本入门基础
Upcoming SlideShare
Loading in...5
×

Python 脚本入门基础

1,334

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,334
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Python 脚本入门基础"

  1. 1. Python 凌岳 日期: 2011-09-12 1
  2. 2. 大 纲•简介 & 特点 & 环境•基本数据结构 & 语法•常用模块 [ 脚本 ] 2
  3. 3. 简介•Python 是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。•“ 瑞士军刀”•无所不能的 pythonLife Is Short ,You Need Python ! 3
  4. 4. 能做什么•系统编程•用户图形接口•Internet 通信•组件集成 [ 胶水 ]•数据库编程•快速原型•数值计算和科学计算•游戏、图像、人工智能、机器人等•不适合:驱动程序以及对效率要求极高的应用 4
  5. 5. 原则•There is only one way to do it.要做好一件事,一种方法就够•Everything is object. 万物皆对象•Readability counts. 可读性优先•Explicit is better than implicit.明显胜于隐晦•Simple is better than complex. 简单胜于复杂 5
  6. 6. 特点简单 :简单主义,专注于问题本身而非语言功能强大 :丰富的库,标准库内置 200+ 个模块可移植性 :解释型语言, Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行面向对象 : Python 即支持面向过程的编程也支持面向对象的编程。与其他主要的语言如 C++ 和 Java 相比, Python 以一种非常强大又简单的方式实现面向对象 编程。可扩展性 :可以调用或者嵌入其他语言,如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用 C 或 C++ 编写,然后在你的 Python 程序中使用它们【胶水,类似 php 】 6
  7. 7. 直观感受简单直接有效 7
  8. 8. Eg1: 读文本文件 8
  9. 9. Eg2: 排序二维数组,要求:按照某一列对文件进行排序,可指定列号 9
  10. 10. 实现 & 版本•CPython ( Classic Python ,也就是原始的经典Python )•Jython (原名 JPython ; Java 语言实现的 Python ,已正式发布)•PyPy (使用 Python 语言写的 Python )•IronPython (面向 .NET 和 ECMA CLI 的 Python 实现)•版本•最新版本 3.2.2•图书涉及 :2.7&3.0 10•当前系统开发环境 :2.4
  11. 11. 开发环境•IDLE : Python“ 标准” IDE•eclipse + pydev 插件•emacs + 插件•Vim + 插件 11
  12. 12. 运行交互模式源文件 12
  13. 13. Python 脚本数据结构控制流函数定义模块使用脚本基本结构 13
  14. 14. 数据结构 & 相关语法•数字•字符串•元组•列表•字典•复杂数据结构 14
  15. 15. 数字Python 中有四种类型的数 整数:一般意义上的数,包含八进制 (0 开头 ) ,十六进制 (0x 开头 ) eg.2长整数:无限大小的数,结尾添加 l 或 L eg.20121212000000000000000 浮点数:小数或用 e/E 表示的幂 eg. 3.23 50.2E2复数:复数的虚部以字母 J 或 j 结尾 eg. 2+3imath 模块 - 普通数学函数cmath 模块 - 处理复数的模块random 模块 - 随机数 15
  16. 16. 字符串字符串序列用于表示和存储文本, python 中字符串是不可变的,一旦声明,不能改变通常由单引号 ( ) ,双引号 (" ) ,三引号 ( """) 包围其中三引号可以由多行组自然字符串特殊字符串,以大写 R 或 小写 r 开始,不需要如转义符那样的特别处理的字符串【正则表达式】 16
  17. 17. 字符串 - 使用string- 字符串处理模块re- 正则表达式模块 17
  18. 18. 索引和分片•字符串,元组,列表,字典等序列•索引 >>>s[0] 首个 >>>s[-1] 倒数第一个分片 18
  19. 19. 元组元组不可变序列元组是以圆括号“ ()” 包围的数据集合,不同成员以“ ,” 分隔声明:t = ()t =(1,)t =(1,2,3)查看操作函数 : help(tuple) 19
  20. 20. 元组作用1. 赋值 / 函数拥有多个返回值>>>t = 1,2,3 # 等同 t = (1,2,3)>>>x,y,z = t2. 传参 [ 强制不改变原始序列 ]def print_list(l): l1 = l[:] 或者 t = tuple(l)3. 格式化字符串 20
  21. 21. 列表•一组有序项目的集合。•可变的数据类型【可进行增删改查】•列表是以方括号“ []” 包围的数据集合,不同成员以“ ,” 分隔•列表中可以包含任何数据类型,也可包含另一个列表•声明 : l = [] l = [1,2,3,”abc”] 21•查看操作函数 :help(list)
  22. 22. 列表 - 基本操作list.append() 追加成员,成员数据list.pop() 删除成员 , 删除第 i 个成员list.count(x) 计算列表中参数 x 出现的次数list.remove() 删除列表中的成员,直接删除成员 ilist.extend(L) 向列表中追加另一个列表 Llist.reverse() 将列表中成员的顺序颠倒list.index(x) 获得参数 x 在列表中的位置list.sort() 将列表中的成员排序list.insert() 向列表中插入数据删 del l[2:4]改 l[2] = [1,2,3,4] l[2:2] = [1,2,3,4]把列表当作堆栈使用把列表当作队列使用 22
  23. 23. 列表 - 高级特性•列表解析>>>l = [x ** 2 for x in range(10)]>>>l = [x+y for x in l1 for y in l2]>>>l=[(x,y) for x in range(5) if x%2==0 for y in range(5) if x%2 == 1]>>>l = [fun(x) for x in “abcdef” ] 23
  24. 24. 字典键值对的集合 (map)字典是以大括号“ {}” 包围的数据集合与列表区别:字典是无序的,在字典中通过键来访问成员。字典是可变的,可以包含任何其他类型声明 :d = {}d = {1:”a”,2:”b”}查看操作函数 :help(dict) 24
  25. 25. 字典 - 基本操作dic.clear() 清空字典dic.keys() 获得键的列表dic.values() 获得值的列表dic.copy() 复制字典dic.pop(k) 删除键 kdic.get(k) 获得键 k 的值dic.update() 更新成员,若成员不存在,相当于加入dic.items() 获得由键和值组成的列表 25
  26. 26. 函数式编程匿名函数 lambda:>>>f = lambda x,y,z:x+y+z>>>f(1,2,3)6map 序列映射>>>map(lambda n:n**2,range(5))filter>>>l = list(filter(lambda x:x%2==0,range(5)))reduce>>>reduce((lambda x,y:x+y),[1,2,3,4])10 26
  27. 27. 复杂数据结构•1. 嵌套•2. 对象 27
  28. 28. 控制流 -ifPython 没有 switch 和 case1. 用多个 if2. 字典三元运算 x=bool?a:b python 中 x= a if bool else 28b
  29. 29. 控制流 -while 29
  30. 30. 控制流 -for 30
  31. 31. 函数声明 31
  32. 32. 脚本结构#!/usr/bin/python# -*- coding: utf-8 -*-#dataformat.pyimport os,getopt,sysdef functions(param): xxxxxxxxxxxxxdef main(): opts,args = getopt.getopt(sys.argv[1:],"F:P:t:a:i:o:h") dosomethingif __name__ =="__main__": main() 32
  33. 33. 脚本常用模块•string&re 字符串处理•math&cmath&random 数学相关•file 【内置】 文件读写•sys 退出,参数传递•os 调用 shell ,操作系统相关信息获取•getopt 脚本选项•time&datetime 时间日期•其他… . 33
  34. 34. 图书
  35. 35. 链接官网 http://www.python.org文档在线查询 http://pydoc.org/社区 http://wiki.woodpecker.org.cn/moin/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×