ActivePython2.6-Document(tutorial)-阅览笔记

ActivePython2.6-Document(tutorial)--阅读笔记ActivePython2.6-Documentation--阅读笔记??? 0,python tut

ActivePython2.6-Document(tutorial)--阅读笔记

ActivePython2.6-Documentation--阅读笔记

??? 0,python tutorial
??? --Python 2.6 for windows 软件包中自动文档中的教程。

?

由? 王宇 原创并发布

??? ??? 1、阅读python文档,笔记:

??? ??? ??? 1、调用python的解析器,在命令行中直接执行:python

??? ??? ??? 2、在计算器中,使用pyton


??? ??? ??? ??? (1)在提示符中输入,自动多行输入,回车空行结束多行输入

??? ??? ??? ??? (2)Numbers:3

??? ??? ??? ??? (3)Strings:HELLO="Hello,world!!"printHELLO

??? ??? ??? ??? (4)unicodeStrings:u'Helloworld"

??? ??? ??? ??? (5)Listsa=['spam','eggs',100,1234]

??? ??? ??? ??? ??? >>>a[0]

??? ??? ??? ??? ??? 'spam'

??? ??? ??? 3、控制语句:

??? ??? ??? ??? 3.1 if elif else???

??? ??? ??? ??? ??? >>>ifx<0:

??? ??? ??? ??? ??? ...??? x=0

??? ??? ??? ??? ??? ...??? print'Negative'

??? ??? ??? ??? ??? ...elsex==0:

??? ??? ??? ??? ??? ??? print'Zero'

??? ??? ??? ??? 3.2 for

??? ??? ??? ??? ??? >>>a=['cat','window','dog']

??? ??? ??? ??? ??? >>>forxina:

??? ??? ??? ??? ??? ...??? printx,len(x)

??? ??? ??? ??? ??? cat3

??? ??? ??? ??? ??? window6

??? ??? ??? ??? ??? dog3

??? ??? ??? ??? 3.3 range()

??? ??? ??? ??? ??? >>>range(5)

??? ??? ??? ??? ??? [5,6,7,9,10]

??? ??? ??? ??? ??? >>>range(5,9)

??? ??? ??? ??? ??? [5,6,7,8]

??? ??? ??? ??? ??? >>>range(5,10,2)

??? ??? ??? ??? ??? [5,7,9]

??? ??? ??? ??? 3.4 break,continue

??? ??? ??? ??? 3.5 pass

??? ??? ??? ??? 3.6 def

??? ??? ??? ??? ??? MoreonDefiningFunctions

??? ??? ??? ??? ??? ??? DefaultArgumentValues

??? ??? ??? ??? ??? >>>deffib(n):

??? ??? ??? ??? ??? ...??? b=10

??? ??? ??? ??? ??? ...??? whileb<n:

??? ??? ??? ??? ??? ...??? ??? b=b+1

??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? >>>fib(20)

??? ??? ??? ??? 注意缩进问题

??? ??? ??? 4、数据结构

??? ??? ??? ??? 4.1 More on list???

??? ??? ??? ??? >>>a=[66,25,333,333,1,1234.5]

??? ??? ??? ??? ??? list.append()

??? ??? ??? ??? ??? ??? >>>a.append(333)

??? ??? ??? ??? ??? ??? >>>a

??? ??? ??? ??? ??? ??? ??? [66,25,333,333,1,1234.5,333]

??? ??? ??? ??? ??? list.extend()

??? ??? ??? ??? ??? list.insert()

??? ??? ??? ??? ??? list.remove()

??? ??? ??? ??? ??? list.pop()

??? ??? ??? ??? ??? list.index()

??? ??? ??? ??? ??? list.count()

??? ??? ??? ??? ??? list.sort()

??? ??? ??? ??? ??? list.reverse()

??? ??? ??? ??? ??? UsingListsasStacks

??? ??? ??? ??? ??? ??? >>>stack=[3,4,5]

??? ??? ??? ??? ??? ??? >>>stack.pop

??? ??? ??? ??? ??? ??? ??? 5

??? ??? ??? ??? ??? UsingListasQueues

??? ??? ??? ??? ??? ??? >>>fromcollectionsimportdeque

??? ??? ??? ??? ??? ??? >>>queue=deque(["Eric","John","Michael"])

??? ??? ??? ??? ??? ??? >>>queue.append("Terry")

??? ??? ??? ??? ??? ??? >>>queue.popleft()

