[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
 
055_python编程_容易出现的问题_函数名的重新赋值_print_int0 播放 · 0 赞同视频点击可播放视频
python编程_容易出现的问题_函数名的重新赋值_print_int 回忆上次内容
  • 上次 了解了
  • 关键字列表
  • keywords list
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 关键字 不能做 标识符
  • 除了 关键字(keywords)之外
  • 还有啥 不适合 做标识符 吗?🤔
 
三问
 
 
添加图片注释,不超过 140 字(可选)
 
  • 试试这个
print print print = 1 print
  • print 本是 内建的函数
  • 重新赋值后
  • 成为1了
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 还能输出吗?
尝试输出 print("hello")
  • 不能输出了
  • 整形数字 不能被调用
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 为啥会这样呢?
错位
  • 相当于
  • 把整形数字
  • 当成 函数来调用了
 
1("hello")
  • 把1 直接当做函数来 调用
  • 那哪儿成啊?
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 除了 函数名
  • 还有啥 最好别当 变量名 吗?
 
常见错误
  • int 是 整数类
  • 可以完成 类型转化
 
b = int("6") c = int(7.1)
  • int类型
  • 能用来转化变量类型
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • int 可以 被声明成 变量吗?
重新赋值后 int = 5 a = int(6)
  • 将 5 赋给 变量 int
 
 
添加图片注释,不超过 140 字(可选)
 
  • int 一旦被 重新 赋值
  • 能 完成类型转化 了
  • 和 print 一样
 
观察
  • 重启 游乐场
  • 观察 类型 变化
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 这个赋值过程
  • 从 类型(type)
  • 到 整型(int)
 
  • 模块名 呢?
  • 也能 这么乱赋值吗?👹
 
赋值 import os os locals()
  • 引入os
  • 本地就有了
 
 
 
添加图片注释,不超过 140 字(可选)
覆盖 os = 1 os locals()
  • 覆盖之后
  • os就不再是
  • 导入的 那个模块了
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 那 删了 之后
  • 还能 恢复 吗?
 
max
  • max 也是
  • 内建的函数
  • builtin-function
  • 和 print一样
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 将 1 赋给 max 之后
  • 再调用 max
 
max = 1 max(1, 2)
  • TypeError
  • max 不再是 内建的函数
  • 而是整数 无法调用了
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 这max 能 在本地 看到 吗?
locals locals()
  • max 此时
  • 是一个 整形变量名
  • 不是 函数名
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 那我 要是
  • 把 max 这个变量
  • 删了呢?
 
删除max del max
  • 在本地
  • 删除 max 变量
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 本地变量 max 消失
  • __builtins__.max 从新被识别为
  • 还是 内建函数
  • builtins-function
  • 就恢复了!😄
 
  • 去总结吧!
总结
  • 这次 了解到
  • 已有的函数名、类名、模块名
  • 不适合 覆盖了 赋新值
  • 会 失去原有功能
  • 比如 max
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 如果我
  • 让 max 当 变量名 表示 最大
  • 想让 max函数 可以继续被调用
  • 又该 怎么 做呢?🤔
 


posted on 2024-12-29 08:17  overmind1980  阅读(4)  评论(0)    收藏  举报