python大法好——修改檔案、函數

來源:互聯網
上載者:User

標籤:調用   生活   結果   位置   send   count   mes   中國   返回   

1.修改檔案

補充上次沒洗完的:

想要修改某個檔案裡一塊地方,可以使用seek函數找到位置write函數修改。

是不是覺得這很簡單?

但是如果你這樣操作很可能會出現亂碼。

因為由於位元組數的不同,編碼的不同,你把你寫的東西直接添加進去對原來的位置不是往後移,而是在原來的位置上直接覆蓋,所以可能會出現亂碼。

 

但是為什麼word、wps可以直接修改檔案?

wps、word會把檔案從記憶體中全部載入到硬碟上,而不是在記憶體中修改,你有可能會發現當我們開啟一個很大的檔案時wps.word開啟都很慢,因為把檔案從記憶體中載入到硬碟裡需要時間,檔案越大需要的時間越多!

 

2.函數

函數是將一組語句通過一個名字*(函數名)封裝起來,要想執行時,只需要調用其名字即可。

def fun():     操作

主要作用是為了減少代碼重複、使程式變得可擴充、易於程式的維護

 

下面我們看看什麼是形參實參?

def fun(x,y):           #這其中x,y是形參      操作#函數調用fun(5,6)                #實參

 

python中的預設參數(舉例生活中我們需要填一些東西,他老讓我們寫國籍,在我們的學校裡都基本是國人,所以我們不想寫國籍了怎麼辦?

用預設參數直接預設填寫)

#預設參數def fun(name,age,loc="中國"):     操作

當我們調用時如果不寫這個參數他會預設是中國

fun("盧本偉",99)  #我們沒有寫  就顯示中國fun("盧本偉",99,us)#如果寫了就顯示什麼

注意的是預設參數必須放在位置參數的後面!!!!!!

 

python中的關鍵參數(必須放在未知參數後面)

def fun(name,age,country):      操作#函數調用fun("盧本偉",country="日本",age=99)

python中非固定參數

def send(msg,*user):       for u in user:           print("警示",u)

調用

方式一 send("警示",‘alex‘,‘daliu‘)其實寫了*user後,參數就不固定了看你需要多少!方式二send(‘警示‘,*[‘alex‘,‘daliu‘])

 

注意啦:::若*user後面還有參數怎麼寫呢    上面的寫法是會報錯的。

舉例子:

def send(name,*user,age):           操作調用:send("盧本偉",‘alex‘,‘daliu‘,age=99)這樣子是不會報錯的

可能大家也注意到了 *user就是穿了一個元祖/列表

那可以傳遞字典嗎?

當然是可以的。。

name={"01":"盧姥爺","02":"開掛最牛逼"}def send(msg,**name):        操作函數調用:send("警示",**name)

2.1傳回值

函數中止並返回結果,未指定的返回none,函數永遠只返回一個值

若出現這種:return name,age 是返回了兩個值嗎?

不是的,系統會將他們當做元祖顯示出來。

也可以直接返回元祖例: return [name,age]

2.2局部變數、全域變數

局部變數:函數裡面定義的變數,只在函數內部有效.

執行就近原則!

name=[‘alex‘,‘black‘,‘peiq‘]def change():        def name[2]        name[1]=‘黑‘        print(names)#函數調用change()print(names) 結果是:name=[‘alex‘,黑]
為什麼可以改變全域變數的值?這其實只是把name的地址當做是一個整體,但其內部是可以修改的!那種的是可以修改的?就像這種一串串的可以修改  什麼列表呀 字典丫的

2.3嵌套函數

就是函數裡面嵌套函數嘛

要說的只有一點非常的重要

def change() :     print("a")     def change1() :           print("b")函數調用change()

這個結果會顯示什麼?

結果:a

因為change1沒有被調用所以不會執行

 

2.4匿名函數

fun=lambda x,y :

           x*y

調用:print(fun(2,5))

就這個例子自行體會,要知道的是在匿名函數最騷的操作可能就是三元運算了。迴圈什麼都不行,

2.5高階函數

滿足條件:

1.函數中參數是另一個函數(就是參數是函數)

def a(x,y):     return x*ydef b(x):     return xf=b(a)        #函數a被當做參數傳入print(f(2,8))

2.傳回值中返回有函數

例:return abs,x,y

 

python大法好——修改檔案、函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.