python技能树
现在csdn有了学习的功能,这个功能非常的好。我比较对python感兴趣,于是学习了python的技能树
首先遇到的第一道题就给我造成了很大的困难,题目要求找出Hello, Wolrd的哪个选项是错误的,这四个选项很难啊,都差不多,完全看不出什么地方有问题
比如说"".join([])这个形式,平时我很少见过,也没有使用过,这个对我来说,不熟悉,我甚至要专门到python的解释器里运行一下,才能看出,这个是对的
发现问题
最后,我发现,原来,错误的内容是
if __name__ == "__main":
str1 = "Hello,"
str2 = "World!"
print("str1" + "str2")
这个为什么错误了呢,因为
str1和str2都是变量,可是在print()的时候,str1和str2却写成了字符串
很明显,字符串不能代表变量,因此,这个是不对的
我为什么没有发现呢,还是主要由于不够细心和仔细。如果多看看就能发现问题所在了
改进问题
当然,仅仅是学会了这一个题目是不够的,
我们要学习更多的思考,才能够彻底的理解这个题目
那么,字符串能不能被当成变量呢?如果我只有字符串,应该如何才能变成变量呢?
这个问题使我陷入了困惑之中。是啊,如果别人只给了我一个字符串,我如何才能够获得对应的变量呢?
我思考了良久,没有什么结果
查阅资料
通过查阅资料,我发现,在python中,有一个函数叫做eval,这个函数似乎能够起到作用,
这个是python中eval的描述
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
eval(expression[, globals[, locals]]) expression -- 表达式。 globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象 locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
通过反复阅读以后,我明白了,这个eval函数可以把一个字符串变成一个变量
再次改进
# 这是原本的代码
if __name__ == "__main":
str1 = "Hello,"
str2 = "World!"
print("str1" + "str2")
# 这是改进后的代码
if __name__ == "__main":
str1 = "Hello,"
str2 = "World!"
print(eval("str1") + eval("str2"))
神奇的事情发生了,仅仅是进行了一个eval函数的修改以后,
程序运行的结果居然完全不一样了
这里的字符串不再是一个字符串了,而是变成了一个变量
这个太让人震惊了,以前我从来都没想过字符串也可以当成变量运行
更多思考
python中的eval函数还可以像这样使用
x = 7
eval( '3 * x' )
21
eval('pow(2,2)')
4
eval('2 + 2')
4
n=81
eval("n + 4")
85
或者是也可以像这样使用
x = 8
eval( '3 * x' )
24
eval('pow(3,3)')
9
eval('3 + 3')
6
n=96
eval("n + 4")
100
可以看出,如果对于python中的内容有所掌握了以后
这个eval函数可以想怎么使用,就怎么使用,得心应手,非常的适宜
由此我明白了,一定要多学习多总结
总结
今天,我只在python的技能树上学习到了一道题,但是这不要紧,虽然一道题不多,但是如果能够坚持每天都能学习一道题的话,那么一年就能学习365道题,10年就能学习3650道题,100年就能学习到36500道题
俗话说,优秀的人不是比你强很多,只是因为他更加刻苦努力的学习了。况且,虽然今天我只学到了最简单的一道python技能树的题,只是一个hello world,但是仍然让我受益匪浅,我学会了字符串和变量之间的区别,以及eval的使用,这是我此前很多年都没有掌握的问题,主要原因在于,我忽视掉了,不够细心
就像我们平日里,总是在想着学一些不可靠的框架,什么spring,什么bootrap,尤其是java中的各种各样的框架,这有用吗?虽然这些java框架,只要简单的学习和使用,就能够完成很厉害的功能,就能够一下子做出很厉害的事情,但是不要忘了,基础才是最重要的,根本是不能够丢弃的
学了java的框架,这些框架有过时的时候,有淘汰的时候,但是关于程序的基础知识,是不会淘汰的,他真的可以使用10年,20年,甚至100年,比如说,10年后,可能根本就不可能再有人使用什么spring了,但是就算是100年以后,字符串和变量之间的区别也是非常明显,不可改变的
因此,一定要重视基础,学习基础。我觉得csdn的技能树非常的好。他让我受益匪浅,学到了平时忽略的知识,如果每一个人都能够学习学习技能树,那么他们的程序水平,一定会有非常大的提高
那么,csdn的技能树在哪里可以找到呢?很简单,只要在首页点击学习就行了,或者直接进入技能树的页面,csdn技能树,快来和我一起学习吧!