Python这门语言为什么适合初学者
2019-08-29 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
关注
展开全部
2017年编程语言排行榜已新鲜出炉,毫无疑问,JAVA、C以及C++语言名列前三,排名第四的当属当下最火爆的Python语言。
Python的火爆源自于市场的需求和语言的本身特性,在国外市场Python很早就开始使用,并得到了广泛的应用,如我们熟知的Google、Facebook等,而国内市场对于Python的应用相对滞后,近年来才开始使用,随着人工智能、云计算、大数据、自动运维以及爬虫技术的日益成熟,对Python语言全栈开发人才的需求激增,而市场上相关人才缺乏,因此,引起了一波Python学习潮!
Python并非一门复杂的语言,而是一门简单易学的语言,被设计得非常容易读和写,即使是非IT从业者,也可以通过很短时间的学习而掌握其使用的方法,实现强大的功能。
Python语言对于想转行从事IT领域工作的人来说是一个很好的选择,简单易学,市场需求量大,在未来几年发展前景还是很不错的!
Python的火爆源自于市场的需求和语言的本身特性,在国外市场Python很早就开始使用,并得到了广泛的应用,如我们熟知的Google、Facebook等,而国内市场对于Python的应用相对滞后,近年来才开始使用,随着人工智能、云计算、大数据、自动运维以及爬虫技术的日益成熟,对Python语言全栈开发人才的需求激增,而市场上相关人才缺乏,因此,引起了一波Python学习潮!
Python并非一门复杂的语言,而是一门简单易学的语言,被设计得非常容易读和写,即使是非IT从业者,也可以通过很短时间的学习而掌握其使用的方法,实现强大的功能。
Python语言对于想转行从事IT领域工作的人来说是一个很好的选择,简单易学,市场需求量大,在未来几年发展前景还是很不错的!
展开全部
坦白说,个人认为python并不适合作为初学。python可以作为第二语言,而并非第一门。
说python适合初学,仅仅是因为它可以少写一些东西,看起来好像容易入门。但少写的这些东西,并非不重要,而只是等同于是把知识点隐藏起来了,不利于对编程产生深刻理解。
就比如变量声明吧。。。如果是JAVA和C#,声明一个变量可以这么写:
public int a=1;
不仅需要背一个单词public,而且还有个莫名其妙的int在那里,写完还得加个";",感觉怪怪的。。。熟悉这句代码,怎么也得几分钟吧?于是结论出来了,JAVA和C#不适合初学者。
而python是这么写:a=1
哇,好清爽,好省事,直接a=1就完事了。于是结论是,Python适合初学。
真的是这样吗?既然直接a=1就能完事,JAVA和C#为什么非要写的那么麻烦呢?难道是JAVA和C#的设计者有强迫症?
但用Python写不了多久,初学者就会遇到这样的代码:
a="1"
int(a)
哎?这个int是啥?教程上说,是把那个字符“1”,转换成数字。总之并不难记,只有3个字母,硬生生的记住就好了。可是对比一下JAVA和C#声明变量里,是不是也有这个int?
硬生生记住一个int,当然很容易,不理解也没关系,只要知道转数字的时候用一下就行了。。。但之后呢,又会遇到str(a),set(a),list(a),tuple(a)........ 全都靠硬生生的记住吗?
而如果代码稍微复杂一点会如何呢?比如写一个单例模式,Python突然变得比C#还要复杂的多。。。
C#:
class man{
public static man ins{ get;private set; }
public string name{get;set;}
public int age{get;set;}
public man(string name,int age){
ins=This;
this.name=name;
this.age=age;
}
}
一共10行代码。。。。。
Python:
class man(object):
ins=None
turn=True
def __new__(cls,name,age):
if cls.ins==None:
cls.ins=super().__new__(cls)
return cls.ins
else:
return cls.ins
def __init__(self,name,age):
if man.turn==True:
self.name=name
self.age=age
man.turn=False
一共14行代码。。。
好像Python也并不省事了吧?
而且尽管只差4行代码,但你有没有发现C#写的代码非常整齐?就算你看不懂代码的意思,也一定能看出,有一个结构在那里。阅读起来句句分明,很容易分清楚,哪一句是哪一句。
而Python的代码结构已经开始凌乱了。我们的例子还是太小,如果把例子放大20倍,那将是天壤之别。
“易写”从来都不是编程语言的优点,“易读”才是。因为一个中型以上的商业项目,代码量通常接近十万行,是不可能一口气写完的。
第一天写完,第二天能快读读懂,才能接着往下写。若第一天写完的代码,第二天自己都看不懂,那还怎么写下去? 这就是程序的“可维护性”,又名“健壮性”。
其实若论“易写”,0和1最易写。为啥不直接写0和1,却要学习编程语言呢?不就是因为0和1“不易读”吗?
个人建议,第一门语言,去选一门强类型静态的语言来学,比如JAVA,C#都不错,第二门语言再考虑动态语言。毕竟大项目,总是要用静态语言才靠谱。动态语言有其天生缺陷,并不利于大型项目的开发。
很多初学者根本无法理解静态语言的优点,那是因为初学的时候,代码都只写那么几行就够了。可是代码写长了之后,情况就完全不一样了。就像写中文句子,如果你每次只写几句话,你会觉得标点符号用处不大,每个句子都加标点符号还特别麻烦,完全可以省略掉。但如果你写一篇长篇小说,不写标点符号就会变成一件非常恐怖的事情。
同理,学Python入门的话,你根本不能真正理解,“类”这个东西,到底有什么好?尤其是根本无法理解“封装”和“多态”的意义。明明一行行的写代码就行了,为什么非要面向对象?
一定有人告诉你,使用面向对象是为了省事,但你有感觉吗?你是不是其实一点也不觉得省事?而且很多时候,面向对象反而更麻烦?然而这只能等你学通一门静态语言之后,才能真的明白,面向对象到底“省事儿在哪儿”?
说python适合初学,仅仅是因为它可以少写一些东西,看起来好像容易入门。但少写的这些东西,并非不重要,而只是等同于是把知识点隐藏起来了,不利于对编程产生深刻理解。
就比如变量声明吧。。。如果是JAVA和C#,声明一个变量可以这么写:
public int a=1;
不仅需要背一个单词public,而且还有个莫名其妙的int在那里,写完还得加个";",感觉怪怪的。。。熟悉这句代码,怎么也得几分钟吧?于是结论出来了,JAVA和C#不适合初学者。
而python是这么写:a=1
哇,好清爽,好省事,直接a=1就完事了。于是结论是,Python适合初学。
真的是这样吗?既然直接a=1就能完事,JAVA和C#为什么非要写的那么麻烦呢?难道是JAVA和C#的设计者有强迫症?
但用Python写不了多久,初学者就会遇到这样的代码:
a="1"
int(a)
哎?这个int是啥?教程上说,是把那个字符“1”,转换成数字。总之并不难记,只有3个字母,硬生生的记住就好了。可是对比一下JAVA和C#声明变量里,是不是也有这个int?
硬生生记住一个int,当然很容易,不理解也没关系,只要知道转数字的时候用一下就行了。。。但之后呢,又会遇到str(a),set(a),list(a),tuple(a)........ 全都靠硬生生的记住吗?
而如果代码稍微复杂一点会如何呢?比如写一个单例模式,Python突然变得比C#还要复杂的多。。。
C#:
class man{
public static man ins{ get;private set; }
public string name{get;set;}
public int age{get;set;}
public man(string name,int age){
ins=This;
this.name=name;
this.age=age;
}
}
一共10行代码。。。。。
Python:
class man(object):
ins=None
turn=True
def __new__(cls,name,age):
if cls.ins==None:
cls.ins=super().__new__(cls)
return cls.ins
else:
return cls.ins
def __init__(self,name,age):
if man.turn==True:
self.name=name
self.age=age
man.turn=False
一共14行代码。。。
好像Python也并不省事了吧?
而且尽管只差4行代码,但你有没有发现C#写的代码非常整齐?就算你看不懂代码的意思,也一定能看出,有一个结构在那里。阅读起来句句分明,很容易分清楚,哪一句是哪一句。
而Python的代码结构已经开始凌乱了。我们的例子还是太小,如果把例子放大20倍,那将是天壤之别。
“易写”从来都不是编程语言的优点,“易读”才是。因为一个中型以上的商业项目,代码量通常接近十万行,是不可能一口气写完的。
第一天写完,第二天能快读读懂,才能接着往下写。若第一天写完的代码,第二天自己都看不懂,那还怎么写下去? 这就是程序的“可维护性”,又名“健壮性”。
其实若论“易写”,0和1最易写。为啥不直接写0和1,却要学习编程语言呢?不就是因为0和1“不易读”吗?
个人建议,第一门语言,去选一门强类型静态的语言来学,比如JAVA,C#都不错,第二门语言再考虑动态语言。毕竟大项目,总是要用静态语言才靠谱。动态语言有其天生缺陷,并不利于大型项目的开发。
很多初学者根本无法理解静态语言的优点,那是因为初学的时候,代码都只写那么几行就够了。可是代码写长了之后,情况就完全不一样了。就像写中文句子,如果你每次只写几句话,你会觉得标点符号用处不大,每个句子都加标点符号还特别麻烦,完全可以省略掉。但如果你写一篇长篇小说,不写标点符号就会变成一件非常恐怖的事情。
同理,学Python入门的话,你根本不能真正理解,“类”这个东西,到底有什么好?尤其是根本无法理解“封装”和“多态”的意义。明明一行行的写代码就行了,为什么非要面向对象?
一定有人告诉你,使用面向对象是为了省事,但你有感觉吗?你是不是其实一点也不觉得省事?而且很多时候,面向对象反而更麻烦?然而这只能等你学通一门静态语言之后,才能真的明白,面向对象到底“省事儿在哪儿”?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询