集合 檔案 轉碼 函式的學習(week3)

2021-08-15 04:19:23 字數 2470 閱讀 1380

2018/1/22-2018/1/28

這周開始學習python的集合、檔案、轉碼以及部分函式的應用。

(1)集合

集合的基本格式:list =

set([1,

23,68,

5,9,

8,745,2])

在列表加上set(),就能夠將**變為集合;以下為集合的幾種用法:

#交集(intersection)

print(list_1 & list_2)

#並集(union)

print(list_1 | list_2 )

#差集(difference)

print(list_1 - list_2)

#對稱差集(symmetric_difference)

print(list_1 ^ list_2)

#增加list_1.add(999) #新增一項

list_1.update([232,998,44]) #新增多項

#刪除list_1.remove(9) #刪除一項

(2)檔案

檔案的應用主要包括以下內容:

f = open("file_op","r",encoding="utf-8") #唯讀
f = open("file_op","r+",encoding="utf-8") #讀寫,但只能在原始檔往後追加
f = open("file_op","w",encoding="utf-8") #只寫,但會覆蓋原始檔,記得備份原始檔
f = open("file_op","a",encoding="utf-8") #追加
f.close() #最後要加這句話關閉檔案
f = open("file_op","rb/wb/ab",encoding="utf-8") #把檔案以二進位制格式讀寫出來,windows系統與lunix系統的檔案切換開啟需要用到,encoding="??"這句話是必須的,表明原始檔的預設字符集。

由於不同的國家之間所採用的字符集都不一樣,因此程式或者**需要經過解碼+編碼才能重新工作,否則會出現亂碼現象。

python3.x版本的預設字符集是unicode(萬國碼,支援部分中文),python2.x版本的預設字符集是ascii碼,由於ascii碼不支援中文所以想要在程式上插入中文的話,必須新增以下宣告:

# -*- coding:utf-8 -*-
如果預設字符集是"utf-8","gb2312","gbk"之類的,要運用到decode()函式先解碼轉換成"unicode",在然後運用encode()函式編碼成"ascii"或者其他國家的字符集。

在日後程式設計過程中如果遇到亂碼的情況,可以參考這個解決思路是否合適。

(4)函式

函式的基本格式:

def func_(arg1,arg2,arg3):

func_(2,4,6) #位置引數,能根據排位順序確定值,

func_(arg2=4,arg1=2,arg3=6)   #關鍵引數,根據引數名確定值,要注意的是關鍵引數和位置引數不能重複,關鍵引數必須在位置引數後面。
func_(arg1,arg2,arg3=6)  #預設引數,如果函式內部不對引數作出定值則按照預設值來算。
def func_(arg1,arg2,arg3,*arg,**args):#*args為多個引數定值,輸出為元祖
#**args為多個引數定值,輸出為字典、列表
(5)區域性變數與全域性變數

區域性變數如何變為全域性變數,在上面一行加global(不建議用)

(6)遞迴函式

#必須設定終止條件,否則只能迴圈999次

def calc(n):

print(n)

if n > 1:

return calc(n/2)

calc(10)

遞迴函式的三大特徵:

1、明確的結束條件。

2、問題規模每一次遞迴都應該比上一次的有所減少。

3、效率低下。

(7)高階函式

把乙個函式當作另乙個函式的引數代入。

(8)函式式程式設計

不需要變數,沒有***。python不適合使用函式式程式設計。

c 中的轉碼函式

iconv open函式 iconv open 申請乙個字符集轉換的描述符 include iconv t iconv open const char tocode,const char fromcode 描述 iconv open 函式申請乙個轉換描述符,轉換字串行從編碼 fromcode 到編碼...

利用base64函式,對檔案進行轉碼加密

設計此種編碼是為了使二進位制資料可以通過非純 8 bit 的傳輸層傳輸,例如電子郵件的內容就是通過base64轉碼後傳輸的。base64 encoded後,資料要比原始資料多占用 33 左右的空間。利用base64加密檔案 寫檔案路徑 file url upload iampdf.pdf file ...

利用base64函式,對檔案進行轉碼加密

設計此種編碼是為了使二進位制資料可以通過非純 8 bit 的傳輸層傳輸,例如電子郵件的內容就是通過base64轉碼後傳輸的。base64 encoded後,資料要比原始資料多占用 33 左右的空間。利用base64加密檔案 0102 0304 0506 0708 0910 1112 1314 151...