[oeasy]python092_eval_衡量_转化为列表

092_eval_衡量_转化为列表

eval_衡量_转化为列表 回忆

  • 上次 深入了 index函数

  • 可以 找到某对象的位置

  • 如果 列表中 有多个指定元素

  • 可以通过 index函数的start和end参数

  • 指定位置列表的下标索引

  • 可以 用中括号 索引到 相应的元素

  • 还可以 替换相应的元素

  • 和 字符串 效果一样

添加图片注释,不超过 140 字(可选)

  • 字符串中字符

  • 不能通过 索引下标 直接 修改?

  • 这怎么办??🤔

绕道 s = "oeasy" char_list = list(s) char_list char_list[2] = "A" char_list s = "" for c in char_list: s += c

  • 通过list列表

添加图片注释,不超过 140 字(可选)

  • 曲则全

  • 枉则直

  • 绕路才能到成功

  • 如果 字符串能转成 列表

  • 那列表 能转化为 字符串 吗?

尝试

  • 把 列表 再转化 为 字符串

添加图片注释,不超过 140 字(可选)

  • 最终 得到了

  • 一个字符串

  • 一个 内容 为列表的 字符串

  • 这和我想象的不一样啊

  • 有 什么办法 能够

  • 将 str(list("oeasy")) 这个字符串

  • 转化回 列表 吗?🤔

eval

添加图片注释,不超过 140 字(可选)

  • eval

  • 可以把字符串

  • 转化为对应的数据类型

# 这是你的字符串,它表示一个列表 s = str(list("oeasy")) # 使用 eval() 将字符串转换回列表 # 请确保字符串来源是安全的 my_list = eval(s) # 打印结果 print(my_list)

  • 这次把 将列表转化为的字符串

  • 转化回了列表

  • 既然是 evalute

  • 可以完成 字符串中的 计算吗?

具体使用 eval("1 + 1") eval("1 * 1 + 2")

添加图片注释,不超过 140 字(可选)

  • 如何理解 eval函数 呢?

eval help(eval)

  • eval函数的参数是

  • 字符串source

添加图片注释,不超过 140 字(可选)

  • eval函数

  • 根据本地和全局的变量

  • 将 source

  • 衡量 (evaluate)出来

  • 被衡量的字符串

  • 可以使用 变量 吗?

根据变量 a = 5 eval("6 * a")

  • 根据变量a的值

添加图片注释,不超过 140 字(可选)

  • 可以导入模块吗?

导入模块 import math eval(str("math.pi")) eval(str("math.pi * 10 ** 2"))

  • 确实是可以 导入模块的

添加图片注释,不超过 140 字(可选)

使用函数 eval("len(\"oeasy\")") eval("len(\"oeasy\") + 1")

  • 尝试使用len函数

添加图片注释,不超过 140 字(可选)

  • 如果len被 赋值了呢?

len被赋值 len = 1 len eval("len(\"oeasy\")")

  • 果然出错了

添加图片注释,不超过 140 字(可选)

  • eval的时候

  • 会执行 参数字符串

添加图片注释,不超过 140 字(可选)

  • 不能 把数值 赋给 函数名

  • 那样会 覆盖掉 函数

  • 命名的时候 有什么禁忌吗?

变量命名的禁忌 int = 5 int("5")

  • int 是 类名

  • 一旦 作为 变量名之后

  • 就不再是 类名 了

  • 也没法完成 整型变量的 初始化 了

添加图片注释,不超过 140 字(可选)

  • 类似的还有str

str = "oeasy" str("oeasy")

  • str 如果成了变量

  • 就不再是 str类型了

添加图片注释,不超过 140 字(可选)

  • list 也会这样吗?

问题

  • 本来 list 是一个 class

  • 如果你把他赋值成了一个空列表

  • list 就变成了一个对象的名字

  • 一个变量 variable

  • 就无法执行 list 类的构造函数了

添加图片注释,不超过 140 字(可选)

  • 类名 被覆盖

  • 类 就不能用了

总结

  • 这次了解了eval函数

  • 根据本地和全局的变量

  • 将 source

  • 衡量 (evaluate)出来

添加图片注释,不超过 140 字(可选)

  • 要特别注意

  • 类名 str、int、list 不能作为变量名

  • 那样 会 覆盖掉 类

添加图片注释,不超过 140 字(可选)

  • 字符串 中 索引值 可以 是 负数

  • 列表中 索引值 可以是 负数吗?🤔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值