Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[oeasy]python092_eval_衡量_转化为列表

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

原创
作者头像
oeasy
发布于 2025-04-26 23:51:05
发布于 2025-04-26 23:51:05
480
举报

eval_衡量_转化为列表 回忆

  • 上次 深入了 index函数
  • 可以 找到某对象的位置
  • 如果 列表中 有多个指定元素
  • 可以通过 index函数的start和end参数
  • 指定位置列表的下标索引
  • 可以 用中括号 索引到 相应的元素
  • 还可以 替换相应的元素
  • 和 字符串 效果一样
  • 字符串中字符
  • 不能通过 索引下标 直接 修改?
  • 这怎么办??🤔

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

  • 通过list列表
  • 曲则全
  • 枉则直
  • 绕路才能到成功
  • 如果 字符串能转成 列表
  • 那列表 能转化为 字符串 吗?

尝试

  • 把 列表 再转化 为 字符串
  • 最终 得到了
  • 一个字符串
  • 一个 内容 为列表的 字符串
  • 这和我想象的不一样啊
  • 有 什么办法 能够
  • 将 str(list("oeasy")) 这个字符串
  • 转化回 列表 吗?🤔

eval

  • eval
  • 可以把字符串
  • 转化为对应的数据类型

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

  • 这次把 将列表转化为的字符串
  • 转化回了列表
  • 既然是 evalute
  • 可以完成 字符串中的 计算吗?

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

  • 如何理解 eval函数 呢?

eval help(eval)

  • eval函数的参数是
  • 字符串source
  • eval函数
  • 根据本地和全局的变量
  • 将 source
  • 衡量 (evaluate)出来
  • 被衡量的字符串
  • 可以使用 变量 吗?

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

  • 根据变量a的值
  • 可以导入模块吗?

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

  • 确实是可以 导入模块的

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

  • 尝试使用len函数
  • 如果len被 赋值了呢?

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

  • 果然出错了
  • eval的时候
  • 会执行 参数字符串
  • 不能 把数值 赋给 函数名
  • 那样会 覆盖掉 函数
  • 命名的时候 有什么禁忌吗?

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

  • int 是 类名
  • 一旦 作为 变量名之后
  • 就不再是 类名 了
  • 也没法完成 整型变量的 初始化 了
  • 类似的还有str

str = "oeasy" str("oeasy")

  • str 如果成了变量
  • 就不再是 str类型了
  • list 也会这样吗?

问题

  • 本来 list 是一个 class
  • 如果你把他赋值成了一个空列表
  • list 就变成了一个对象的名字
  • 一个变量 variable
  • 就无法执行 list 类的构造函数了
  • 类名 被覆盖
  • 类 就不能用了

