Python培训课件

上传人:jiups****uk12 文档编号:57476119 上传时间:2018-10-22 格式:PPT 页数:48 大小:613.50KB
返回 下载 相关 举报
Python培训课件_第1页
第1页 / 共48页
Python培训课件_第2页
第2页 / 共48页
Python培训课件_第3页
第3页 / 共48页
Python培训课件_第4页
第4页 / 共48页
Python培训课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《Python培训课件》由会员分享,可在线阅读,更多相关《Python培训课件(48页珍藏版)》请在金锄头文库上搜索。

1、Python培训,Python基本语法与编程,2,目标,使用 Python . .,Python 基础篇 -Life Is Short You Need Python,Python 简介Python是一种开源的 、解析性的,面向对象的编程语言。 Python使用一种优雅的语法,可读性强 Python支持类和多层继承等的面向对象编程技术。 Python可运行在多种计算机平台和操作系统中,如unix,windows,MacOS,OS/2等等,使用python安装python, 请参阅:http:/www.python.org,运行python脚本: 交互式运行(在Windows平台下有GUI界面)

2、 执行python脚本文件 在Linux/UNIX环境下运行程序 。 在python头部加一行:#! /usr/local/bin/python chmod +x myfile.py ./myfile.py (当然也可以直接以python myfile 方式执行),快速开始简单语句,print “hello world” 计算器 1+1 格式化字符串 print “The total is %0.2f“ %56.3598,注释 和 模块,注释 # 我是注释 “”“ 我的注释 ”“” 模块 import sys sys.exit(),Python的数据类型,变量的定义。在python中,变量的类

3、型是由赋给它的数值定义的。 q = 7 #q其为数值型变量 q = “Seven” #q为字符串型变量 基本数据类型:字符串,整数,浮点数,虚数,布尔型。 集合类型:列表(List),元组(Tuple),字典(Dictionary或Hash),Python的数据类型,列表(List)List的定义。 aList = 23 或者 bList = 1,2,3 List的使用。可以像c语言中数据一样引用list中的元素。 print bList1 List常用操作:append, del, + ,*, len(list) 0 * 5,Python的数据类型:列表(方法),列表对象支持的方法(演示)

4、append(x) count(x) :X在List中的个数 extend(L) Index(x) insert(i,x) pop(x) remove(x) reverse() sort(),Python的数据类型:元组(Tuple),Tuple的定义 aTuple = (1, 3, 5) print aTuple 元组可以用方括号括起下标做索引 元组一旦创建就不能改变 列表大部分操作同样适用于元组,Python的数据类型:字典(Hash),字典是一个用大括号括起来的键值对,字典元素分为两部份,键(key)和值。 字典是python中唯一内置映射数据类型。通过指定的键从字典访问值。 字典的使用

5、: a = a:aa, b:bb ac=cc a.has_key(a),Python的数据类型:字典(常用方法),字典的常用方法(演示): has_key(x) keys() values() items() clear() copy() update(x) get(x,y),Python 控制语句 if,Python支持三种不同的控制结构:if,for和while,不支持C语言中的switch语句。 (1)if 语句的用法: if EXPRESSION1: STATEMENT1 elif EXPRESSION2: STATEMENT2 else: STATEMENT3,Python 控制语句

6、 for,for语句的用法: mylist = “for statement“ for word in mylist: print word else: #最终执行 print “End list“,Python 控制语句 while,while语句的用法: a = 0 while a 5: a = a + 1 print a else: print “as value is five“,Python 循环中的控制语句,break: 终止当前循环 continue: 终止本次循环 pass: 什么事都不错,Python 函数,函数定义: def function_name(arg1,arg2,

7、.): statement return value 函数名: 函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号; 函数名是区分大小写的。 函数名不能是保留字。,Python 函数作用域,Python使用名称空间的概念存储对象,这个名称空间就是对象作用的区域, 不同对象存在于不同的作用域。 不同对象的作用域规则: 每个模块都有自已的全局作用域。 函数定义的对象属局部作用域,只在函数内有效,不会影响全局作用域中的对象。 赋值对象属局部作用域,除非使用global关键字进行声明。 LGB规则 大多数名字引用在三个作用域中查找:先局部(Local),次之全局

