新手是先学C语言好,还是先学Python好呢?

作者&投稿:将哀 (若有异议请与网页底部的电邮联系)
~

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:

总的来说,这几种编程语言各有千秋。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。

当你用一种语言开始作真正的软件开发时,你除了编写代码外,还需要很多基本的已经写好的现成的东西,来帮助你加快开发进度。比如说,要编写一个电子邮件客户端,如果先从最底层开始编写网络协议相关的代码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用,比如,针对电子邮件协议的SMTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。

Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。如果一个资深程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。

那Python适合开发哪些类型的应用呢?

首选是网络应用,包括网站、后台服务等等;

其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;

另外就是把其他语言开发的程序再包装起来,方便使用。

最后说说Python的缺点。

任何编程语言都有缺点,Python也不例外。优点说过了,那Python有哪些缺点呢?

第一个缺点就是运行速度慢,和C程序相比非常慢。因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。

当然,Python还有其他若干小缺点,请自行忽略,就不一一列举了



编程语言中的Python是不是越来越火了?答案是肯定的。

下面截图是Python的百度搜索指数:

可以看到,很长一段时间里,Python在国内都是不火的。从2014年开始,Python出现了爆发式的增长。一个有趣的事实是,14年到现在,Python的搜索指数存在几个下滑的地方,这几个向下的尖刺是因为中国人在过春节和国庆,哈哈,过节大家都在happy。

下面对照google搜索指数一起看一下:

google搜索指数

Python的google搜索指数包含了全球的搜索情况。在中国人开始用Python之前,Python的搜索指数也不低,说明Python在国外一直比较火。与此同时,Python的搜索指数曾经出现过下滑的情况。大概从13年14年开始,Python的全球搜索指数一路飙升,搜索热度从50上升到100。所以,我们有理由相信,Python火了,并且是中国人带火的。

大家知道,前段时间微信在毫无征兆的情况下,推出了微信搜索指数。下图是微信搜索指数中主流的编程语言的搜索情况。可以看到,Python名列第2位,并且,与第1位的Java语言非常接近,远远的甩开其他编程语言。那些说Python不火的同学,肯定大跌眼镜吧。

微信搜索指数

下面(图)再看一下编程语言排行榜,在2015年1月,Python还处于第8名的位置。2016年1月已经是第5名了,这种上升速度,在编程语言中是不多见的。现在,Python一直稳居第4、第5的位置。所以,那么说Python不火的同学,可以更新一下自己的数据库了。

编程语言排行榜

既然Python火得辣妹疯狂,作为Coder,尤其是新手入门的Pythoner,我们该如何系统而高效地学习这门语言呢?

学习Python编程语言,动手实践是一件非常愉快的事情,遇到了程序上的问题,经常自己思考研究,从而解决问题,自己的技术水平和解决问题的能力都得到了大大的提升。

但是,如果是你零基础起步,自己一点点照着书本学习,遇到困难,得不到解决,长期下去,会对学习编程产生厌恶,最终放弃学习。

因此,我今天在这分享一份来自黑马程序员2017年就业班的Python视频教程,教程内容如下:

最后,有需要这套视频教程的coder大神,请关注私信留言我,祝大家学习进步,收入节节高。



python是个好工具。可以用来作很多事情,当然,也可以用来分析股票。

现在我们对科大讯飞的股票用python做个可视化分析,分析它的买点。或者说,什么情况发生了,股票会上涨。我们

只要在之前买入,不就赚钱了吗。哈哈

先上程序

python程序分析科大讯飞股票

程序20行意思是股票的ma5,ma20,close指标。close是收盘价。具体这个指标什么意思呢,见下面的解释。

MA是“移动平均线”的简称,后面的数字:5、10、20.....是时间周期。移动平均线,Moving Average,简称MA,原本的意思是移动平均,由于将其制作成线形,所以一般称之为移动平均线,简称均线。它是将某一段时间的收盘价之和除以该周期。比如日线MA5指5天内的收盘价除以5。移动平均线是由著名的美国投资专家Joseph E.Granville(葛兰碧,又译为格兰威尔)于20世纪中期提出来的。均线理论是当今应用最普遍的技术指标之一,它帮助交易者确认现有趋势、判断将出现的趋势、发现过度延生即将反转的趋势。常用移动平均线有5天、10天、30天、60天、120天和240天的指标。其中,5天和10天的短期移动平均线,是短线操作的参照指标,称做日均线指标;30天和60天的是中期均线指标,称做季均线指标;120天、240天的是长期均线指标,称做年均线指标。

好,我们上图,大家先看看。

科大讯飞的收盘价和ma5,ma20

同学们,看出来了吗?有什么规律?

还没看出来?

好吧,python大大给大家指点下,放大图。

大图解释python分析出来的买点

如大图,给大家点了红点。大家可以看到,ma5,ma20相交的位置,就是红点位置。然后绿线会发生什么事?

