博客
关于我
python中列表乘法、eval、lambda、hasattr、assert、*(星)等的用法
阅读量:800 次
发布时间:2023-03-09

本文共 1002 字,大约阅读时间需要 3 分钟。

列表乘法与Python核心概念

eval函数

eval()函数用于执行字符串表达式并返回结果。在Python中,eval()可以用来创建类名。例如:

is_test_obj = eval('Test')  # 创建类名Testprint(type(is_test_obj))    # 

调用 Test 类的 __init__ 方法时,会输出 "调用到了",这表明 eval('Test') 仅创建了类名,而不是类对象。要创建类对象,需在类名前后添加 ():

is_test_obj = eval('Test()')  # 创建类对象print(isinstance(is_test_obj, Test))  # True

lambda函数

lambda函数是Python的匿名函数,形如 lambda arguments: expression。冒号后面的表达式是返回值。例如:

lambda x: x * 2  # 返回x的两倍print(lambda(5))  # 10

hasattr函数

hasattr()用于检查对象是否具有某个属性。语法为 hasattr(object, attribute)。例如:

hasattr([1,2,3], 'length')  # Falsehasattr({'a': 1}, 'keys')  # True

assert函数

assert函数用于断言,在条件不满足时会抛出异常。例如:

assert 'hello' in 'world', '找不到"hello"'print('运行了')  # 只有在'hello'不在'world'时才跳过

*(星号)的用法

星号用于扩展函数参数列表。例如:

def func(a, *args):    print('a:', a)    print('args:', args)func(1, 2, 3)  # 输出:a:1, args:(2,3)

返回结果

is_test_obj = eval('Test')print(is_test_obj)print(type(is_test_obj))print(isinstance(is_test_obj(), Test))print(isinstance(is_test_obj, Test))

输出:

调用到了
FalseTrue

转载地址:http://eslfk.baihongyu.com/

你可能感兴趣的文章
python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
查看>>
Python+Selenium+Threading进行兼容性测试
查看>>
Python+selenium+unittest的GUI自动化框架实现
查看>>
python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
查看>>
python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
查看>>
Python+Selenium之数据驱动测试的实现
查看>>
python函数定义与使用+返回值简解
查看>>
Python+Selenium登录
查看>>
Python日期时间模块
查看>>
Python函数合集:足足68个内置函数请收好!
查看>>
Python+Selenium自动化测试项目实战
查看>>
Python+Selenium自动化测试项目实战【建议收藏】
查看>>
Python+Selenium自动化测试:Page Object模式
查看>>
python+selenium进行cnblog的自动化登录测试
查看>>
Python函数只返回第一个值而不是数据框
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(上)
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(下)
查看>>
PYTHON+Twisted+sqlanydb=ABORT()
查看>>
Python函数之返回值、作用域和局部变量
查看>>
Python+统计学 | 探索常用的数据分析统计分布
查看>>