金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2322|回复: 6

求教python中一个exec()的写法

[复制链接]

138

主题

303

帖子

303

积分

等级: 免费版

注册:
2022-1-15
曾用名:
发表于 2022-12-2 15:22 | 显示全部楼层 |阅读模式


    j=0   
    nowDay='2022-12-02'
    x0='2022-12-01'
    dayHonoff=False
    exec('dayHonoff=x{}'.format(j)+'!=nowDay')          #目的是为了这一句 dayHonoff = x0!=nowDay
    print(dayHonoff)



尝试了很多种变化写法都错了!
回复

使用道具 举报

14

主题

214

帖子

299

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2022-12-2 15:30 | 显示全部楼层
这是要实现日期的自增吗?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

138

主题

303

帖子

303

积分

等级: 免费版

注册:
2022-1-15
曾用名:
 楼主| 发表于 2022-12-2 15:43 | 显示全部楼层
不是,是存在

dayHonoff = x0!=nowDay
dayHonoff = x1!=nowDay
dayHonoff = x2!=nowDay
....
等等语句的判断
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-12-2 17:06 | 显示全部楼层
你这个方式做不了的。

你应该把一组数据存在序列中。列表或者数组什么的,然后通过下标去取。而不是通过这种动态方式去 定义一个指定名称的变量。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

138

主题

303

帖子

303

积分

等级: 免费版

注册:
2022-1-15
曾用名:
 楼主| 发表于 2022-12-3 16:05 | 显示全部楼层
    for j in range(0,3):
        exec("x{}={}".format(j,j+1))

为什么这句代码在pycharm中没问题(python v3.6.4),到了金字塔中就报错?这exec()函数难道变异了?

补充内容 (2022-12-3 16:06):
最后面还有句print(x2)

补充内容 (2022-12-3 16:18):
我在init()中测试的

补充内容 (2022-12-3 16:19):
for j in range(0,3):
        exec("context.x{}={}".format(j,j+1))
print(context.x2)
通过
回复

使用道具 举报

14

主题

214

帖子

299

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2022-12-5 08:45 | 显示全部楼层
可以将要用到的变量,用context 对象存储,方便传递使用
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-12-5 11:31 | 显示全部楼层
本帖最后由 技术009 于 2022-12-5 13:47 编辑

因为这个是定义在一个函数内部的。这种方式你上面那个代码是不行的。
这个问题这里有详细说明:Python exec 命令在函数内执行无效_LutingWang的博客-CSDN博客

供参考。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 18:45 , Processed in 0.239558 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表