对了,上涨,如图可见,ma5,ma20相交后,绿线会上涨。my god!是不是相交时,我们买入,就可以妥妥的挣钱呢?

至少这个图是这么说的,但是股市套路多,稍后大家还会学到python分析其他方面的,防止我们被套路。

每天十分钟,python改变生活。我是python小白社群的python大大,例子里的数据和程序源码有兴趣的都可以联系我索取。



这样学Python,小白

学语言绝对不是一日之功,一定要勤学苦练,而且要反复练习.你把基础学扎实了,基础稳扎稳打,大法练成指日可待。欲速则不达,莫要贪心。

确定一个练手的目标,分析所需知识技能,

软件开发:游戏后台、搜索、图形界面;网站;C\\S软件;科学运算(python在科学运算里非常优秀,金融系统金融数据模具模型)

系统管理:脚本;IT自动化工具,

学习最流行的软件包,了解编写它们的目的,它们是如何工作的。(如:Flask、Django、requests)

尝试编写并发代码,了解线程、进程、它们的工作原理以及它们在Python中的弱点。

学习sockets、network libraries、异步功能。

学习SciPy和NumPy。

学习解释器,了解它们是如何工作的,为什么Python有这么多不同的实现?。(最常见的实现是基于C的解释器)。

学习python生态系统。不要使用notepad去写Python,应该学会使用pycharm。学习PEP8,PIP, setuptools,virtualenv。

学习python生产环境部署套件,比如Docker容器,uWSGI,Gunicorn,Nginx等东西。

。学习lambda函数、装饰符、描述符、迭代器、生成器、元类等。编写大量的代码。

万丈高楼平地起,学东西一定要循序进阶,而且除了语言招式还需要学数据结构和算法,

Python无疑是非常有前途的,人类会进入大数据分析时代,各行各业大量的数据需要研究,需要分析。

Python语言值得学,Python是一门计算机语言,动态语言、解释型、网络爬虫、数据处理、机器学习、Web开发、等等等等。Python目前分为2.x和3.x两个版本,与其它语言不一样的是,它的这两个版本是不兼容的,虽然会其中一个就容易上手另一个,建议初学者直接上手Python3。



如果你要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件。你以附加模式打开文件时,Python不会在返回文件对象前清空文件,而你写入到文件的行都将添加

到文件末尾。如果指定的文件不存在,Python将为你创建一个空文件。下面来修改程序,在既有文件pp.txt中再添加一些你酷爱编程的原因: main.py

import commandsfilename ="./pp.txt"with open(filename,'a') as fo: fo.write("I also love finding meaning in large datasets.\
") print commands.getstatusoutput("cat ./pp.txt")#读取写后的内容 fo.write("I love creating apps that can run in a browser.\
")print commands.getstatusoutput("cat ./pp.txt")#读取写后的内容

结果如下:

问题来了?

为什么with里面的输出不出什么,而with外面的却能打印出内容?

这个迷案谁能解开?大家试着来解答下这问题。

每天十分钟,让我们掌握自己的道路。




想自学计算机高级语言,首先是先学哪一门?还有汇编语言学来有没用?
如果想做网站,就学ASP~CGI~PHP~JSP,这4个就JSP最最最难,先学ASP。编程语言很多,但是目的都是想写出好的程序,只要学精了一个就有钱赚,一上来不要要求太高 我推荐你学三种编程语言,因为推荐你学是有原因的。第一:先学习好C语言,这个是学所有编程语言的基础。也是将来去考国家证书的必须要考...

直接学C语言学C++可以吗?我新手,想编木马之类的程序,请问我把C++做为第...
把c++作为第一门语言是可以的,但是如果你先学习C语言会更好,因为C语言学通了,C++学起来会更轻松一些!另外我还想说一下,学习编程不是为了编写病毒什么的,网络也要有约束和规则的,使别人计算机中毒终归是不好的事,要把你学的编程知识用在更有意义的事情上面,良好的网络环境也需要我们大家一起维护!

新手刚开始学习C语言好还是直接学习C++?
直接学C++就好。其实 C++包含了C语言 对于没有基础的 C++入门的第一步 就是C语言的那些东西 不过 去除了一些C使用的特色函数。所以 没必要专门学C 直接学C++即可。

学编程到底是学C语言、C++、VB、jave中的哪种比较好?
学成后面向的对象有什么不一样?以后的... 我想学编程,可问题是不知道学哪种编程语言。麻烦大家指点下,C语言、C++、VB、jave有什么区别?编写的程序有哪些不同?各自的起点有哪些不同?学成后面向的对象有什么不一样?以后的发展方向又如何?如果想编写hei ke 程序以及大型应用软件最好学习哪种语言?希望有各位高手...

c++和C语言有什么不同,应先学哪个呢。
你好!希望我的回答能给你一些启发。C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向...

