成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁python學(xué)習(xí)模塊和文件

python學(xué)習(xí)模塊和文件

來源:九壹網(wǎng)
#-*- encoding: utf-8 -*-
'''
Created on 2013-1-7

@author: wangkjun
'''
#導(dǎo)入模塊
import sequence
#引用sequence模塊中的函數(shù)
#print sequence.randomlist(4)
#內(nèi)置函數(shù) dir() 用于按模塊名搜索模塊定義,它返回一個(gè)字符串類型的存儲(chǔ)列表:
print dir(sequence)
#無參數(shù)調(diào)用時(shí), dir() 函數(shù)返回當(dāng)前定義的命名:
print dir()
#dir() 不會(huì)列出內(nèi)置函數(shù)和變量名。如果你想列出這些內(nèi)容,它們?cè)跇?biāo)準(zhǔn)模塊 __builtin__中定義
import __builtin__
#print dir(__builtin__)


import sys
#print sys.path
#打印模塊名
print sys.__name__  #sys

#必須要有一個(gè) __init__.py 文件的存在,才能使Python視該目錄為一個(gè)包;
#這是為了防止某些目錄使用了"string" 這樣的通用名而無意中在隨后的模塊搜索路徑中覆蓋了正確的模塊。最簡(jiǎn)單的情況下,
#__init__.py 可以只是一個(gè)空文件,不過它也可能包含了包的初始化代碼,或者設(shè)置了 __all__ 變量,
#1 以 * 方式加載包 Importing * From a Package 
from sequence import randomlist
print randomlist(3)

#設(shè)計(jì)輸出格式
#rjust() 函數(shù)的演示,這個(gè)函數(shù)把字符串輸出到一列,并通過向左側(cè)填充空格來使其右對(duì)齊。
#類似的函數(shù)還有 ljust() 和 center()。這些函數(shù)只是輸出新的字符串,并不改變什么。
for x in range(1, 11):
    #rjust()左側(cè)填充空格 repr()等效于str()
   print repr(x).rjust(2), repr(x*x).rjust(3),str(x*x*x).rjust(4)
     # Note trailing comma on previous line
#以上寫法等效于
for x in range(1,11):
    print ("%2d %3d %4d" % (x, x*x, x*x*x))     

#還有一個(gè)函數(shù), zfill() 它用于向數(shù)值的字符串表達(dá)左側(cè)填充0。該函數(shù)可以正確理解正負(fù)號(hào):
print  "12".zfill(5) #00012
print "-12".zfill(5) #-0012
#可以如下這樣使用 % 操作符: 
import math
print "pi= %6.3f" % math.pi #  3.142
#如果有超過一個(gè)的字符串要格式化為一體,就需要將它們傳入一個(gè)元組做為右值,如下所示: 
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
for name, phone in table.items():
     print '%-10s ==> %10d' % (name, phone)
#讀寫文件
#open() 返回一個(gè)文件,通常的用法需要兩個(gè)參數(shù): "open(filename, mode)"。      
#第一個(gè)參數(shù)是一個(gè)標(biāo)識(shí)文件名的字符串。第二個(gè)參數(shù)是由有限的字母組成的字符串,描述了文件將會(huì)被如何使用。可選的模式 有: 'r' ,
#此選項(xiàng)使文件只讀; 'w',此選項(xiàng)使文件只寫(對(duì)于同名文件,該操作使原有文件被覆蓋); 'a' ,此選項(xiàng)以追加方式打開文件; 'r+' ,此選項(xiàng)以讀寫方式打開文件;如果沒有指定,默認(rèn)為 'r' 模式。     

#要讀取文件內(nèi)容,需要調(diào)用 f.read(size),該方法讀取若干數(shù)量的數(shù)據(jù)并以字符串形式返回其內(nèi)容,字符串長(zhǎng)度為數(shù)值size 所指定的大小。如果沒有指定 size或者指定為負(fù)數(shù),就會(huì)讀取并返回整個(gè)文件。當(dāng)文件大小為當(dāng)前機(jī)器內(nèi)存兩倍時(shí),就會(huì)產(chǎn)生問題。
#正常情況下,會(huì)盡可能按比較大的size 讀取和返回?cái)?shù)據(jù)。如果到了文件末尾,f.read()會(huì)返回一個(gè)空字符串("")。
#f.readline()從文件中讀取單獨(dú)一行,字符串結(jié)尾會(huì)自動(dòng)加上一個(gè)換行符,只有當(dāng)文件最后一行沒有以換行符結(jié)尾時(shí),這一操作才會(huì)被忽略。這樣返回值就不會(huì)有什么混淆不清,如果如果 f.readline()返回一個(gè)空字符串,那就表示到達(dá)了文件末尾,如果是一個(gè)空行,就會(huì)描述為'\n′ ,一個(gè)只包含換行符的字符串。 

