python写平台学到的东西

1、env_dict.keys():  获取字段所有的键,比对字符是否有里面的键 

env_key="9"
env_dict = {"1": "dev", "2": "test", "3": "staging"}
if env_key not in env_dict.keys():
	raise Exception("env参数错误", env_key)

 

2、函数接收形参前面带** 的用法

a={"name":1,"age":2}


def aa(**env):
	print("传形参和实参不带**会传参失败,或指定参数写法才能成功")

# 方法一:
aa(name=1,age=2)
# 方法二:
aa(**a)

返回
{"name":1,"age":2}

 

3、形参带*

def t4(a, b=10, *args, **kwargs):
        print(a)
        print(b)
        print(args)
        print(kwargs)
t4(1, 2, 3, 4, e=5, f=6, g=7)
t4(1, 2, 3, 4, **{'e': 5, 'f': 6, 'g': 7})

输出:
1
2
(3, 4)
{'e': 5, 'f': 6, 'g': 7}

 

 

4、当获取字典的键不存在给一个默认值

a={"a":1}
print(a.get("1","默认值"))

 

5、获取和设置环境变量

https://www.cnblogs.com/kaibindirver/p/16795533.html

本地设置.env环境变量方法

https://www.cnblogs.com/kaibindirver/p/18710516

 

6、yaml文件读取和生成

https://www.cnblogs.com/kaibindirver/p/16795535.html

 

7、获取字典字的键,字典合并

a={"a":{"c":'b','r':1}}
print(a["a"])
# 获取字典的键值
print(*a["a"])
# 把json合并到其他字典里面
b={"lucax":11,**a["a"]}
print(b)

# 输出
# {'c': 'b', 'r': 1}
# c r
# {'lucax': 11, 'c': 'b', 'r': 1}

 

8、装饰器@property,让调用类里面的函数 和 调用类里面的变量一样写法

class CCC:

  @property
  def aa(self):
    print(123)

CCC().aa

https://www.cnblogs.com/kaibindirver/p/12892064.html

 

9、获取数组内的元素 和 他的下标用enumerate函数

for i, item in enumerate(all_data):

  

10、sh 向在终端一样敲多条命令,只需执行一个文件

https://www.cnblogs.com/kaibindirver/p/16685019.html

 

11、把2个字典合成一个字典的方法

a={"aa":11,'bb':22}
print({"cc":333,**a})
输出 {'cc': 333, 'aa': 11, 'bb': 22}

 

12、获取类里面的类变量 和设置其类变量的方法

class A(object):
	bar = 1

a = A()
# 获取属性bar的值,没有的话用2替代
getattr(a, 'bar',2)
# 设置属性bar的值
setattr(a, 'bar', 5)

 

13、添加数组的另类方法 (只可以添加字符)

a=[1,2,3]
a +="1"
print(a)

 

14、继承其他类获取里面return的值,不会遇到return就停

class bb():
    def aa(self):
        return 123


class cc(bb):
    def vv(self):
        vv=super().aa()
        return vv

print(cc().vv())

 

15、filter() 函数 判断数组里面的 数据 是否符合 要求,符合就加入数组

16、判断输入的是否是json

    try:
        user_dict = ast.literal_eval(data)
        if isinstance(user_dict, dict):
            return data
        else:
            raise serializers.ValidationError(detail="请检查是否json格式", code="1003")
    except:
        raise serializers.ValidationError(detail="请检查是否json格式", code="1003")

 

posted @ 2022-10-12 01:00  凯宾斯基  阅读(65)  评论(0)    收藏  举报