1、取列表中字典的值再重新组合成列表
show_list是一个列表,列表中有字典
show_list_id = [item["id"] for item in show_list] # 取列表中id
2、if语句一句话:如果满足条件结果是if前面内容,如果不满足else后面的结果
response if intercept_func is None else intercept_func(response, locals().get('resp_to_json', None))
3、locals().get()
locals()函数取当前位置的全部局部变量
4、__file__
获取当前文件的路径
__setattr__设置属性值
__getattr__获取属性值,没有的时候调用
__getitem__对象支持已下标的方式获取值
__getattribute__每次取属性时执行
getattr获取对象的值
5、eval
eval(("gRpcSever.env_%s.get('%s')" % (environment, grpc_server_name)))
执行一个字符串表达式,并返回表达式的值
6、hasattr
if hasattr(gRpcSever, 'env_%s' % environment):
判断对象是否包含对应的属性
7、python3.7+字典是有序的
8、变量作用域
global 声明全局变量
nonlocal关键字表示这里的x就是外部函数outer定义的变量x
9、@property取变量值
@property # _score:python内部使用单下划线开头(私有)
def score(self):
"""可以是直接返回,也可以操作内容"""
_score = _score + 10
return self._score
@score.setter
def score(self, value):
"""存值的方法"""
self._score = value
10、isinstance(x, A_tuple):判断x是否是A_tuple类
11、ABCMeta类似抽象类,只能继承不能实例化
from abc import ABCMeta, abstractmethod
class AbstractData(metaclass=ABCMeta):
@abstractmethod # 继承该类必须实现的方法
def inst_from_dict(cls, d):
pass
12、classmethod
classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数
可以来调用类的属性,类的方法,实例化对象等。
class A(object):
bar = 1
def func1(self):
print ('foo')
@classmethod
def func2(cls):
print ('func2')
print (cls.bar)
cls().func1() # 调用 foo 方法
A.func2() # 不需要实例化
本文介绍了Python的一些高级特性,包括从列表中提取字典值、简洁的if语句、使用locals().get()、访问文件路径、动态执行字符串表达式、检查对象属性、有序字典、变量作用域、使用@property装饰器、类型检查、抽象类和classmethod的运用。
6万+

被折叠的 条评论
为什么被折叠?