#f.write(string) 將 string 的內(nèi)容寫入文件,返回 None 
#如果需要寫入字符串以外的數(shù)據(jù),就要先把這些數(shù)據(jù)轉(zhuǎn)換為字符串

#f.tell()返回一個(gè)整數(shù),代表文件對(duì)象在文件中的指針位置,該數(shù)值計(jì)量了自文件開頭到指針處的比特?cái)?shù)。需要改變文件對(duì)象指針話話,使用"f.seek(offset,from_what)" 。
#指針在該操作中從指定的引用位置移動(dòng)offset 比特,引用位置由 from_what 參數(shù)指定。 from_what值為0表示自文件起初處開始,1表示自當(dāng)前文件指針位置開始,2表示自文件末尾開始。 from_what 可以忽略,其默認(rèn)值為零,此時(shí)從文件頭開始。

#文件使用完后,調(diào)用 f.close()可以關(guān)閉文件,釋放打開文件后占用的系統(tǒng)資源。調(diào)用 f.close()之后,再調(diào)用文件對(duì)象會(huì)自動(dòng)引發(fā)錯(cuò)誤。 

#pickle 模塊 pickle Module 
#如果你有一個(gè)對(duì)象 x ,一個(gè)以寫模式打開的文件對(duì)象 f,封裝對(duì)像的最簡(jiǎn)單的方法只需要一行代碼: #
import pickle
f=open("test.data","w")
pickle.dump("12345", f)

#如果 f是一個(gè)以讀模式打開的文件對(duì)象,就可以重裝拆封這個(gè)對(duì)象: 
x = pickle.load(f)

#for 語句在容器對(duì)象中調(diào)用 iter() 。 該函數(shù)返回一個(gè)定義了 next() 方法的迭代器對(duì)象,它在容器中逐一訪問元素。沒有后續(xù)的元素時(shí),next()拋出一個(gè) StopIteration 異常通知 for 語句循環(huán)結(jié)束。
str = "abcd"
it=iter(str)
print it.next(),it.next(),it.next(),it.next()
#for的內(nèi)部就是調(diào)用iter
for i in str:
? ? print i
#了解了迭代器協(xié)議的后臺(tái)機(jī)制,就可以很容易的給自己的類添加迭代器行為。
#定義一個(gè) __iter__() 方法,使其返回一個(gè)帶有 next() 方法的對(duì)象。如果這個(gè)類已經(jīng)定義了 next(),那么 __iter__() 只需要返回self: ? ?
class Reverse:
? ? "Iterator for looping over a sequence backwards"
? ? def __init__(self, data):
? ? ? ? self.data = data
? ? ? ? self.index = len(data)
? ? def __iter__(self):
? ? ? ? return self
? ? def next(self):
? ? ? ? if self.index == 0:
? ? ? ? ? ? raise StopIteration
? ? ? ? self.index = self.index - 1
? ? ? ? return self.data[self.index]


for char in Reverse('spam'):?
? ? print char #maps
#生成器 Generators?
#生成器是創(chuàng)建迭代器的簡(jiǎn)單而強(qiáng)大的工具。它們寫起來就像是正則函數(shù),需要返回?cái)?shù)據(jù)的時(shí)候使用 yield 語句。
#每次 next() 被調(diào)用時(shí),生成器回復(fù)它脫離的位置(它記憶語句最后一次執(zhí)行的位置和所有的數(shù)據(jù)值)。以下示例演示了生成器可以很簡(jiǎn)單的創(chuàng)建出來:
def reverse(data):
? ? ? ? #for index in range(len(data)-1, -1, -1): #flog
? ? ? ? for index in range(0,len(data)): #glof
? ? ? ? ? ? yield data[index]


for char in reverse('golf'):
? ? ? ? print char



因篇幅問題不能全部顯示,請(qǐng)點(diǎn)此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2

違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)