??? ??? ??? ??? ??? ??? 'Eric'

??? ??? ??? ??? ??? ??? >>>queue

??? ??? ??? ??? ??? ??? deque(["John","Michael","Terry"])

??? ??? ??? ??? ??? FunctionalProgrammingTools

??? ??? ??? ??? ??? ??? filter()

??? ??? ??? ??? ??? ??? map()

??? ??? ??? ??? ??? ??? reduce()

??? ??? ??? ??? ??? ListComprehensions???

??? ??? ??? ??? ??? NestedListComprehensions

??? ??? ??? ??? 4.2 The delstatement

??? ??? ??? ??? ??? >>>a=[-1,1,66.25,333,333,1234.5]

??? ??? ??? ??? ??? >>>dela[0]

??? ??? ??? ??? ??? >>>a

??? ??? ??? ??? ??? ??? [1,66.25,333,333,1234.5]

??? ??? ??? ??? ??? >>>dela[2:4]

??? ??? ??? ??? ??? >>>a

??? ??? ??? ??? ??? ??? [1,66.25,1234.5]

??? ??? ??? ??? ??? >>>dela[:]

??? ??? ??? ??? ??? >>>a

??? ??? ??? ??? ??? []

??? ??? ??? ??? 4.3 Tuple sand Sequences

??? ??? ??? ??? 4.4 Sets

??? ??? ??? ??? ??? >>>basket=['apple','orange','apple','pear']

??? ??? ??? ??? ??? >>>fruit=set(basket)

??? ??? ??? ??? ??? >>>fruit

??? ??? ??? ??? ??? set(['apple','orange','apple','pear'])

??? ??? ??? ??? ??? >>>'organge'infruit

??? ??? ??? ??? ??? True

??? ??? ??? ???

??? ??? ??? ??? 4.5 Dictionaries

??? ??? ??? ??? ??? >>>tel={'jack':4098,'sape':4139}

??? ??? ??? ??? ??? >>>tel['guido']=4127

??? ??? ??? ??? ??? >>>tel

??? ??? ??? ??? ??? {'jack':4098,'sape':4139,'guido',4127}

??? ??? ??? ??? ??? >>>tel['jack']

??? ??? ??? ??? ??? 4098

??? ??? ??? ??? 4.6 Looping Techniques

??? ??? ??? ??? ??? >>>tel={'jack':4098,'sape':4139}

??? ??? ??? ??? ??? >>>fork,vintel.iteritems():

??? ??? ??? ??? ??? ...??? printk,v

??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? 'jack'4098

??? ??? ??? ??? ??? ??? 'sape'4139

??? ??? ??? ??? 4.7 More on Conditions

??? ??? ??? ??? ??? >>>a,b,c=1,2,3

??? ??? ??? ??? ??? >>>a<b==c

??? ??? ??? ??? ??? Flase

??? ??? ??? ??? ??? >>>c=2

??? ??? ??? ??? ??? >>>a<b==c

??? ??? ??? ??? ??? True

??? ??? ??? ??? 4.8 Comparing Sequences and Other Types???

??? ??? ??? ??? ??? ???

??? ??? ??? 5、模块

??? ??? ??? ??? 5.1 Modules:currentdirectionfile:fibo.py;importfibo;fibo.fib(100)

??? ??? ??? ??? 5.2 More on Modules

??? ??? ??? ??? ??? >>>fromfiboimportfib,fib2

??? ??? ??? ??? ??? >>>fromfiboimport*

??? ??? ??? ??? ??? >>>fib(500)

??? ??? ??? ??? ??? 5.2.1Excutingmodulesasscripts

??? ??? ??? ??? ??? ??? pythonfibo.py<arguments>

??? ??? ??? ??? ??? ??? addingthiscodeattheendofyourmodule.

??? ??? ??? ??? ??? ??? ??? if__name__=="__main__":

??? ??? ??? ??? ??? ??? ??? ??? importsys

??? ??? ??? ??? ??? ??? ??? ??? fib(int(sys.argv[1]))

??? ??? ??? ??? ??? ??? $pythonfibo.py50

??? ??? ??? ??? ??? 5.2.2TheModuleSearchPath

??? ??? ??? ??? ??? ??? PYTHONPATH

??? ??? ??? ??? ??? ??? sys.path

??? ??? ??? ??? ??? 5.2.3CompiledPythonfiles

??? ??? ??? ??? 5.3 Standard Modules:PythonLibraryReference**