8、(Global),再次之内置(Build-in)。若仍然找不到这个变量名,则引发NameError异常.,Python 函数参数,函数的参数分类: 默认参数:def function(ARG=VALUE) 元组参数:def function(*ARG) 字典参数:def function(*ARG) 一些规则: 默认值必须在非默认参数之后; 在单个函数定义中,只能使用一个tuple参数(*ARG)和一个字典参数(*ARG)。 tuple参数必须在连接参数和默认参数之后。 字典参数必须在最后定义。,内置特殊函数,apply() 函数apply(func , args , kwargs ) 函数用

9、于当函数参数已经存在于一个元组或字典中,间接地调用函数. args是一个包含将要提供给函数的按位置传递的参数的元组. 如果省略了args,任何参数都不会被传递. kwargs是一个包含关键字参数的字典. foo(3,“x”, name=Dave, id=12345) apply(foo, (3,“x”), name: Dave, id: 12345 ) lambda操作符 lambda args: expression args是一个用逗号分隔的参数, expressin是一个调用这些参数的表达式,map(), zip(), reduce(), 和filter(),t = map(func,

10、s ) . 即ti = func(si). 需要注意的是, func函数必须有且只有一个参数 a = 1, 2, 3, 4, 5, 6 b = map(lambda x: 3*x, a) # b = 3, 6, 9, 12, 15, 18 t2 = map(func, s1,s2,sn) ? t3 = map(None, s1,s2,sn) ? zipls = zip(s1 , s2 , ., sn ) :ziplsi = (s1i , s2i , ., sni ). zip()函数取决于最短序列. reduce(func , s )函数从一个序列收集信息,然后只返回一个值(例如求和,最大值,

11、等). b = reduce(sum, 1,2,3,4,) # b = (1+2)+3)+4) = 10 filter(func ,s)是个序列过虑器,使用func()函数来过滤s中的元素。 c = filter(lambda x: x 4, 1,2,3,4,) # c = 1, 2, 3,列表内涵,列表内涵可以代替许多调用map()和filter()函数的操作. 一般形式是: 表达式 for item1 in 序列1 for item2 in 序列2 . for itemN in 序列N if 条件表达式 s = for item1 in sequence1: for item2 in se

12、quence2: . for itemN in sequenceN: if condition: s.append(expression),Demo,import math a = -3,5,2,-10,7,8 b = abc c = 2*s for s in a # c = -6,10,4,-20,14,16 d = s for s in a if s = 0 # d = 5,2,7,8 e = (x,y) for x in a # e = (5,a),(5,b),(5,c), for y in b # (2,a),(2,b),(2,c), if x 0 # (7,a),(7,b),(7,c

13、), # (8,a),(8,b),(8,c) f = (1,2), (3,4), (5,6) g = math.sqrt(x*x+y*y) # g = 2.23606, 5.0, 7.81024 for x,y in f h = reduce(lambda x,y: x+y, # 平方根的和 math.sqrt(x*x+y*y) for x,y in f),eval(), exec, execfile(),和compile(),eval(str ,globals ,locals )函数将字符串str当成有效Python表达式来求值,并返回计算结果。 同样地, exec语句将字符串str当成有效

14、Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同. 最后,execfile(filename ,globals ,locals )函数可以用来执行一个文件,看下面的例子: eval(3+4) 7 exec a=100 a 100 execfile(rc:test.py) hello,world!,eval(),exec,execfile()名字空间,默认eval(),exec,execfile()所运行的代码都位于当前的 名字空间中。eval(), exec,和 execfile()函数也可接受 一个或两个可选字典参数作为代码执行的全局名字空 间和局部名字空间

15、 Demo: globals = x: 7, y: 10, birds: Parrot, Swallow, Albatross locals = # 将上边的字典作为全局和局部名称空间 a = eval(“3*x + 4*y“, globals, locals) exec “for b in birds: print b“ in globals, locals 注意语法 execfile(“foo.py“, globals, locals) exec是一个语句(就象print或while), 而eval()和execfile()则是内建函数.,compile(str ,filename ,ki

16、nd )函数,compile()将一个字符串编译为字节代码, str是将要被编译的字符串, filename是定义该字符串变量的文件, kind参数指定了代码被编译的类型 single指单个语句, exec指多个语句, eval指一个表达式. 返回一个代码对象,该对象也可以被传递给eval()函数和exec语句来执行 预编译, 可以有效提高程序的执行效率,递归,Python对递归函数调用的次数作了限制. 函数 sys.getrecursionlimit()返回当前允许的最大递归次数, 而函数sys.setrecursionlimit()可以改变该函数的返回值. 默认的最大递归次数为1000.当一个函数递归次数超过最大递归次数时,就会引发RuntimeError异常.,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号