总结

  • 这次了解了eval函数
  • 根据本地和全局的变量
  • 将 source
  • 衡量 (evaluate)出来
  • 要特别注意
  • 类名 str、int、list 不能作为变量名
  • 那样 会 覆盖掉 类

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[oeasy]python091_列表_索引_index_中括号_索引函数
for n in range(256, 15000): print(chr(n), end=" ")
oeasy
2025/04/23
700
[oeasy]python091_列表_索引_index_中括号_索引函数
[oeasy]python093_find方法_指数为负数_index_实际效果
负数索引 char_list = list("oeasy") char_list-1
oeasy
2025/05/14
680
[oeasy]python093_find方法_指数为负数_index_实际效果
[oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文
unicode 中文字符分类 回忆上次内容 字符集 从博多码 到 ascii 再到 iso-8859 系列 各自割据 如何把世界上各种字符统进行编码 unicode顺势而生不断进化 不过字符总量超过了65536 每个汉字都有位置 ​ 添加图片注释,不超过 140 字(可选) 所有汉字里面第一个汉字是什么呢? 分布 ​ 添加图片注释,不超过 140 字(可选) 第一个字就是一 ​ 添加图片注释,不超过 140 字(可选) 一切本是混沌 河出图洛出书 一划开天 分出阴阳 一生二
oeasy
2023/04/07
6820
[oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
oeasy
2024/12/20
600
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
[oeasy]python0045_转化为10进制数_int_integrate_integer_entire_整数
转化为10进制 回忆上次内容 上这次总结了四种进制 函数名 对应单词 进制类型 数字事例 前缀 bin() binary 2 0b1100001 0b oct() octal 8 0o141 0o h
oeasy
2023/01/13
2990
[oeasy]python0045_转化为10进制数_int_integrate_integer_entire_整数
[oeasy]python0072_整数类型_int_integer_整型变量
int("0b101001", base = 2) int("101001", base = 2) int("101001", 2)
oeasy
2023/07/14
2180
[oeasy]python0072_整数类型_int_integer_整型变量
[oeasy]python0078_变量部分总结_variable_summary
oeasy
2023/08/02
1530
[oeasy]python0078_变量部分总结_variable_summary
[oeasy]python0073_进制转化_eval_evaluate_衡量_oct_octal_八进制
oeasy
2023/07/20
2160
[oeasy]python0073_进制转化_eval_evaluate_衡量_oct_octal_八进制
[oeasy]python0071_字符串类型_str_string_下标运算符_中括号
oeasy
2023/07/07
1710
[oeasy]python0071_字符串类型_str_string_下标运算符_中括号
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
从空列表增加列表项 my_list = [] my_list.append(1) my_list.append(2) my_list.append(3) my_list
oeasy
2025/04/21
1010
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
[oeasy]085_列表_列表项的追加_append
list1 = ["刘备", "关羽", "张飞"] liubei = list1[0] # 获取索引为0的元素,即“刘备” print(liubei) # 输出: 刘备
oeasy
2025/04/08
740
[oeasy]085_列表_列表项的追加_append
[oeasy]python089_列表_删除列表项_remove_列表长度_len
clist = list("oeasy") clist clist.clear()
oeasy
2025/04/19
820
[oeasy]python089_列表_删除列表项_remove_列表长度_len
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
061_python如何接收输入_input函数_字符串_str_容器 输入输出0 播放 · 0 赞同视频
oeasy
2025/01/17
840
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
a = input("How many apples do you have:") weight = a * 2 print("You have ",weight, "kg apples.")
oeasy
2025/02/11
620
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
[oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
转化为10进制回忆上次内容上次 把其他进制 转化回 十进制 用的是 int 函数int 来自于 integer 同源词 还有 integrateentire意思都是完整的完整的 和 零散的 相对可以把 零散的小数 转化为 完整的整数吗?🤔取整可以 把一个浮点型的小数 取整取整 可能会造成 运算结果的 不同3.3 是 一个浮点型 的 小数 现在 把他当做 一个整数这个过程叫做castcastcast原意是投掷 cast a spell 施法 投一个咒语cast a vote 投票cast 铸造 把铁水投入
oeasy
2023/01/14
4340
[oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
[oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart
​牛说(cowsay)回忆上次内容 我们狂飙了一路 从用shell 直接执行 python程序到用shell 循环执行 python程序 循环体中 把 python的 输出结果 用管道 交给了 figlet 把 figlet的 输出结果 用管道 交给了 cowsay 把 cowsay的 输出结果 用管道 交给了 lolcat 最后 提权 直接运行 shell程序 这一路真的好远啊! python3 是脚本解释器shell 也是脚本解释器 其实我们是 在shell中 利用 python3的 输出结果用she
oeasy
2023/01/03
9320
[oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart
[oeasy]python0014_二进制_binary_bin
​二进制(binary)回忆上次内容上次我们了解了​​ASCII​​码表​ASCII​​ 码表就是​​A​​merican ​​S​​tandard ​​C​​ode for ​​I​​nformation ​​I​​nterchange美国信息交换标准代码ASCII 码表范围​0x30-0x39​​ 这个范围是 ​​数字​数字的编码减去 ​​0x30​​ 正好得到数字本身​​0x41-0x5A​​ 这个范围是 ​​大​​ 写字母​​0x61-0x7A​​ 这个范围是 ​​小​​ 写字母​​0x20-0x7
oeasy
2022/11/13
4460
[oeasy]python0014_二进制_binary_bin
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
055_python编程_容易出现的问题_函数名的重新赋值_print_int0 播放 · 0 赞同视频
oeasy
2024/12/29
910
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
072_namespace_名字空间_from_import_as_导入227 播放 · 0 赞同视频
oeasy
2025/03/10
620
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
057如何删除print函数_dunder_builtins_系统内建模块9 播放 · 0 赞同视频
oeasy
2025/01/06
690
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
推荐阅读
相关推荐
[oeasy]python091_列表_索引_index_中括号_索引函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档