??? ??? ??? ??? ??? winregmoduleisonlyprovidedonWindowssystem.

??? ??? ??? ??? ??? IfPYTHONPATHisnotset,youwillmodifysys.path

??? ??? ??? ??? ??? ??? >>>importsys

??? ??? ??? ??? ??? ??? >>>sys.path.append('/usr/phthon');

??? ??? ??? ??? 5.4 **Thedir()Function

??? ??? ??? ??? 5.5 Package:PackageisPhthon'snamespaceofmodules

??? ??? ??? ??? ??? importsound.effects.echo

??? ??? ??? ??? ??? fromsound.effectsimportecho???

??? ??? ??? ??? ??? 5.5.1Importing*FromaPackage

??? ??? ??? ??? ??? ??? __all__

??? ??? ??? ??? ??? 5.5.2Intra-packageReferences

??? ??? ??? ??? ??? 5.5.3PackageinMultipleDirectories

??? ??? ??? 6、输入和输出

??? ??? ??? ??? 6.1 Fancie rOutput Formatting

??? ??? ??? ??? ??? str():human-readable

??? ??? ??? ??? ??? repr():Itcanbereadbytheinterpreter

??? ??? ??? ??? ??? 6.1.1

??? ??? ??? ??? ??? 6.1.2Oldstringformatting

??? ??? ??? ??? ??? ??? >>>print'Thevalueis%5.3f'%math.pi

??? ??? ??? ??? ??? ??? >>>Thevalueis3.142

??? ??? ??? ??? 6.2 Reading and Writing Files

??? ??? ??? ??? ??? f=open('/tmp/dinw.txt','w')

??? ??? ??? ??? ??? secondparametercontain'o''r''w'...

??? ??? ??? ??? ??? 6.2.1MethodsofFileObjects

??? ??? ??? ??? ??? ??? f.read()

??? ??? ??? ??? ??? ??? f.readline()

??? ??? ??? ??? ??? ??? f.readlines()

??? ??? ??? ??? ??? ??? f.write()

??? ??? ??? ??? ??? ??? f.tell()

??? ??? ??? ??? ??? ??? f.seek()

??? ??? ??? ??? ??? ??? f.close()

??? ??? ??? ??? ??? 6.2.2ThepickleModel??????

??? ??? ??? ??? ???

??? ??? ??? 7、错误和异常

??? ??? ??? ??? Syntaxerrors

??? ??? ??? ??? Exceptions

??? ??? ??? ??? HandingExceptions

??? ??? ??? ??? ??? try:

??? ??? ??? ??? ??? exceptValueerror:

??? ??? ??? ??? RaisingExceptions

??? ??? ??? 8、类:Noconstructoranddestructor

??? ??? ??? ??? 8.1 A Word About Terninology

??? ??? ??? ??? 8.2 Python Scopes and Name Spaces(???)

??? ??? ??? ??? 8.3 A First Look at Classes

??? ??? ??? ??? ??? 8.3.1ClassDefinitionSyntax

??? ??? ??? ??? ??? ??? classClassName:

??? ??? ??? ??? ??? ??? ??? <statement-1>

??? ??? ??? ??? ??? ??? ??? ..

??? ??? ??? ??? ??? ??? ??? ..

??? ??? ??? ??? ??? ??? ??? <statement-N>

??? ??? ??? ??? ??? 8.3.2ClassObjects

??? ??? ??? ??? ??? ??? classMyClass:

??? ??? ??? ??? ??? ??? ??? """Asimpleexampleclass"""

??? ??? ??? ??? ??? ??? ??? i=12345

??? ??? ??? ??? ??? ??? ??? deff(self):

??? ??? ??? ??? ??? ??? ??? ??? return'helloworld'

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? attribute:

??? ??? ??? ??? ??? ??? ??? >>>MyClass.i

??? ??? ??? ??? ??? ??? ??? 12345

??? ??? ??? ??? ??? ??? ??? >>>MyClass.f

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? instantiation:

??? ??? ??? ??? ??? ??? ??? x=MyClass()

??? ??? ??? ??? ??? ??? ??? initialstate:__init__()

??? ??? ??? ??? ??? ??? ??? ??? classComplex:

??? ??? ??? ??? ??? ??? ??? ??? ??? def__init__(self,realpart,imagpart):

??? ??? ??? ??? ??? ??? ??? ??? ??? ??? self.data=[]

??? ??? ??? ??? ??? ??? ??? ??? ??? ??? self.r=realpart//私有的,类实例化得特性表现

