python 高階學習之4

2021-06-22 18:56:14 字數 3099 閱讀 5778

>>> for item in ['e-mail', 'net-surfing', 'homework',

... 'chat']:

...    print item

... 

e-mail

net-surfing

homework

chat

>>> for item in ['e-mail', 'net-surfing', 'homework',

... 'chat']:

...    print item

,... 

e-mail net-surfing homework chat

>>> s='23f4'

>>> for i in  s:     

...  

print i

...  2

3 f4

>>> for i in  range(len(s)):

...  

print s[i],'(%d)' % i

... 

2 (0)

3 (1)

f (2)

4 (3)

>>> for i, ch in enumerate(s):

...   print ch, '(%d)' % i      

... 

2 (0)

3 (1)

f (2)

4 (3)

>>> squared = [x ** 2 for x in range(4)]

>>> for i in squared:

...  print i

...  0

1 49

handle = open(file_name, access_mode = 'r')

'r'(default)

『w'』a'

『+』『b'

句點屬性標識法訪問

file=raw_input('enter file name:')

c=open(file,'r')

for eachline in c:

print eachline,

c.close()

我們一次讀入檔案的所有行,然後關閉檔案, 再迭代每一行輸出。這樣寫**的好處是能夠快速完整的訪問檔案。

對於很大的檔案來說, 上面的**會占用太多的記憶體, 這時最好一次讀一行。

#!/usr/bin/python

try:

file=raw_input('enter file name:')

c=open(file,'r')

for eachline in c:

print eachline,

c.close()

except ioerror, e:

print 'file open error',e

enter file name:2.txt     

file open error [errno 2] no such file or directory: '2.txt'

def function_name([arguments]):

"optional documentation string"

function_suite

#vim b.py

def addw(x):

return (x+x)

>>> import b

>>> from b import addw 

>>> addw(3) 6

>>> addw([-1,'as'])

[-1, 'as', -1, 'as']

預設引數

class classname(base_class[es]):

"optional documentation string"

static_member_declarations

method_declarations

class foo(object):

"""jksdja"""

version=0.1

def __init__(self,nm='li'):

"""constructor"""

self.name=nm

print 'create',nm

def showname(self):

"""display instance attribute and class name"""

print 'my name is', self.__class__.__name__

def showver(self):

"""display class(static) attribute"""

print self.version # references fooclass.version

def addme2me(self, x): # does not use 'self'

return x + x

>>> import c

>>> from c import foo

>>> foo=foo()        

create li

>>> foo.showname()

my name is foo

import module_name

>>> import sys

>>> sys.stdout.write('hello')

hello>>> sys.platform

'linux2'

>>> sys.version

'2.4.3 (#1, jan  9 2013, 06:47:03) \n[gcc 4.1.2 20080704 (red hat 4.1.2-54)]'

dir([obj]) 顯示物件的屬性,如果沒有提供引數, 則顯示全域性變數的名字

int(obj) 將乙個物件轉換為整數

len(obj) 返回物件的長度

raw_input(str) 等待使用者輸入乙個字串, 可以提供乙個可選的引數 str 用作提示資訊。

str(obj) 將乙個物件轉換為字串

type(obj) 返回物件的型別(返回值本身是乙個type 物件!)

python 高階學習之2

print hello hello mystring aa print mystring aa下劃線 在直譯器中有特別的含義,表示最後乙個表示式的值 a 22 traceback most recent call last file line 1,in nameerror name is not d...

python 高階學習之10

s s spa oil spa oil s join ss ww 21 s ss ww 21 foo hello world foo helloworld 通過這種方法,你可以把長的字串分成幾部分來寫,而不用加反斜槓 如果把乙個普通字串和乙個unicode 字串做連線處理,python 會在連線操作...

python 高階學習之12

跟數字和字串一樣,元組也是不可變型別 del atuple 雖然元組物件本身是不可變的,但這並不意味著元組包含的可變物件也不可變了。abc 4 222 abc 4 222 x,y 1,2 x,y 1,2 所有函式返回的多物件 不包括有符號封裝的 都是元組型別。注意,有符號封裝的多物件集合其實是返回的...