博客
关于我
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+SQL实战:京东用户行为数据分析案例解析(上)
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(下)
查看>>
PYTHON+Twisted+sqlanydb=ABORT()
查看>>
Python函数之返回值、作用域和局部变量
查看>>
Python+统计学 | 探索常用的数据分析统计分布
查看>>
python, selenium中用于切换帧的函数
查看>>
python函数
查看>>
python----线程、进程、协程的区别及多线程详解
查看>>
python---5
查看>>
python---使用celery分布式系统异步发送短信(云通讯)来验证登录
查看>>
python--003--百分号字符串拼接、format
查看>>
Python--10、线程
查看>>
Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
查看>>
python--基本代码规范
查看>>
Python--抽象类接口类
查看>>
PYTHON--欧拉习题二
查看>>
python--高级应用总结
查看>>
python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
查看>>
Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
查看>>