??? ??? ??? ??? ??? ??? ??? ??? ??? ??? self.m=imagpart

??? ??? ??? ??? ??? ??? ??? >>>x=Complex(3.0,-4.5)

??? ??? ??? ??? ??? ??? ??? >>>x.r,x.i

??? ??? ??? ??? ??? ??? ??? (3.0,-4.5)

??? ??? ??? ??? ??? 8.3.3InstanceObjects

??? ??? ??? ??? ??? ??? x.fisnotthesamethingasMyClass.f--itisamethodobject,notafunctionobject.???

??? ??? ??? ??? ??? 8.3.4MethodObject(???)

??? ??? ??? ??? ??? ??? >>>classMyClass:

??? ??? ??? ??? ??? ??? ...??? x=1

??? ??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? >>>obj1=MyClass()

??? ??? ??? ??? ??? ??? >>>obj1.x

??? ??? ??? ??? ??? ??? 1

??? ??? ??? ??? ??? ??? >>>obj2=MyClass()

??? ??? ??? ??? ??? ??? >>>obj2.x

??? ??? ??? ??? ??? ??? 1

??? ??? ??? ??? ??? ??? >>>obj1.x=2

??? ??? ??? ??? ??? ??? >>>obj2.x

??? ??? ??? ??? ??? ??? 2//怎么会是2,而不是1?这个地方把我给搞晕了,颠覆了我对类实例化的概念,如何实现类似C++的类实例化?

??? ??? ??? ??? ??? ??? >>>MyClass.x//整个是一个全局静态变量!!

??? ??? ??? ??? ??? ??? 2

??? ??? ??? ??? 8.4 Random Remarks

??? ??? ??? ??? ??? deff1(self,x,y):

??? ??? ??? ??? ??? ??? returnmin(x,x+y)

??? ??? ??? ??? ???

??? ??? ??? ??? ??? classC:

??? ??? ??? ??? ??? ??? f=f1

??? ??? ??? ??? ??? ??? defg(self):

??? ??? ??? ??? ??? ??? ??? return'hellowworld'

??? ??? ??? ??? ??? ??? h=g

??? ??? ??? ??? Nowf,gandhareallattributesofC???

??? ??? ??? ??? 8.5 Inheritance??? (继承)

??? ??? ??? ??? ??? classDerivedClassName(BaseClassName):

??? ??? ??? ??? ??? ??? <statement-1>

??? ??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? <Statement-N>

??? ??? ??? ??? ??? 8.5.1MultipleInheritance

??? ??? ??? ??? ??? classDerivedClassName(Base1,Base2,Base3):

??? ??? ??? ??? ??? ??? <statement-1>

??? ??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ??? <Statement-N>

??? ??? ??? ??? ??? 按照顺序寻找方法。???

??? ??? ??? ??? 8.6 Private Variables

??? ??? ??? ??? ??? 定义变量前加:'_'

??? ??? ??? ??? 8.7 Odds and Ends

??? ??? ??? ??? ??? classEmployee:

??? ??? ??? ??? ??? ??? pass

??? ??? ??? ??? ??? john=Employee()

??? ??? ??? ??? ??? #Fillthefieldsoftherecord(太随意了,很容易犯错误!)

??? ??? ??? ??? ??? john.name='JohnDoe'

??? ??? ??? ??? ??? john.salary=1000

??? ??? ??? ??? 8.8 Exceptions Are Classes Too

??? ??? ??? ??? 8.9 Iterators

??? ??? ??? ??? ??? forelementin[1,2,3]:

??? ??? ??? ??? ??? ??? printelement

??? ??? ??? ??? ??? forelementin(1,2,3):

??? ??? ??? ??? ??? ??? printelement

??? ??? ??? ??? ??? forkeyin{'one':1,'two':2}:

??? ??? ??? ??? ??? printkey

??? ??? ??? ??? ??? forcharin"123":

??? ??? ??? ??? ??? printchar

??? ??? ??? ??? ??? forlineinopen("myfile.txt"):

??? ??? ??? ??? ??? printline

??? ??? ??? ??? ??? ------------------------??? ??? ??? ???

??? ??? ??? ??? ??? >>>s='abc'

??? ??? ??? ??? ??? >>>it=iter(s)

??? ??? ??? ??? ??? >>>it

??? ??? ??? ??? ??? <iteratorobjectat0x00A1DB50>

??? ??? ??? ??? ??? >>>it.next()

??? ??? ??? ??? ??? 'a'

