函數相關的語法知識。主要有參數的種類、局部變量、全局變量。常用模塊json、os、time等知識。
字符串可以相加,也可以*數字。如:
a='w';b='c';c=a+b;c=a*4
1、函數的參數。定義一個函數的時候,要在函數名字後面的括號裏寫要定義的參數,簡稱,形參。調用函數的時候要輸入的參數,叫實際參數,簡稱,實參。形參,一般就是定義幾個變量。形參有以下幾種情況。最普通的就是隻有幾個逗號隔開的變量名字.調用函數的時候,實參的順序要和形參一一對應。如:
def hshu(a,b, c):
print(a,b,c)
hshu(3,4,5)
第二種是有默認值的參數,叫關鍵字參數。就是在定義參數的時候就對參數(變量)賦值,這樣在調用函數的時候如果沒有傳參數的話,那麼執行函數體裏面的代碼的時候就是執行參數的默認值。如:
def hshu(a,b,c=[1,2,3,4,5]):
print(a,b,c)#調用函數的時候如果不傳c的值,那麼就會打印出[1,2,3,4,5]
第三種是可變參數。就是是指在調用函數的時候,實參的數量可以不定。定義函數的時候,在一個參數前加*即可。
def hshu(*user):
print(user)
hshu(3,4,5)#一個*的接收的實參是一個元組。可以這樣寫a=(3,4,5) ;hshu(a)
或者
def hshu(**user):
print(user)
hshu(a=3,b=4)#兩個*號接收的是字典。字典就必須知道key的值是什麼。a,b是key。3和4是value
第四種是關鍵字參數。就是實參是以對變量名賦值的形式出現的。不知道有啥用。如:
hshu(a=5,b=6)
2、在python中,變量和對象是指向型關係。變量沒有類型,它僅僅是一個對象的引用(一個指針),可以是指向 List 類型對象,也可以是指向 String 類型對象。對象有類型。如:
a=[1,2,3]
b=a
a.append(4)
print(b)#的打印結果是[1,2,3,4].因爲a和b指向的是同一個list,指向的內存地址相同。
a="Runoob"#[1,2,3] 是 List 類型,"Runoob" 是 String 類型,而變量 a 是沒有類型,
3、列表推導式。就是用更少的代碼製造一個新的list。如:
a=1,2,3,4,5]
b=[i*i for i in a]#就製造了新的list[1,4,9,16,25]
4、ruturn。在函數中寫的。返回數據用的。如寫了一個函數用於處理某些數據並生成新的數據,新的數據後面還要拿來用的。就得用return。在函數中,一遇到ruturn,函數立即結束,不在執行ruturn後面的代碼。
def hshu(a):
b=a*5
return b
6、局域變量。在函數內部的變量是局部變量。反之,函數外的是全局變量。局域變量只在函數內部起作用,函數外不起作用。即函數內的一個變量名字和函數外的一樣,給函數內的變量賦一個值,不改變函數外的變量的值。如:
a=10
def hshu()
a=20
return a
print(a)#的結果還是10
如果在函數內的變量前加global。那麼函數內的變量就是一個全局變量。
字典、集合、list 不需要聲明全局
7、常用模塊 1、標準模塊。python自帶的 2、第三方模塊,需要安裝。3、自己寫的python文件
json模塊
json,通用的數據類型。在python中是字符串。格式如下:
json_str='{"fd":40}'
res=json.loads(json_str)#把字符串(json)變成字典
res=json.dumps(dic,ensure_ascii=False,indent=4)#把字典變成(json)串
json.dump(data2,f)#往文件中寫字典數據。
hehe = json.load(f)#從文件中讀取數據
os模塊
print(os.listdir('.'))#列出目錄下文件
#os.remove()#刪除文件
#os.rename()#重命名文件
#os.mkdir('test/haha/f')#創建文件夾.不會遞歸創建
#os.makedirs('test1/jj')#會遞歸創建
print(os.path.exists('test1/jj'))#判斷文件是否存在
print(os.path.isfile('test'))#判斷是否爲文件夾
#print(os.path.isdir('test'))#判斷是否爲文件
s=os.path.split('test1/hehe')
t=os.path.dirname('test1/hehe')#取父目錄
q=os.getcwd()#獲取當前目錄
os.chdir('.')#更改當前目錄
print(os.environ)#查看電腦的環境變量
os.path.join('user','liuchang','Des')#自動拼接路徑
#os.path.abspath()#根據相對路徑取絕對路徑
#g=os.system('ifconfig')#執行操作系統命令
time模塊
print(time.time())#當前時間戳
print(time.strftime('%Y-%m-%d %H'))#取格式化好的時間
#時間戳轉換成時間元組
time1=time.gmtime(23435232000)
print(time.gmtime(23435232000))
print(time.strftime('%Y-%m-%d %H',time1))
#格式化好的時間轉時間戳
timep=time.strptime('')
#時間元組轉時間戳
time.mktime()