- 浏览: 115462 次
- 性别:
- 来自: 北京
文章分类
最新评论
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
相关推荐
2. "ActivePython-2.6.1.1-win32-x86.msi":这是一个Windows Installer文件,是ActivePython的安装程序。通过双击该文件,用户可以启动安装向导,按照提示完成ActivePython的安装。 在安装ActivePython 2.6.1.1时,...
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
ActivePython-2.6.6.15-win32-x86.msi
ActivePython-2.6.6.15-win32-x86.msi
ActivePython-2.6.6.15-win32-x86.msi
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
ActivePython-2.5.2.2-win32-x86.msi
ActivePython-2.7.14.2717-win64-x64-404905.exe 已集成很多模块库!
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
activestate针对python2.x系列的最新开发手册。非常完整全面。
ActivePython-3.3.2.0-win32-x86.msi
ActivePython-2.5.1.1-win32-x86.part1
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
标题中的"ActivePython-2.5.1.1-win32-x86.zip"表明这是一个针对Windows 32位系统的ActivePython发行版,版本号为2.5.1.1。ActivePython是Python的一种二进制发行版,它包含Python标准库和其他一些额外的组件,使得...
安装ActivePython-2.7.10.12-win32-x86.msi文件后,系统会自动添加Python的路径到PATH环境变量中。安装完成后,可以在命令行中输入`python`来验证Python是否已成功安装并可被调用。 接下来,我们需要在SecureCRT中...
ActivePython-3.6.0.3600 win64 如果需要其他版本的可以私聊我
ActivePython-2.7.13