??? ??? ??? ??? ??? >>>it.next()

??? ??? ??? ??? ??? 'b'

??? ??? ??? ??? ??? >>>it.next()

??? ??? ??? ??? ??? 'c'

??? ??? ??? ??? ??? >>>it.next()

??? ??? ??? ??? ???

??? ??? ??? ??? ??? Traceback(mostrecentcalllast):

??? ??? ??? ??? ??? File"<stdin>",line1,in?

??? ??? ??? ??? ??? it.next()

??? ??? ??? ??? ??? StopIteration

??? ??? ??? ??? ??? ------------------------

??? ??? ??? ??? ??? classReverse:

??? ??? ??? ??? ??? "Iteratorforloopingoverasequencebackwards"

??? ??? ??? ??? ??? def__init__(self,data):

??? ??? ??? ??? ??? self.data=data

??? ??? ??? ??? ??? self.index=len(data)

??? ??? ??? ??? ??? def__iter__(self)://returnanobjectwithanext()

??? ??? ??? ??? ??? returnself

??? ??? ??? ??? ??? defnext(self):

??? ??? ??? ??? ??? ifself.index==0:

??? ??? ??? ??? ??? raiseStopIteration

??? ??? ??? ??? ??? self.index=self.index-1

??? ??? ??? ??? ??? returnself.data[self.index]

??? ??? ??? ??? ???

??? ??? ??? ??? ??? >>>forcharinReverse('spam')://循环执行,每次递减1,类的处理太别扭了,就是一个全局封装,无实例化得概念

??? ??? ??? ??? ??? ...printchar

??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? m

??? ??? ??? ??? ??? a

??? ??? ??? ??? ??? p

??? ??? ??? ??? ??? s

??? ??? ??? ??? 8.10 Generators??? ???

??? ??? ??? ??? ??? defreverse(data):

??? ??? ??? ??? ??? forindexinrange(len(data)-1,-1,-1):

??? ??? ??? ??? ??? yielddata[index]

??? ??? ??? ??? ???

??? ??? ??? ??? ??? >>>forcharinreverse('golf'):

??? ??? ??? ??? ??? ...printchar

??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? f

??? ??? ??? ??? ??? l

??? ??? ??? ??? ??? o

??? ??? ??? ??? ??? g

??? ??? ??? ??? 8.11GeneratorExpressions

??? ??? ??? 9.BriefTouroftheStandardLibrary???


??? ??? ??? ??? 9.1 Operating System Interface

??? ??? ??? ??? ??? >>>importos

??? ??? ??? ??? ??? >>>dir(os)

??? ??? ??? ??? ??? <returnsalistofallmodulefunctions>

??? ??? ??? ??? ??? >>>help(os)//**查看到os得详细内容,很有用。:q退出

??? ??? ??? ??? ??? <returnsanextensivemanualpagecreatedfromthemodule'sdocstrings>

??? ??? ??? ??? 9.2 File Wildcards

??? ??? ??? ??? ??? >>>importglob

??? ??? ??? ??? ??? >>>glob.glob('*.py')

??? ??? ??? ??? ??? ['primes.py','random.py','quote.py']

??? ??? ??? ???

??? ??? ??? ??? 9.3 Command Line Arguments

??? ??? ??? ??? ??? >>>importsys

??? ??? ??? ??? ??? >>>printsys.argv

??? ??? ??? ??? ??? ['demo.py','one','two','three']

??? ??? ???

??? ??? ??? ??? 9.4 Error Output Redirection and Program Termination

??? ??? ??? ??? ??? >>>sys.stderr.write('Warning,logfilenotfoundstartinganewone\n')

??? ??? ??? ??? ??? Warning,logfilenotfoundstartinganewone

??? ??? ??? ??? 9.5 String Pattern Matching

??? ??? ??? ??? ??? Theremoduleprovidesregularexpressiontoolsforadvancedstringprocessing

??? ??? ??? ??? ??? >>>importre

??? ??? ??? ??? ??? >>>re.findall(r'\bf[a-z]*','whichfootorhandfellfastest')

??? ??? ??? ??? ??? ['foot','fell','fastest']

??? ??? ??? ??? ??? >>>re.sub(r'(\b[a-z]+)\1',r'\1','catinthethehat')

??? ??? ??? ??? ??? 'catinthehat'

??? ??? ??? ??? ??? ----------

??? ??? ??? ??? ??? >>>'teafortoo'.replace('too','two')

