python自帶的一些函數,直接拿過來能用的python
print(max(111,12))#取最大值 print(min(12,23))#取最小值 print(abs(-1))#取絕對值 print(round(11.23454,2))#取幾位小數 print(sorted([1,23,45,66,33,2]))#排序,可用於字典排序 dic = {1:2,3:4,5:6} print(sorted(dic.items()))#按照字典的key排序 print(sorted(dic.items(),key = lambda x:x[1]))#按照字典的value排序 print(id(dic)) #看內存地址 print(type(dic)) #看數據類型 print() #打印 input() #輸入 list() #轉list,字符串轉list用.split set()# 轉集合 str()#轉字符串,list轉字符串用.join dict()#轉字典 int()#轉int float()#轉float類型 len()#取長度
print(dir('abc'))#查看字符串的方法,不用看有_xx_的 print(dir({}))#打印傳入對象的可調用方法 print(all([1,2,3,4]))#判斷可迭代的對象裏面的值是否都爲真 print(any([0,1,2,3,4,]))#判斷可迭代的對象裏面的值是否有一個爲真 print(bin(10))#十進制轉二進制,0b1010 print(bin(10).replace('0b',''))#1010 print(hex(111))#數字轉成16進制 print(oct(111))#把數字轉換成8進制 print(bool('s'))#把一個對象轉換成布爾類型 print(bytearray('abcd',encoding='utf-8'))#把字符串變成一個可修改的bytes,bytearray(b'abcd') print(chr(69))#打印數字對應的ascii print(ord('E'))#打印字符串對應的ascii碼 exec('def a():print("我是a")')#執行python代碼 print(eval('[]')) # 執行python代碼,只能執行簡單的,定義數據類型和運算[],{} a = eval('1+2') print(a) print(filter(lambda x: x > 5, [12, 3, 12, 2, 1, 2, 35])) # 把後面的迭代對象根據前面的方法篩選 print(map(lambda x: x > 5, [1, 2, 3, 4, 5, 6])) print(frozenset({1, 2, 3, 3})) # 定義一個不可修改的集合 print(globals()) # 返回程序內全部的變量,返回的是一個字典 print(locals()) # 返回局部變量 print(hash('aaa')) # 把一個字符串哈希成一個數字
json是一種全部語言中都通用的key-value數據結構的數據類型,很像python中的字典。json
json串是一個字符串。數組
須要注意,json中必須使用雙引號數據結構
{ "car":{ "color":"red", "num":1, "price":98.5 }, "ball":{ "num":100, "price":1, "color":"white" } }
(1) json.loads():把json串轉換成字典函數
json.loads()須要先讀文件,()裏是string編碼
import json fr = open('product.json',encoding='utf-8') res = fr.read() product_dic = json.loads(res) #把json串,變成python的字典數據類型 print(type(product_dic)) #<class 'dict'> print(product_dic.get)#pycharm點不出get方法
(2) json.load():從文件中讀取json數據,而後轉成字典spa
json.load()不用再讀文件,()裏是filecode
import json fr = open('product.json',encoding='utf-8') product_dic = json.load(fr) #傳一個文件對象,它會幫你讀文件,()裏是file print(type(product_dic)) #<class 'dict'> print(product_dic)
(1) json.dumps():把字典轉成json串對象
json.dumps()須要寫文件,()裏是stringblog
import json d = { 'Amy':{ 'addr':'北京', 'age':28 } } fw = open('user_info.json','w',encoding='utf-8') dic2json = json.dumps(d,ensure_ascii=False,indent=4)#字典轉成json,字典轉成字符串 # ensure_ascii=False顯示中文,再也不轉爲union code編碼 #indent=4縮進4 fw.write(dic2json)
(2) json.dump():把字典轉換成的json串寫到一個文件裏面
json.dump()不用單獨寫文件,()裏是file
import json d = { 'Ben':{ 'addr':'北京', 'age':28 } } fw = open('user_info.json','w',encoding='utf-8') json.dump(d,fw,ensure_ascii=False,indent=4)#不用寫文件,()裏是file
若是函數只執行一次的話,能夠定義一個匿名函數。匿名函數只能處理比較簡單的處理邏輯,只能寫簡單的表達式,不能寫循環、判斷,好比三元運算符。
匿名函數定義試用lambda關鍵字。
s =lambda x,y:x+y#冒號前面的x,y是入參,冒號後面的是返回值 print(s(1,9))#由於函數即變量,若是沒有定一個變量把lambda存起來的話,它就再也不內存裏 #無法執行,因此把它放到s這個變量裏
經過sorted及lambda對字典排序:
d = {'a':8,'b':2,'c':3}#字典是無續的,直接對字典排序是不存在的 print(d.items())#item將字典轉爲二維數組,list是有序的 # dict_items([('c', 3), ('b', 2), ('a', 8)]) res = sorted(d.items()) #根據key排序 res1 = sorted(d.items(),key=lambda x:x[0])#根據key排序 #sorted循環調用,按照d.items()循環,循環key第一次取到('c', 3)賦給key res2 = sorted(d.items(),key=lambda x:x[1],reverse=True)#根據value倒序排序 print(res2)#[('a', 8), ('c', 3), ('b', 2)] for k,v in res2: print(k,v)