学编程要先学什么
接下来是学语法,比如for,if,while这些,都是根据不同语种学习不同的内容。学习编程的方法:1、新手入门,激情最重要,只有不懈的坚持,才能真正的掌握一门编程语言。一般对新手而言,不是学那些“黑框”语言,而是选择简单易懂的脚本语言更好一些。2、当用户已经掌握好了一门脚本语言后,可以先搭建一...

请问,学C语言是先学VC++好,还是先学C++呢?请高手们指点指点。初入C门...
呃...我们现在的课程安排已经不存在“C语言”这单独的一科了...都是直接学C++的,因为C++本身就是C加上“面向对象”,所以根本没必要再学C了,你学了C++以后,C是完全能读懂的。

是学习C语言好还是学习Python更好?
Python的语法简单大部分靠空格控制,但对于接触编程的人员来说并不好掌握,运用和Python一样语法的语言,需要先掌握Python的语言语法,对以后学习其他的语言会更有帮助。使用C入门编程,能更好地掌握编程基础,理解代码运行原理,但学习C语言枯燥,很难迅速见到学习成效,打击学习积极性;而使用Python见效快,...

请问各位高手我想进入编程的世界却毫无头绪该学习C++入门那还是C语言入 ...
放心的开始学习C吧,我和我身边的人都是没有基础从C开始,买本书,有那种很全面的,最重要的是一定要上机实践,很重要的,还有自己能举一反三的多编点小程序,小的编多了大的也就有点感觉了,C++可以在c的基础上在学,因为c++是c的"升级版'了~是可以包容C的。对了,还有一本书是个美国人写...

没学过C语言可以学C语言数据结构与算法吗?
没有学过 C语言或者C++ 的话 学起数据结构(C语言版、C++版) 都是不可能的 因为 数据结构是建立在 对应的语言上的,所以说首先要学语言 如果你想 有很坚实的计算机基础的话 那你就 学C 语言 虽然C语言实用性好 很与时具进 但是不容易学 所以建议你学C语言 ,它是计算机语言的基础,C++、...

姜堰市13067699559: 上学的时候没学编程,现在想自学,先学哪个比较好,c还是pytho?
鬱博复方: C 是最通用最广泛最经典的编程语言,学会C了其它的一般不成问题了,因为都是大同小异的.所以建议学 C.

姜堰市13067699559: C语言和Python 该从哪个入门编程 -
鬱博复方: 个人觉得应该从C语言开始入门.原因如下: 1. C语言是你上大学第一门接触的编程语言,可见它的重要性. 2. C语言是一种面向过程的语言,而Python是一种面向对象的解释型计算机程序设计语言.而你需要先了解什么是面向过程,然后在...

姜堰市13067699559: C 语言和 Python,该从哪个入门编程 -
鬱博复方: C更好一些 python用的相对少 从语法上 也并不具备代表性 虽然相对来说python更简单一点,但学会python后不利于扩展 而学会C之后,再学 C++ C#或者java都相对简单一些. 学python就更容易了.所以 建议先学C

姜堰市13067699559: 对于初学者而言python和 c先学哪个好 -
鬱博复方: python要更加容易入门,也更能看到效果,并且有助于养成好的编码习惯.

姜堰市13067699559: 请问python、c语言、java编程应该先学那个?我是初学者 -
鬱博复方: 1.先学C,C语言非常经典,得一个月吧,学会c后,再学python一个下午就可以学会,java大概一个星期. 2.然后漫长的熟悉库函数和各种技术的阶段,唯有多练,否则永远编不出任何有价值的程序.

姜堰市13067699559: 初学者,初学计算机编程,最好先学哪一门编程语言? -
鬱博复方: 有两种观点:1 先学python,这是最容易学并且最舒服的编程语言,可能是唯一旨在让编程者工作更简单的语言.2 学什么都行,就是别学python, 不然你以后学什么其他语言都学不进去了...(因为一对比感觉怎么这么烦...) 你觉得呢?

姜堰市13067699559: 学习编程,新手最好先学什么语言? -
鬱博复方: 先学习C语言,语言是基础,然后学习C++,转变成面向对象的思想,之后就可以学习Java或.Net,语言的语法都大体相同,学会一种后另一种语言看看就会了,不用太担心.对了,别忘了学习SQL,编程主要是跟数据库打交道. 这是给你学习...

姜堰市13067699559: 请问零基础应该先学c语言还是JAVA语言? -
鬱博复方: 首先,C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发.而Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,具有功能强大和简单易用两个特征,适合...

姜堰市13067699559: 初学者学c好呢?还是学python呢?麻烦指导下 - 犹豫好久了| -
鬱博复方: 建议先学py再学c、学py不需要很好的英语基础、而且上手也快.

姜堰市13067699559: 请问C,shell,和python先学哪个好?或者说新手适合先学哪一个呢?? -
鬱博复方: 个人感觉: C—shell—Linux 是一条线 Python是另一条线 大学学过C和Linux,后来听过路飞学城的Python,感觉语言上交集不大.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网