Python学习笔记九_内置函数、json、匿名函数

一、内置函数

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处理

json是一种所有语言中都通用的key-value数据结构的数据类型,很像python中的字典。

json串是一个字符串。

1、json格式

需要注意,json中必须使用双引号

{
    "car":{
        "color":"red",
        "num":1,
        "price":98.5
    },
    "ball":{
        "num":100,
        "price":1,
        "color":"white"
    }
}
2、读json文件:json串--->python字典

  (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数据,然后转成字典

     json.load()不用再读文件,()里是file

import json
fr = open('product.json',encoding='utf-8')
product_dic = json.load(fr) #传一个文件对象,它会帮你读文件,()里是file
print(type(product_dic)) #<class 'dict'>
print(product_dic)
3、写json文件:python字典 ---> json串

  (1) json.dumps():把字典转成json串

     json.dumps()需要写文件,()里是string

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)

 

转载于:https://www.cnblogs.com/dongrui624/p/8885151.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值