fq = lambda i: i if i.isnumeric() else f"'{i}'" print(fq) 返回的是<function <lambda> at 0x0000022382AB5240>怎么修改返回值
时间: 2024-02-24 16:55:05 浏览: 116
你需要调用 `fq` 函数才能得到返回值,而不是直接打印函数本身。你可以调用 `fq` 函数并传入一个参数来测试返回值,例如:
```
fq = lambda i: i if i.isnumeric() else f"'{i}'"
print(fq('hello')) # 输出:'hello'
```
这样就能够得到正确的返回值了。
相关问题
fq = lambda i: i if i.isnumeric() else 'i' print(fq)打印不出来i的值
是的,打印fq只会输出这个lambda函数的定义,而不会执行它。要执行这个lambda函数并输出结果,可以像这样调用它:
```
fq = lambda i: i if i.isnumeric() else 'i'
print(fq('123')) # 输出 123
print(fq('abc')) # 输出 'i'
```
fq = lambda i: i if i.isnumeric() else f'{i}',fq获取不到i的值只能获取地址怎么修改
`fq` 函数中的 `i` 参数是一个字符串类型的变量,在 Python 中,字符串类型是不可变类型的,因此无法直接修改字符串的值。
如果要修改 `fq` 函数中的逻辑,可以考虑将 `i` 转换成列表类型,然后对列表进行操作,最后将列表转换回字符串类型。下面是修改后的代码示例:
```python
fq = lambda i: ''.join([str(i)] if not i.isnumeric() else [i])
# 测试
print(fq('123')) # 输出:123
print(fq('abc')) # 输出:'abc'
```
在上面的代码中,`fq` 函数首先使用 `if not i.isnumeric()` 判断 `i` 是否为数字,如果不是数字,则将字符串 `i` 转换为只包含一个元素的列表 `[str(i)]`,该元素为字符串类型的 `i` 值。
如果 `i` 是数字,则将数字作为一个元素添加到列表中,该元素为数字类型的 `i` 值。最后,使用 `join` 方法将列表转换成字符串类型的返回值。
这样就可以实现根据输入参数的类型返回相应的值了。
阅读全文