付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Beginners Python,1,Beginners Python,Based on Learning Python By Mark Lutz PyRun_SimpleString(x=pfx+root+sfx); / . . . Platform-specific invocation E.g., Double clicking.py files,Beginners Python,12,Simple examples,Built-in and explicit print Hello all Hello all print A b A b ALongName = 177 / 3 ALon
2、gName 59,Builtin print gives double quotes as single quotes. and quotes are same.,print statement removes quotes,Beginners Python,13,Python Principles,Python treats everything as an object Python is an interpreter It gives immediate results It generates byte code (similar to Java),Beginners Python,1
3、4,Built-in Object Types,Can be changed in place?,Can be indexed/sliced?,Beginners Python,15,Operator Precedence,Beginners Python,16,Basic Operations (1),Assignment creates names s = A string # s is created Names can be any length Names are case sensitive A = 1; a = 2; A+a 3,Semicolons separates stat
4、ements on the same line,Beginners Python,17,Basic Operations (2),Mixing numeric types promotes operands to most inclusive type 1/2.0 # same as 1.0/2.0 0.5,Beginners Python,18,Basic Operations (3),Boolean True is non-zero, non-NULL, non-empty a=a, (1,2)=(1,2), 3 (1, 1, 3) Boolean False = not True a!=
5、a, (2)!=(2), not 3 (0, 0, 0),Beginners Python,19,Basic Numeric Operations,Beginners Python,20,Strings,Sequence of immutable characters (characters cant be changed in-place).,Beginners Python,21,String Operations,Range includes lower bound and excludes upper bound,Suppress new line on output,Beginner
6、s Python,22,String Formatting,Like Cs printf with similar specifiers Its %d great life! % 1 Its 1 great life! %s %s much % (Pythons, 2) Pythons 2 much Cs backslash conventions used Raw strings take backslashes literally print atc # outputs ac print Ratc # outputs atc,Adjacent strings are concatenate
7、d, like in C,Beginners Python,23,Lists (1),Sequence of mutable heterogeneous objects (items can be changed in-place).,Only way of deleting an element,Append is only way of growing list,Beginners Python,24,Lists (2),List methods work on lists, not copies Built-in operations work on copies L = 1, 3; L
8、.append(a); L 1, 3, a L + b # copies to new list 1, 3, a, b L 1, 3, a,Beginners Python,25,Lists (3),Shared references X = 1 ,2, 3 L = a, X, c; L a, 1, 2, 3, c X1 = -9; X, L (1, -9, 3, a, 1, -9, 3, c) M = X:# make copy of X X0 = c; X, M (c, 2, 3, 1, 2, 3),Beginners Python,26,Dictionaries,Mapping of u
9、nordered immutable keys to mutable heterogeneous objects.,Only way of deleting an element,Beginners Python,27,Tuples,Sequence of ordered immutable heterogeneous objects. Can not change number of elements in tuple.,Used to distinguish tuple from expression,Beginners Python,28,Comparisons, Equality,In
10、 comparisons, Python automatically traverses data structures checking all objects Equivalence (=) tests value equality Identity (is) compares objects addresses,Beginners Python,29,Files,Related to Cs stdio. Out = open(myF,w) # Create output file myF L = line 2n, line 3n Out.write(line 1n) Out.writel
11、ines(L) Out.close() In = open(myF, r) # Open existing file myF In.readline()# reads line 1 line 1012 In.readlines()# reads line 2 and line 3 line 2012, line 3012 In.close(),Beginners Python,30,Reserved Words,Beginners Python,31,Statements,Beginners Python,32,Assignment Statement,Defines variables na
12、mes referring to objects Forms RHS tuples and assigns pair-wise to LHS Implicit assignments: import, from, def, class, for, function, argument, etc.,Beginners Python,33,IF Statement,General form example: if a = c = z: print Lower case letter elif A = c = Z: # optional print Upper case letter else: #
13、 optional print Not a letter,Beginners Python,34,All statements indented the same amount are members of the same block (or suite), until another less indented statement ends the block (or suite). if a = c = z: print Lower case letter if dc = : print Not in dictionary else: print Found it # OK for on
14、e stmt else: print Could not check,Blocks (a.k.a. Suites),Beginners Python,35,Truth Tests,Comparisons and equality return 1 or 0. Boolean and and or use short circuit logic to return true or false objects In boolean and expressions, first false is returned or last true value in expression. In boolea
15、n or expressions, first true is returned or last false value in expression.,Beginners Python,36,WHILE Statement,General format: while : # loop conditional # loop body else : # optional - run # if no break used,a = 0; b = 5 while a b : print a,# outputs 0 1 2 3 4 a = a + 1,Beginners Python,37,BREAK,
16、CONTINUE, PASS (1),break terminates the innermost executing loop and transfer control after the loop. continue immediately transfers control to the top of the innermost executing loop. pass is the no-op statement in Python. while : # loop header # run if test0 true if : break # exit, skip else if :
17、continue # go to loop header # not run if test2 true else : # run if didnt hit break,Beginners Python,38,BREAK, CONTINUE, PASS (2),Examples of break and continue in while y = 2 while y 1 : if y % x = 0 : print %d has factor %d % (y, x) break # causes else to be skipped x = x 1 else : print %d is pri
18、me % y,Beginners Python,39,FOR Statement,General format: for in : # loop header # loop body else : # optional, run else clause # if no break used,sum = 0 for x in 1, 2, 3, 5 : sum = sum + x sum # outputs 11,Beginners Python,40,BREAK, CONTINUE, PASS (3),Examples of break and continue in for. S = (1,
19、2), (3, 4), (7, 8) for (x, y) in S : print x, y, # outputs 1, 2 3, 4 7, 8 L = Tom, Tina, Sam M = Mary, Tina, Tom for x in M : for y in L : if x = y : print %s found % x break else : print %s is not in %s % (y, M),Beginners Python,41,RANGE Function,General formats, all returning a list: range(hi)# 0
20、to hi-1 range(lo, hi)# lo to hi-1 range(lo, hi , incr) # lo to hi-1 by incr, range(3), range(2,5), range(0,5,2) (0, 1, 2, 2, 3, 4, 0, 2, 4) for I in range(1,5): print I, 1 2 3 4,Beginners Python,42,Statement Gotchas,Forgetting the colons. Not starting in column 1. Indenting inconsistently. Use of C/
21、C+ conventions for blocks. Expecting results from all expressions. Some functions do not return values (they return None). Using this value can erase results L = 1, 2, 3 L = L.append(a) # L set to None () Forgetting parenthesis after function names. Using file extensions on module names.,Beginners P
22、ython,43,Named Functions,General format: def name(arg0, , argN) : # header # optional body return # optional return def is an executable statement that creates a function object and assigns name to it. Arguments are passed by reference, not value. (i.e., as with assignment) Arguments, return values,
23、 and variables are not declared.,Beginners Python,44,Named Function Example,Get intersection of a set of sequences def intersect(seq1, seq2) : res = for x in seq1 : if x in seq2 : res.append(x) return res intersect(Summers, Blues) u, e, s,Beginners Python,45,Scope Rules,The enclosing module is the g
24、lobal scope. Each function call defines a new local scope. Assigned names are local unless declared global. All other names are global or built-in. LGB rule Local, Global, Built-in: Names are looked up first in the local function, then the global (i.e., module) scope, and then in the list of Built-i
25、n names. For name lookup purposes, enclosing function names and the functions own name are ignored.,Beginners Python,46,Scope Rules Example (1),The following will not run successfully because of the name lookup error. def outer(n) : def inner(n) : if n 1 : return n * inner(n-1) # err does not else:
26、# know own name return 1 return inner(n),Beginners Python,47,Scope Rules Example (2),The following quick and dirty fix works, but what is wrong with it? def outer(n) : global inner # put name in global scope def inner(n) : if n 1 : return n * inner(n-1) # finds name by else: # LGB rule return 1 retu
27、rn inner(n),Beginners Python,48,GLOBAL Statement,Global names must be declared only if they are assigned in a function. This does not apply to sub-objects. Global names may be referenced without being declared. A = 1, 2; B = C = Ann:M def F(X) : print Before: X=%s C=%s % (X, C) X.append(A) CAnn = F
28、# allowed to change sub-object global C # needed to change global C C = # illegal without global stmt print After: X=%s C=%s % (X, C) F(B) # changes B to 1, 2,Beginners Python,49,RETURN Statement,return statements can return any type of object. def wow(x, y) : x = 2 * x y = 3 * y return x, y X = Hi
29、Y = (a) A, B = wow(X, Y) A, B (Hi, Hi, aaa),Beginners Python,50,Argument Matching (1),Python supports the following types of argument matching: Positional normal left to right matching Keywords matched by argument name Varargs what remains after positional and keyword arguments matched Defaults spec
30、ified values for missing arguments,Beginners Python,51,Argument Matching Forms,Beginners Python,52,Argument Matching Example,def w(p1=defval1, p2=defval2, *pa, *na): print p1, p2, pa, na w(5, unknown=4) 5, defval2, (), unknown: 4 w(5, 6, 7, unknown=4) 5, 6, (7,), unknown: 4 Note: Positional argument
31、s must appear before keyword arguments in call to function. Thus, the following is illegal: w(unknown=a, 5),Beginners Python,53,LAMBDA Expressions,lambda expressions define anonymous functions. They can appear anywhere an expression can appear, unlike statements that are limited. They return a value
32、. They have the form: lambda arg1, arg2, , argN : Example: F = lambda a1=3, a2=4 : a1 * a2 F(3) # keyword Nested functions are not nested scopes. Default values are saved when def is run, not when the function is called.,Beginners Python,57,Modules (1),Modules are implemented using files. Module sou
33、rce files have a .py extension. Compiled byte code modules have .pyc extension.,Beginners Python,58,Modules (2),Each module defines a new namespace. Loading a module executes it. Top-level names inside a module become defined when it loads. Top-level names in modules are called attributes.,Beginners
34、 Python,59,Loading Modules,There are 3 ways to load a module:,Beginners Python,60,Import Statement (1),Using the import statement:, import sigma1 Loaded module sigma1 sigma1.counter 1 sigma1.Sigma(1, 2, 3) 6 sigma1.counter = 2 import sigma1 sigma1.counter 2,# sigma1.py - test module counter = 1 def
35、Sigma(L) : sum = 0 for x in L : sum = sum + x return sum print Loaded module sigma1,Beginners Python,61,Qualified Names,Qualified names have form: a.b.z Qualification can be used with anything that has attributes. Unqualified names use the LGB rule. a.b.c means first find attribute b in object a and
36、 then find attribute c in a.b. Qualification ignores the LGB rule.,Beginners Python,62,IMPORT Statement (2),Both import and from are forms of assignment statements import assigns a name to the module object. import mymod mymod ,Beginners Python,63,FROM Statement (1),Assume module ModA contains: A =
37、1; C = 2; D = 4;# no B defined If the following is entered: A = 99; B = 98; C = 97; D = 96 from ModA import A, C print A, B, C, D 1 98 2 96 A from imported name replaces any previously defined local variable having the same name (see variables A and C).,Beginners Python,64,FROM Statement (2),from does not assign the module name. from is equivalent to: from mymod import name1, name2, . . . Which is the same as: import mymod # load module and n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东清远市迳头镇招聘专职网格员4人笔试备考试题及答案解析
- 2026中国科学报社诚聘图文和音视频记者2人笔试模拟试题及答案解析
- 2026重庆巫山县人力社保局公益性岗位招聘1人笔试参考题库及答案解析
- 2026吉林大学白求恩第一医院急诊内科招聘笔试备考题库及答案解析
- 2026上海市工商外国语学校招聘9人考试备考题库及答案解析
- 2026山东枣庄市财金控股集团有限公司招聘5人考试备考题库及答案解析
- 2026暨南大学网络空间安全学院招聘笔试参考题库及答案解析
- 下期湖南岳阳市城区2025-2026学年初三4月月考英语试题试卷含解析
- 九电能和电功同步测试题重点名校2025-2026学年初三第二学期期末语文试题模拟试题含解析
- 2026届山东省泰安市重点中学初三下期末语文试题试卷含解析
- 高血压糖尿病的护理问题和措施
- 施工项目管理制度
- 公路处安全培训课件
- BIM技术在城市绿化项目中的应用
- 隧道突水突泥风险评估与防控技术
- 建筑设计策略分享
- 做账实操-增值税强制申报情况说明书
- 证券投资理论与实务考点重点讲义
- 《苏幕遮(碧云天)》课件-【中职专用】高一语文同步课堂(高教版2023基础模块下册)
- 保安证考试的复习方法及技巧试题及答案
- 语文七年级下册 第二单元 单元整体分析
评论
0/150
提交评论