今天學習主要內容: Python: 1、with語句(補充昨天的文件操作) 用with打開的文件在腳本結束會自動關閉,以防普通打開方式忘記關閉文件連接 語法: with open("demo.txt","r",encoding="utf-8") as file: for line in file: ...
今天學習主要內容:
Python:
1、with語句(補充昨天的文件操作)
用with打開的文件在腳本結束會自動關閉,以防普通打開方式忘記關閉文件連接
語法: with open("demo.txt","r",encoding="utf-8") as file:
for line in file:
print(line)
2、字元編碼的操作
1)在Python3.x中,預設的編碼是Unicode碼;在Python2.x中,預設的編碼是ascii碼
紅色箭頭是解碼(decode),綠色箭頭是編碼(encode)
UTF-8→Unicode→GBK GBK→Unicode→UTF-8;
2)import sys
print(sys.getdefaultencoding()) #獲取編碼格式
3、函數
1)利用關鍵字def定義一個函數;函數的使用提高了代碼的復用性,一致性和擴展性
def functionName():
pass
2)函數可以帶參數,這種參數叫做形參,調用函數時用的參數叫做實參。
def functionName(arg1,arg2): #這裡的參數叫做形參,即形式參數,記憶體不會分配空間
print("arg1="+arg1+",arg2"+arg2)
functionName() #錯誤,因為在定義函數時指定了兩個形參,在調用時也要指定兩個實參
functionName("juncx",17) #正確,這裡的參數叫做實參,即實際參數,記憶體會分配空間
functionName(arg1="juncx",arg2=17) #正確,這是關鍵詞傳參
functionName(juncx,arg2=17) #正確,只要與形參位置相匹配
functionName(arg2=17,juncx) #錯誤,關鍵詞傳參不能放在未命名參數的前面
3)函數還有返回值
def functionName(arg1,arg2):
return arg1+arg2
result = functionName(2,5) #定義一個變數來接收函數的返回值
print(result) #result:7
def functionName2():
return 1,"juncx",[1,3,5],{name:"age","age":"name"}
result = functionName2()
print(result) #result:(1,"juncx",[1,3,5],{name:"age","age":"name"}) #返回多個參數時將返回一個元組
4)函數的非固定參數
def functionNametu(*args) #表示傳一個元組
pass
functionNametu(1,2,3,4,5)
functionNametu(*[1,2,3,4,5]) #兩種調用效果時等效的
def functionNamekv(**kwargs) #表示傳一個字典
pass
functionNamekv(name="juncx",age=17)
functionNamekv({name:"juncx",age:17}) #兩種調用效果是等效的