??? ??? ??? ??? ??? 'teafortwo'

??? ??? ??? ??? 9.6 Mathematics

??? ??? ??? ??? ???

??? ??? ??? ??? ??? ThemathmodulegivesaccesstotheunderlyingClibraryfunctionsforfloatingpointmath:

??? ??? ??? ??? ??? Therandommoduleprovidestoolsformakingrandomselections

??? ??? ??? ??? 9.7 InternetAccess

??? ??? ??? ??? ??? urllib2、smtplib

??? ??? ??? ??? ??? >>>importurllib2

??? ??? ??? ??? ??? >>>forlineinurllib2.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'):

??? ??? ??? ??? ??? ...if'EST'inlineor'EDT'inline:#lookforEasternTime

??? ??? ??? ??? ??? ...printline

??? ??? ??? ??? ???

??? ??? ??? ??? ??? <BR>Nov.25,09:43:32PMEST

??? ??? ??? ??? ???

??? ??? ??? ??? ??? >>>importsmtplib

??? ??? ??? ??? ??? >>>server=smtplib.SMTP('localhost')

??? ??? ??? ??? ??? >>>server.sendmail('soothsayer@example.org','jcaesar@example.org',

??? ??? ??? ??? ??? ..."""To:jcaesar@example.org

??? ??? ??? ??? ??? ...From:soothsayer@example.org

??? ??? ??? ??? ??? ...

??? ??? ??? ??? ??? ...BewaretheIdesofMarch.

??? ??? ??? ??? ??? ...""")

??? ??? ??? ??? ??? >>>server.quit()

??? ??? ??? ??? ???

??? ??? ??? ??? 9.8 Dates and Times

??? ??? ??? ??? ??? datatimemodule

??? ??? ??? ??? 9.9 Data Compression

??? ??? ??? ??? ??? zlib,gzip,bz2,zipfileandtarfile.

??? ??? ??? ??? 9.10 Performance Measurement

??? ??? ??? ??? ??? >>>fromtimeitimportTimer

??? ??? ??? ??? ??? >>>Timer('t=a;a=b;b=t','a=1;b=2').timeit()

??? ??? ??? ??? ??? 0.57535828626024577

??? ??? ??? ??? ??? >>>Timer('a,b=b,a','a=1;b=2').timeit()

??? ??? ??? ??? ??? 0.54962537085770791

??? ??? ??? ??? ???

??? ??? ??? ??? 9.11 Quality Control

??? ??? ??? ??? ??? doctest:

??? ??? ??? ??? ??? ??? defaverage(values):

??? ??? ??? ??? ??? ??? """Computesthearithmeticmeanofalistofnumbers.

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? >>>printaverage([20,30,70])

??? ??? ??? ??? ??? ??? 40.0

??? ??? ??? ??? ??? ??? """

??? ??? ??? ??? ??? ??? returnsum(values,0.0)/len(values)

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? importdoctest

??? ??? ??? ??? ??? ??? doctest.testmod()#automaticallyvalidatetheembeddedtests

??? ??? ??? ??? ???

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? unittest:

??? ??? ??? ??? ??? ??? importunittest

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? classTestStatisticalFunctions(unittest.TestCase):

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? deftest_average(self):

??? ??? ??? ??? ??? ??? self.assertEqual(average([20,30,70]),40.0)

??? ??? ??? ??? ??? ??? self.assertEqual(round(average([1,5,7]),1),4.3)

??? ??? ??? ??? ??? ??? self.assertRaises(ZeroDivisionError,average,[])

??? ??? ??? ??? ??? ??? self.assertRaises(TypeError,average,20,30,70)

??? ??? ??? ??? ??? ???

??? ??? ??? ??? ??? ??? unittest.main()#Callingfromthecommandlineinvokesalltests

??? ??? ??? ??? ???

??? ??? ??? ??? 9.12BatteriesIncluded??? :

??? ??? ??? ??? ??? 通过获得更大的包,来应对复杂的应用。

??? ??? ???

??? ??? ??? 10.BriefTouroftheStandardLibrary-PartII

??? ??? ??? ??? 10.1 Output Formatting

??? ??? ??? ??? ??? repr//

??? ??? ??? ??? ??? pprint//打印输出的格式

??? ??? ??? ??? ??? textwrap//设定换行的大小

??? ??? ??? ??? ??? locale

??? ??? ??? ??? 10.2Templating

??? ??? ??? ??? 10.3 Working with Binary Data Record Layouts