[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值

B站影视 2024-12-29 08:18 1

摘要:055_python编程_容易出现的问题_函数名的重新赋值_print_int0 播放 · 0 赞同视频python编程_容易出现的问题_函数名的重新赋值_print_int 回忆上次内容上次 了解了关键字列表keywords list添加图片注释,不超过 1

055_python编程_容易出现的问题_函数名的重新赋值_print_int0 播放 · 0 赞同视频

python编程_容易出现的问题_函数名的重新赋值_print_int 回忆上次内容

上次 了解了关键字列表keywords list关键字 不能做 标识符除了 关键字(keywords)之外还有啥 不适合 做标识符 吗?

三问

试试这个

print print print = 1 print

print 本是 内建的函数重新赋值后成为1了还能输出吗?

尝试输出 print("hello")

不能输出了整形数字 不能被调用为啥会这样呢?

错位

相当于把整形数字当成 函数来调用了

1("hello")

把1 直接当做函数来 调用那哪儿成啊?除了 函数名还有啥 最好别当 变量名 吗?

常见错误

int 是 整数类可以完成 类型转化

b = int("6") c = int(7.1)

int类型能用来转化变量类型int 可以 被声明成 变量吗?

重新赋值后 int = 5 a = int(6)

将 5 赋给 变量 intint 一旦被 重新 赋值就 不能 完成类型转化 了和 print 一样

观察

重启 游乐场观察 类型 变化这个赋值过程从 类型(type)到 整型(int)模块名 呢?也能 这么乱赋值吗?

赋值 import os os locals

引入os本地就有了

覆盖 os = 1 os locals

覆盖之后os就不再是导入的 那个模块了那 删了 之后还能 恢复 吗?max 也是内建的函数builtin-function和 print一样将 1 赋给 max 之后再调用 max

max = 1 max(1, 2)

TypeErrormax 不再是 内建的函数而是整数 无法调用了这max 能 在本地 看到 吗?

locals locals

max 此时是一个 整形变量名不是 函数名那我 要是把 max 这个变量删了呢?

删除max del max

在本地删除 max 变量本地变量 max 消失__builtins__.max 从新被识别为还是 内建函数builtins-function就恢复了!去总结吧!

总结

这次 了解到已有的函数名、类名、模块名不适合 覆盖了 赋新值会 失去原有功能比如 max如果我 就想让 max 当 变量名 表示 最大值想让 max函数 可以继续被调用又该 怎么 做呢?我们下次再说!蓝桥->https://www.lanqiao.cn/courses/3584github->https://github.com/overmind1980/oeasy-python-tutorialgitee->https://gitee.com/overmind1980/oeasypython

来源:oeasy一点号

相关推荐