【全网最全】PCAP – Python中级考试攻略

在上一期寿司分享了PCAP这门考试的基本情况,详情可以参考:

这一期寿司将来给大家介绍一下PCAP这门考试的备考大纲以及寿司总结的考试重点。

考试内容介绍

PCAP考试主要涵盖了五个大方向,分别是:

  • Exam block #1: Modules and Packages (12%) – 这部分共六道题
  • Exam block #2: Exceptions (14%) – 这部分共五道题
  • Exam block #3: Strings (18%) – 这部分共八道题
  • Exam block #4: Object-Oriented Programming (34%) – 这部分共十二道题
  • Exam block #5: Miscellaneous (List Comprehensions, Lambdas, Closures, and I/O Operations) (22%) – 这部分共九道题

备考大纲

Modules and Packages

这一部分相对来说比较简单,考察的重点:

  • import variants; advanced qualifiying for nested modules
  • dir(); sys.path variable
  • math: ceil(), floor(), trunc(), factorial(), hypot(), sqrt(); random: random(), seed(), choice(), sample() 注意函数引用时需要import相应的module,否则结果报错
  • platform: platform(), machine(), processor(), system(), version(), python_implementation(), python_version_tuple()
  • idea, __pycache__, __name__, public variables, __init__.py
  • searching for modules/packages; nested packages vs directory tree

Exceptions

这一部分是寿司自己考试中成绩最差的一部分,原因也是对这一部分没有很重视,觉得exceptions类的错误在编程中查询一下就知道,没有仔细去看不同类别。

在考试中有非常多的题目是给定一个程序,让你判断出现的exceptions具体类别,比如IndexError,FileExistsError等。所以这部分的复习重点是,给出程序,能判断出现的exceptions名字。

  • except, except:-except; except:-else:, except (e1,e2)
  • the hierarchy of exceptions   BaseException是整个tree的root,LookupError和ArithmeticError是其中比较重要的两个
  • raise, raise ex, assert    assert是判断表达式,在表达式为False时触发异常,在条件不满足情况下直接返回错误。
  • event classes, except E as e, arg property
  • self-defined exceptions, defining and using

Strings

  • ASCII, UNICODE, UTF-8, codepoints, escape sequences    基本character的codepoints要有了解,ASCII code中的顺序是: 数字,大写英文字母(比如A:65),小写字母(比如a:97),这部分并不需要特别记忆具体对应的codepoints,但是要知道大概顺序。
  • ord(), chr(), literals      ord()将character转换成codepoint value,chr()将codepoint 转换成character,是考察点。
  • indexing, slicing, immutability strings可以indexing,iterating,slicing,是immutable的;与之对比记忆的是tuple和dictionary
  • iterating through
  • concatenating, multiplying, comparing (against strings and numbers) 部分strings可以进行comparison,注意即使string里含有数字,也不是number;所以string和数字的比较,只可以进行==(结果为False)和!=(结果为True),其他比较都会生成TypeError,例如‘10’>1 #TypeError 
  • in, not in
  • .isxxx(), .join(), .split()
  • .sort(), sorted(), .index(), .find(), .rfind() 寿司考到的题目之一,但是寿司把sorted函数和sort method搞混了,以下内容一定要注意:sorted function:返回一个新的list,原list不变;sort() method:影响list本身,不会产生新list

Object-Oriented Programming

OOP这部分涵盖的题目最多,所以也是复习的重点。

  • ideas: class, object, property, method, encapsulation, inheritance, grammar vs class, superclass, subclass 继承、类和封装都是考察重点,主要考察可以正确读出程序结果
  • instance vs class variables: declaring, initializing class variables只有一个copy,并不依附于objects;instance variables依附于objects,改变一个object的instance variable并不影响其他objects
  • __dict__ property (objects vs classes) class variables并不在object的__dict__里
  • private components (instance vs classes), name mangling
  • methods: declaring, using, self parameter 注意在class中invoke一个method是需要加self argument的;但是invoke method outside the class并不需要self argument
  • instrospection: hasattr() (objects vs classes), __name__, __module__, __bases__ properties hasattr() 函数也是考察之一,用来检查object/class是否含有特定property;注意hasattr(class or object, a string)的要求
  • inheritance: single, multiple, isinstance(), overriding, not is and is operators
  • constructors: declaring and invoking
  • polymorphism
  • __name__, __module__, __bases__ properties, __str__() method 这几个都是class有的properties,要会读取正确结果
  • multiple inheritance, diamonds 给定multiple inheritance,要能正确读取结果

Miscellaneous (List Comprehensions, Lambdas, Closures, and I/O Operations) 

  • list comprehension: if operator, using list comprehensions
  • lambdas: defining and using lambdas, self-defined functions taking lambda as as arguments; map(), filter(); lambda函数考察重点
  • closures: meaning, defining, and using closures
  • I/O Operations: I/O modes, predefined streams, handles; text/binary modes
    open(), errno and its values; close()
    .read(), .write(), .readline(); readlines() (along with bytearray())

注意text和binary的几种mode,read text file和write text file的方式很大概率会出现在考题中,考察能否读取正确结果

以上就是关于这个考试的分享,希望大家都能顺利通过考试!

也请大家继续关注本网站,我们会继续分享其它Python考试攻略~

Image by Pexels from Pixabay 

其他相关文章:

Leave a Reply

Your email address will not be published. Required fields are marked *

error: 尊重原创版权。如需转载,请联系网站~