废话:
直接学jave的计划直接鸽了,后面有时间再补吧。
小学期开课了,直接开始学py了
正篇:
介绍基本语法之前想聊聊自己对于标题后半段的理解。使用了问答的形式。
Q1:为什么py没有++/--操作
A1:py中同一个变量名能表示不同类型变量的根本原因是不同类型的变量存储的地址不同,而一个变量名中存储的是一个类似于地址的东西。每次该变量发生变化了,就新建一个新的变量,然后赋值,然后把这个变量的“地址”改过去,然后解释器有自带的空间回收功能(自动垃圾回收机制),这样++操作和+=1等操作本质上就没有区别了,所以就没有设计这个符号
Q2:很多功能的设计与c++相同是否是因为面向对象?
A2:是的
py看起来想c一样短小精悍,但是很多语法规则都与c++基本相同或类似,这可能与语言设计之初的目的有关。
一个语言的诞生,应该是现有设计目的,再有语法,而不是先出现新奇的语法,再给这个语法配上目的以及应用前景。
应该是设计目标指导最初的设计者去给一门语言加上相应的语法。py作为一门设计之初就是面向对象的语言来说,跟当时已有的c++这种较为成熟的面向对象中有很多类似甚至相同的语法是相当正常的。
在基本的框架建立之后,可能会带来设计者个人使用习惯或者特殊爱好导致的创新或改变,比如py中取消了大括号对语法段的区别,而是采用了强制缩进这个方案。
而正是以为这是一门全新的语言,像c++中一些不适合面向对象的语法成分被取消了,诸如c++为了能向下兼容c而保留的显示变量类型的设计,而是采取了一种隐式的变量类型。即用户不需要定义,而是在解释执行的时候由解释器根据现有的数据类型个这个变量加上一个用户看不见的类型以执行更底层的操作。同时py加入了大量逻辑结构的类型,诸如set之类的,可是使得用户在使用的时候能更方便的表达自己对数据组合后进一步操作的需求,这也符合面向对象编程的概念。
Q3:为什么要学习py
A3:博主c++起家,初中开始学习竞赛,如果问现在的博主最喜欢最优美的语言是啥,那一定是c++
c++有着诸多的弊病,语法繁杂,bug频出,生态差,但是功能的全面,不断对最新语法概念的追求这无不是一个程序员最大的浪漫。
相比较而言,py的风格更加自由,生态语法的超大力度的支持使得程序员可以写出很多天马行空想象力十足的代码,这可以充分发挥出程序员对想法的实现,而不是让程序员宝贵的时间建立浪费在无意义的重复语法建立上。
py的方便使用也是的其成为了目前初学者入门编程的首选。人们越来越追求对创意的实现,而不是按部就班的跟着厚重的教科书反复咀嚼繁琐的c++语法条例。
大量外部库对py生态的支持也是py受欢迎并建议学习的主要原因之一。完整的学完了c++可能啥程序都写不出来,而只要学习一部分py可能就已经能实现自己预期的想法了。
此外本着艺多不压身的想法,多会一门语言将来恰饭挣的钱也会期望多一些。