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)