博客
关于我
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/

你可能感兴趣的文章
Python3.7安装cv2踩过的坑
查看>>
python写txt文件
查看>>
python关于sorted排序函数详细解析 附实战代码(全)
查看>>
python3.8调用m文件,调用matlab
查看>>
python3.9新特性_Python 3.9 新特性速览
查看>>
Python3.x:遍历select下拉框获取value值
查看>>
python360百科_11月编程排行榜:Python超过Java成第二
查看>>
Python关于Paginator分页函数详细解析 附实战代码
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
查看>>
python3与django中@property详解
查看>>
python3中如何表示无穷大
查看>>
Python3中提示:no module named 'wxpy'
查看>>
python3中选择文件对话框的格式打开和保存图片
查看>>
python3为什么print永远都是地址_Python3 print 函数用法总结
查看>>
Python3之uuid模块
查看>>
Python3之写入Excel文档(xlsxwriter)
查看>>
Python3之打印操作打印流重定向(下)
查看>>
python3判断字典、列表、元组为空以及字典是否存在某个key的方法
查看>>
Python3利用pymysql操作 MySQL
查看>>