1. sobt,如何学习单片机?
森山,10多年的硬件开发经验,做过的板卡数不清有多少块,做过量产的产品也涉及到各个行业,也做过不少失败的项目。他用自己的经验告诉大家,如何系统的学习单片机。
01.需要一块开发板——让单片机动起来
买一块开发板,按照配套的demo程序,自己改改,让外设动起来,比如OLED显示内容,电机启停、调速,温湿度采集等等。这一步是为了让你体会到,单片机如何通过编程实现对硬件的操作。
这样的开发板太多了,建议从STM32入手,原因有二:一是资料最全,开发环境比较友好,而且今后在产品中使用也比较多;二是开发板都不贵,而且最好选外设多的,带显示,带通信接口的开发板。
即使一开始不懂,开发板配套的学习包,足够你学一阵子了,STM32官方也有现成的Cubemx工具来帮你生成基础代码。
02.自己设计一个小demo——掌握基本外设
我建议有硬件设计能力的,可以自己设计制作一款开发板,尽量多的加入不同类型的外设,因为以后你研发产品,就是基于这些外设的应用逻辑组合。然后一个个移植外设驱动,当然更建议自己写驱动,驱动写得好能最大程度发挥硬件的性能。
受限于单片机的性能都比较一般,基础的外设的连接方式大致有这些:IO、I2C、SPI、AD\DA、UART、CAN、RGB888……等这些低速接口,有的也带USB。
等你玩转了这些,以后升级到更强的平台,那么高速接口学习起来也只是工作量的问题,大同小异。
在移植和写驱动的过程中,要学会看datasheet,spec。虽然一个简单的芯片规格书就是几十上百页,但并不是你都要去看懂的,只要知道提取自己有用的信息,比如I2C设备,它的总线最高频率,你在做时序控制时不能超过它的上限。
在调试过程中,你一定会遇到非常细节的问题,这时候,借助一定的工具和手段,可以让你变得更加高效,比如学会用示波器去看数据波形,学会看时序,分析通信协议,用万用表去检测基本的故障。
下面视频是用STM32通过对步进电机和电磁铁的控制,来实现纺织机机头的功能。尽管我也做了多年开发,在遇到新的外设时,调试还是花了不少精力。参数是调出来的,有时候就差几十us的延时,性能就相差很多,所以在研发的过程中一定要耐心:
03.学着做一个完整的小产品——产品思维
前2步的基础,新手的你已经大致有信心了。接来下可以做一些设备的联动,实现一个产品的基础功能,一个简单的单机设备。举个例子,通过温湿度监测,来控制继电器,继电器外加电热丝或加热装置,并且实时显示该温度值,这就是一个温度控制的产品了。
这些设计不难的,难的是在这一步里你要有一定的产品思维了。要列出你这个产品的需求,解决了什么痛点,根据明确的需求去选择相应的单片机方案,你要知道实现这样的功能,需要选择什么样的技术方案,综合还要考虑成本。
这里面的信息量和变数其实非常大,比如你要设计一款带有线网络的产品,那么你是选择自带RMII接口的单片机,还是通过增加一个串口转网络的模组来实现?这可能涉及到你需要通信的网络速度,也要考虑综合成本,以及开发的难易程度。
有时候,这需要权衡产品本身的硬件成本,和你的开发周期,并不是一味追求硬件成本最优,如果出货量不大的产品或项目,应该更倾向于选择自己熟悉的单片机平台,这样开发周期最短,人力消耗最低,避免捡了芝麻,丢了西瓜的情况发生,因为很多项目,时间要求是很紧迫的。
做产品,实现功能很简单,但整体的可靠性、稳定性、兼容性是很难的,这个问题主要讨论单片机,所以产品其他延伸的话题就不展开了。
04.让你的单片机连接到全世界——尝试通信
现在很多产品都物联网化了,进一步的,你可以去研究基于单片机的有线、无线通信方式,最简单的通过串口连接WIFI、GPRS模组,学习MQTT等物联网通信协议实现单片机与互联网的连接。
MQTT协议基于json,即使完全不懂的人,学半天也就会了,上手比较容易,PC端有很多客户端可以直接用,适合信息量不大、实时性要求不高的数据采集、远程控制。
通信模组和方式就很多了,WIFI、Zigbee、BT、Lora、GPRS、Lora、NB、4G/5G、433等各种小无线,以后可以专门写一篇来介绍这些通信方式的不同应用场景。
之所以把通信这块单独拎出来,因为通信让万物互联,有了更多可玩性和可能性,让冰冷的单片机成为有想象力的产品。
最后的总结:做了越多的产品就越觉得,没有一个产品是简单的,容易的,希望大家耐心一点,打好基础,后面的路子就会很宽。
除了以上4点,后面遇到更复杂的项目,可以上RTOS、MBED等轻量化,适合单片机的操作系统。大家不要一味想着去搞linux,单片机一直在迭代,现在性能强的单片机还是很多的,而实际工业上有很多需求,单片机绰绰有余,性价比极高,开发周期短,稳定,这些都是很好的。
关于如何系列的学习,还推荐阅读:
硬件工程师技能树
电子专业新生指南
嵌入式学习路线+资料放送
学长,我们电子专业的毕业后究竟是做啥的?
嵌入式 Arm Linux 入门必读书籍推荐硬件学习选择开发板指南
本文转载来自森山的知乎文章,达尔闻经作者同意发布。
2. 韩国的上网速度为什么能这么快?
说到上网速度,众所周知,韩国是全球公认的互联网基础设施最为完善的国家之一,并且拥有全球最令人羡慕的最快网速。那么韩国的网速为什么这么快呢,下面就来给大家解答一下。
都说早起的鸟儿有虫吃,韩国网络建设起步较早,政府推动为了让国家成为一个科技强国,鼓励网络运营商将宽带接入每一个家庭、学校、政府办公室,以实现“光纤到户”,并提供财政补贴和政策扶持,先后投入了数十亿美元建设光纤主干线网络,基础网络设施在也政府的推动下快速发展。
之前就说过韩国想成为科技强国,然后发达的网络会给本土带来了大量的“经济红利”,形成良性循环。比如互联网游戏、互联网直播、这些比较火的东西都是先从韩国发展到其他国家的。
其次就是,韩国电信市场竞争非常激烈,必须靠提供更快的网速、更低的价格来吸引客户,如果无法提供网速更高的宽带,就面临被淘汰的危险。
3. 小说网站哪个好?
现在人们还是比较喜欢看小说,但是看小说很多人都不知道怎么找网站,其是是有很多网站都是看小说比较好的,那么今天来给大家介绍一下吧。
西林街搜索
西林街搜索,这个网站专注于盘类资源搜索,可以搜索各种文库、学术资料、视频、教程、音乐等,网站整体看起来十分简洁,而且主页的背景图片也会隔段时间自动更换。
呆木瓜网
编程&算法 、 源码 、视频教程 、 java学习 、 Html5 、机器学习 、书籍 、 电影、 音乐,和上面的西林街比,这个网站是不收费的,西林街只能有三次免费的试用机会。
胖次
影音视频、音乐歌曲、图片壁纸、小说文档、程序App、压缩文件、BT种子
如果大家在看小说的时候吗,还可以使用轻快pdf阅读器来看,还是可以免费看的,在手机上可以随时随地进行阅读。
4. 在柬埔寨旅游最好玩的地方是哪里?
柬埔寨有什么好玩的地方,柬埔寨好玩的景点有吴哥窟、巴戎寺、金边皇宫、金银阁寺、奥翠斯海滩、独立海滩、波哥国家公园、贡布老火车站、沃耶农寺、Prasat Phnom Banon Winery。远离喧嚣都市,穿越千年时空,来一场和古老王国对话的朝圣之旅。你知道柬埔寨有什么好玩的地方吗?如果不知道,这篇柬埔寨旅游十大必去景点你可算是看对了,游大大旅游网小编就为您介绍一下柬埔寨好玩的旅游景点!
1.吴哥窟
吴哥窟又称吴哥寺,也称小吴哥,位于柬埔寨西北方,距暹粒市区5.5公里。原始的名字是VrahVishnulok,意思为“毗湿奴的神殿”,中国古籍称为“桑香佛舍”。它是吴哥古迹中保存得最完好的的庙宇,因为几百年来它从未被荒废,不断有人前来朝拜、游览。它以建筑宏伟与浮雕细致闻名于世,也是世界上最大的庙宇。在所有吴哥的寺庙中,其与众不同之处在于他面向西方。西方象征着死亡,因此许多专家认为吴哥窟最初是作为一座坟墓而存在的,有学者推测,吴哥窟是苏耶跋摩二世的皇陵。吴哥窟代表着高棉古典建筑艺术的高峰,它采用了高棉寺庙建筑学的两个基本布局:祭坛和回廊。祭坛由三层回廊环绕须弥台组成,攀上最高层即意味着到达天堂。吴哥寺内浮雕非常精美,内容主要是有关印度教大神毗湿奴的传说,取材于印度史诗《摩诃婆罗多》和《罗摩衍那》及印度教神话《乳海》。1992年,吴哥古迹被列入世界文化遗产,吴哥窟作为吴哥古迹群落的重要景点,游人络绎不绝。吴哥窟的造型也成为了柬埔寨的国家标志,被印在了国旗上。
地址: Angkor
开放时间: 05:00-19:00
2.巴戎寺
巴戎寺坐落于吴哥通王城之中心点,其回廊东西长160公尺、南北长140公尺。巴戎寺共分三层,下两层为正方形,以佛面塔和回廊壁画闻名。从外观上看,巴戎寺是一座金字塔形建筑,共有54座哥特式宝塔。每座宝塔的四面都刻有神态各异、面带微笑的佛像,也就是著名的高棉的微笑。巴戎寺朝东,大多数人选择上午来游览。阳光掠过每一个佛像,很温暖的感觉。除了高棉的微笑,巴戎寺的壁画也很出名。在第一回廊看壁画,感受吴哥的历史之美。
地址: Bayon,Siem Reap, Cambodia
开放时间: 05:00-19:00
3.金边皇宫
皇宫拥有传统的高棉式屋顶、华丽的屋檐,傲然屹立在金边。皇宫地处湄公河畔,建筑非常壮观。作为西哈莫尼国王的官邸,这片巨大的建筑群仅有部分对公众开放。君王殿是举行国王加冕仪式和外国使节递交文书仪式的场所,很多摆放在殿内的物品被红色高棉所破坏。院内有一个奇特的铁屋,是法国拿破仑三世送给诺罗顿国王的礼物。
地址: Samdach Sothearos Blvd, Phnom Penh, 柬埔寨
开放时间:
7:30-11:00 14:30-17:00
王宫关闭前一小时不能入场。
4.金银阁寺
银塔因其覆盖其上的5000多块银片而得名,银片合计重5吨。银塔又称“Wat Preah Keo”(绿度母之塔),最初于1892年诺罗顿国王在位时建造。红色高棉将银塔保护起来,为了向外界表明他们关心柬埔寨文化遗产。这里是柬埔寨国内为数不多的几个能展示高棉文化的珍贵地方之一。通往银塔的台阶有意大利大理石制成,塔内的绿度母佛像放置在镀金的基座上。基座前面有一尊真人大小,镶嵌着9584颗钻石的佛像,最大一颗钻石重达25克拉。
地址:Samdech Sothearos Blvd Central Phnom Penh The Royal Palace, btwn Ph 184 & Ph 240
开放时间:
7:30-11:00 14:30-17:00
5.奥翠斯海滩
奥翠斯海滩是西哈努克比较著名的海滩,沙质细腻、阳光充沛、海水清澈,海滩上种着椰子树,并且没有兜售货品人员,在这里一切都很舒适、享受。
地址: Ochheuteal Beach, Sihanoukville, Cambodia
开放时间: 全天
6.独立海滩
独立海滩是继胜利海滩之后又一处旅游胜地,比较胜利海滩更加干净,水质更好。随便找个饭店吃饭看海看日落,夜晚很安静很美好。
地址: 西哈努克柬埔寨西南部
开放时间: 全天
7.波哥国家公园
青山碧水郁郁葱葱的国家公园,半途而废的大型游乐中心,登山看看曾经想要建起的娱乐中心以及古旧的法式建筑,深入森林寻找可能已经非常罕见的野生动物,或是在合适的季节去看看瀑布。不论是想要体验一下登山的乐趣还是想要欣赏中法建筑在柬埔寨的奇妙碰撞,这里都值得一看。
地址: Preah Sihanouk, 柬埔寨
开放时间: 8:00-20:00
8.贡布老火车站
从贡布的金边路向城市的外面走,最后一个拐角处向右,就可看到古旧而有特色的贡布老火车站,大约出城1.5公里,是个适合写生拍照的地方,并且可以感受到柬埔寨独特的竹子火车。
地址: Kampot, 柬埔寨
开放时间: 8:00-20:00
9.沃耶农寺
是一座11世纪寺庙,部分建筑已经倒塌,但仍保有精美的浅浮雕,主寺庙的东入口门楣上有搅拌乳海图案,宗教氛围浓厚。 寺庙的周围是红土墙和古代蓄水池遗迹,这里也是高棉人最喜欢的野餐地和朝圣地,寺庙内许多僧人会说英语可以交流。
地址: Battambang, Cambodia
开放时间: 全天
10.Prasat Phnom Banon Winery
在马德望到农南巴山主路一片占地4公顷的葡萄园内,在此可参观柬埔寨唯一的葡萄酒厂。出产Banon牌红酒和白兰地,是很高级的品种,口感和回味极佳。旅客可参观葡萄园和酿酒厂并在花园内品尝红酒。
地址: Bot Sala Village, Battambang, Cambodia
开放时间: 6:00-18:00
5. 预防肠癌需几年做一次肠镜?
这里说的肠癌,基本上指的都是大肠癌,因为大肠癌占了所有肠癌的90%以上,而且大肠癌当中,又差不多90%以上都是结直肠癌。因此,我们平时提到肠癌,肠镜,基本上指的都是结直肠癌和结直肠境,而对于小肠癌,则要选择小肠镜,这点大家要先了解。那么我们说预防肠癌需要几年做一次肠镜呢?今天我就跟大家一起来聊一聊这个话题!
为什么我们要尤其重视肠癌的发病和预防?这当然离不开肠癌的发病率和死亡率,目前结直肠癌是我国常见的消化道恶性肿瘤,根据我国2019年最新发布的发病和死亡流行病学调查显示,结直肠癌的发病率及死亡率排在了前五,而且从目前发病情况来看,在过去十年里面,不仅没降反而出现了明显增加,而且日益年轻化,像我遇到过的最年轻的肠癌患者才20出头,正准备结婚,结果被查出肠癌晚期,后来为了不拖累女方,依然选择了放弃。当然,我们说肠癌发病率主要还是集中在40岁以上的,因此,相比其他年龄段的人群来说,40岁以上的人更要重视肠癌预防。
从整体的肠癌的发病人群比例来看,男的要比女的高发,这种差异大概在1.4—1.5:1。
其次,对于为何要重视肠癌的预防,还有一个很重要因素就是,我们说结直肠癌跟我们遗传因素有关,就是家里直系亲属有肠癌的,那么它未来发生肠癌的几率要远远大于其他正常人,但我们都知道这点是无法改变的,而之所以讲究肠癌的“防”,那就是因为它还有一些我们可控因素,即环境因素。
在环境因素里头,目前我们普遍认为跟我们大家平时生活方式、饮食结构是密切相关的,过去我们说吃肉少,但是现在随着生活水平提高,这跟老外比起来,肉吃的一点都不比人家少,什么汉堡,啥的,大家基本上可以看到这个店面都是爆满的,我们饮食结构早已经发生改变了,这高热量、高脂肪、高蛋白、低纤维素等饮食方式,早已经对我们肠道产生很大的影响,至少肠道负担相比以前是重的,在一定程度上,也是导致肠癌发病率逐年升高的一个原因。
所以,我们说为什么要重视肠癌的预防,最主要两点:一是跟我们生活息息相关,可防;二是发病率逐年增加,发病年龄呈现年轻化,需要引起大家去正视,去注意的问题了。
那么我们说该如何预防肠癌的发生?首先,大家要清楚,所谓的预防肠癌,不是说我告诉大家怎么去防,做了哪些检查之后,这就一定能100%防住所有的肠癌,这有时候有人就存在这样的误区,他说我每年按照你的体检建议去做相关肠癌的筛查,但是怎么还是最后被确诊为肠癌,甚至还是晚期。
为啥?
是我们医生说的有错吗?
其实不是这样的,这当中最主要的是因为我们对于肠癌的发病机制还不明确,目前我们只知道哪些因素会提高肠癌的发病率,但具体说一个人为什么会最终得肠癌,是还不清楚的,所以根本谈不上有什么方法可以百分百预防肠癌,如果有,那都是骗人的。
但是,我们说不能100%预防,不代表我们不需要去做这件事情,那么我们应该怎么去做?
很多人说回归以前生活方式,粗茶淡饭,这确实是一个饮食方面比较好的预防肠癌的方法,但是大家想想,你可能回归吗?实际上大部分人是做不到的,大城市生活饮食,还是大部分人会选择的生活方式,至少是年轻时候不会轻易放弃的,因此,让大能保持一个粗纤维的,粗茶淡饭的饮食,想法是好的,但是很多人是做不到的。
还有就是,环境因素改变,尤其是发展带来的一些环境污染,职业暴露,各种致癌物越来越多,我们同样知道,但是这个环境我们同样很难避免和排出去,尤其是要做到及时发现还是很难的。
因此,对于大部分来说,最好的预防肠癌方式应该是在自己相对健康的、习惯的饮食方式习惯去做,然后到了一定年龄段就应该积极找我们医生,比方40岁必须要找医生一次,然后45岁再找一次,50岁再找一下医生,如此积极,可能有不少大肠癌发生的情况就可以避免掉了!
那么我们说最靠谱早期发现肠癌方式是什么?预防肠癌需几年做一次肠镜?记住,早期发现早期肠癌,就是我们的肠镜检查,像其他一些一些无创性检查比如我们平时体检经常做的大便常规、大便潜血等等,都只是一个辅助手段,很容易发现不了,比方说有一些出血很少肠癌病人,你做大便潜血是看不出来的,那就更谈不上我们说发现肠癌通过便血来早期发现了,这主要是因为早期肠癌基本上没有什么典型的症状。而且像便后滴血往往是痔疮的可能性大一些。所以,不管你是大便表面带血,还是大便混有血,还必须要做肠镜检查。
但是现实生活中,肠镜因为和胃病一样,属于一个侵入性检查方式,因此很多人因为怕,而拒绝做这检查,我们国家肠镜检查率还不到10%,这离我们说的要达到55%,还相差甚远。
所以,预防肠癌,还必须先改变对肠镜认识,现在其实肠镜还有无痛的,睡一觉就完成了,大家完全没必要过于担心。
那么肠镜要多久做一次?
这得具体情况具体分析,没有固定答案。
比如你是在40岁以上开始做第一次肠镜检查,家里也没有肠癌家族史,也没有遗传的易感性,也没有溃疡性结肠炎,而且肠镜结果出来也看不到有肠息肉,没有一些肠癌的癌前病变,那么我们说,这你基本上可以5-10年再做一次。如果第二次、第三次检查还是很好,没有异常,那基本上后面可以不做了。
但是对于高发人群,那就不能像正常人那样,间隔那么长时间才做,对于有肠癌家族史、遗传易感性的,基本上3-5年就要做一次;
而像已经有炎症性肠病,有溃疡性结肠炎的病人,那就要更短,可能1-2年就要筛查一次,因为这类病人发生肠癌的几率是其他正常人的8-20倍以上,必须要定期严格随访。
最后我们说,大家比较关心的,那就是肠镜发现有息肉的,怎么办?
实际上,我们说息肉要看具体类型,不是所有肠道息肉都是容易癌变的,比较容易癌变的就是我们的结肠腺瘤样息肉,看到这个,我们医生也基本上会提醒你,1年后要复查,复查后没事,那么3年后还要接着复查,这复查间隔,要根据每次息肉变化来制定,而作为病人,要做的就是严格尊重医嘱。
还有一点要提醒的就是,对于肠镜检查早期发现早期肠癌,不是中老年人才需要的,准确来说40岁以上都是有必要的。
关于肠癌,大家如果还有什么疑问,可以下方留言,我坚持用大家看得懂的文字,最原始的码字方式给您带来最好、最全面、最实用的健康科普。如果你觉得不错,可以关注“医学小侦探”并转发哟,让身边更多的人受益!
6. 有哪些非常好玩非常有用的网站?
分享10个好玩还好用的网站,打开忍不住玩一天,绝对都是你不知道的冷门好网站!
01 可爱黑白简笔小人生成器一款可以生成各种黑白小人的网站,页面看起来超级可爱!
网站上有各种类型的黑白小人,你可以随意下载:
这些下载的小人,如果你下载的是SVG格式,可以在PPT中,或者AI等设计软件中,进行任意编辑!
只需要简单的拼在一起,加一个文字,就能做出不错的一页PPT:如果,你以为网站,只有这些,就太小它看了!在这个网站的隐藏角落,你还能给小人上色!轻松做出这样的页面:除了黑白,网站预设了很多,各种颜色,各个国家的人物:很多都有成组的,用在设计中,超级方便:如果,这些小人你都不满意,还能自己捏一个:超级方便,无论是用作自己的头像,或者设计中,都绝对惊艳!
网站上还有超多的插画小人,不一一说了,总之,设计师和运营者们,答应我,保存下来,你总会用到!这个网站的不太好找,不过网址我都准备好了,关注我的微信公众号@旁门左道PPT,回复关键词【好玩有用】即可获取~02 文字云生成器一个帮你生成文字云的小众免费网站。很有用!
利用这个网站,我们可以轻松做出超赞的文字云PPT页面,就像这样:
是不是很不错,超级简单就能搞定!按照提示傻瓜式操作就行了!写入你想输入的文字,比如一些流行语:接着选择自己想要的形状,网站上自己有很多形状可以选择,当然你也可以自己上传~选择完成字体,以及布局,风格后,点击生成,便可以轻松生成这样的图片:接下来,下载PNG素材就行了,超级方便!而且自定义程度很高哦!生成的内容,随意放入PPT中,都足够精彩,做一些年终工作总结的时候,不要太出彩!值得收藏!03 妖精生成器一个可以让你看到各种各样妖精的网站!
这个妖精生成器网站上,你可以看到从古至今的所有妖精!并且在不断的更新中,你可以看到每一个的出处,含义,样子等等:还有好多有趣的妖精,这个网站,可以很大程度上,让我们不在害怕,选择直面!如果家里有孩子的,可以跟孩子一起看,一遍讲解,让孩子获取更多知识!04 发散光生成器设计师必备的一款免费发散光生成器网站!
超级简单的小网站,你只需要简单的调节网站上的一些参数,便可以轻松完成一张海报设计,比如小米的这张海报:当然,你也可以随意生成一张图片,简单放上文字,就能做出一页还不错的PPT哦!一个小背景,让你的设计增加色彩!网站是动态的,你还可以录制动图或者视频哦,作为动态的背景,更加吸睛!这篇文章里的所有网站,我也都给大家准备好了,关注我的微信公众号@旁门左道PPT,回复关键词【好玩有用】,即可获取~
05 藏头诗生成器一个很有趣的藏头诗生成器网站:
网站使用也超级简单,输入你想要隐藏的文字,就能自动生成了!咳咳,我已经在暗示了,赶快点赞吧~
很多人,可能会好奇,这个网站能干啥,给各位看一个我的公众号读者的留言:因为他每天都会来留言区打卡,所以我成功的记住了他!当然,这位读者所有的诗歌,都是自己写的哦~如果你的文学水平跟我一样有限,不妨试试这个藏头诗生成器!也能直接勾搭很多号主哦!06 插画生成器一个超实用的,帮助我们生成插画的生成器网站。
你可以轻松的生成各种有趣的小人插画,可以对单个人的形象进行调整:还能给她营造不同的场景和氛围:各种小家具,小物件,都可以随意拖拽摆放:轻松生成一副专属于你自己的插画,用在想用的地方,发朋友圈,或者做设计图使用,都完全没问题!我的日常,哈哈~这篇文章分享了很多冷门的国外网站,可能不太好找,不过,网址我都给大家准备好了,关注我的微信公众号@旁门左道PPT,回复关键词【好玩有用】即可获取~
07 一键抠图神器一个帮助我们实现轻松抠图的免费生成器。
它可以很方便地帮我们把图片的背景给去掉,只保留主体物:免费的同时,质量一点都不含糊!只需要点击删除你的图片:接着,网站AI自动抠图,超级方便,重要的是,连头发丝都能给你完整抠出来:这样抠出来的图片,用在设计中,绝对顶呱呱!08 狗屁文章生成器一个生成狗屁文章的生成器网站:
使用也超级简单,输入一个主题,瞬间给你生成一篇文章,比如我输入一个:我对钱不感兴趣,瞬间完成一篇文章:保底这个文章有5000字吧:而且,你不喜欢,可以一直给你生成,直到你选择自己满意的!那这个网站有啥用呢?比如领导让你写6000字的检讨时..或者,回答这样的知乎问题是:哈哈哈,不说了,回答去~怎么样?是不是都是有趣又好玩的网站,网站都给你了,能不能换个赞~最后,大家不要忘记领取这些网站的网址,关注我的微信公众号@旁门左道PPT,回复关键词【好玩有用】即可获取~如果你对我的内容感兴趣的话,也可以关注我的头条号@旁门左道PPT
7. 如何学编程?
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。编程能提高逻辑思维能力,加强计算能力。
编程语言
Python
Python是一种面向对象有着代码简洁、可读性强特点的解释型计算机程序设计语言。代码简洁是因为它把许多的复杂的操作封装起来,将C语言中麻烦的指针和内存管理对开发者隐藏起来,使得在开发过程中,无须在意这部分的细节。另外Python这门语言强制用户用缩进进行排版,若不好好排版,则代码编译无法通过,或者运行过程会出现错误。
C语言
C语言是一门面向过程的、抽象化的广泛应用于底层开发的通用程序设计语言,能以简易的方式编译和处理低级存储器。C语言既具有高级语言的特点,又具有汇编语言的特点,是仅产生少量机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
是有简洁的语言、具有结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序。
Java
Java通过面向作为静态对象的编程语言的代表,可以充分的实现面向的对象理论的编程语言,有简单性、功能强大、分布式、健壮性、安全性、平台独立与可移植性、多线程及动态性的特点。
Java支持在网络上应用,Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,它是分布式语言。所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
PHP
PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。
使用 PHP 的最大的好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性,只需几个小时就可以自己写一些简单的脚本。尽管 PHP 的开发是以服务端脚本为目的,但事实上其功能远不局限于此。
GO
Go语言(又称 Golang)是一种静态强类型、编译型语言,是一个开源编程环境,可以轻松构建简单、可靠和高效的软件。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。
对比
python和c语言的区别主要体现在:语言类型、内存管理、速度、应用、运行、对象、声明、测试和调试难度、复杂度、学习程度。 测试和调试难度不同:Python相对其他语言而言是非常简单的语言,高度集成,代码量少。Python中的测试和调试更容易;C中测试和调试更难。 学习难度不同:Python:Python程序更易于学习,编写和阅读;C语言:C程序语法比Python更难。
python 跟 java 一样是强类型语言,也就是说它不会根据环境变化自动改变数据类型。python 是动态语言,而 java 是静态语言。也就是说 python 在编程时,永远不用给任何变量指定数据类型,而 java 写程序时必须声明所有变量的数据类型。
python 的模块类似于 java 的 class,不过python模块导入会执行 代码的内容,而 java 不会。python 与 java 的执行方式还是蛮像的,都是将源码编译成 byte code 然后交给相应的虚拟机去执行。
Python的框架数量较少,而PHP中成熟的框架比较多;PHP是面向web的语言,而Python是多用途语言,也可以用于web开发;Python使用非常严格的缩进强制执行,使它比PHP更具可读性。
学习思路
认识编程
编程语言(programming language)又称程序设计语言,是一组用特定语言编写的用于执行特定任务的指令。主要用于开发桌面应用、操作系统、网站、移动应用等。
低级编程语言
它基于二进制数 0 和 1 工作,处理器直接运行低级程序,不需要编译器或解释器,因此用低级语言编写的程序可以运行得非常快。
低级语言进一步分为两部分
机器语言
机器语言也称为机器代码或目标代码,更容易阅读,因为它通常以二进制或十六进制形式(基数 16)形式显示。
它不需要翻译器来转换程序,因为计算机直接理解机器语言程序。
汇编语言
汇编语言是为特定处理器设计的,它以象征性和人类可理解的形式表示一组指令。它使用汇编程序将汇编语言转换为机器语言。
中级编程语言
中级编程语言介于低级编程语言和高级编程语言之间。
它也被称为中间程序语言和伪语言。
中级编程语言的优点是支持高级编程的特性,是一种用户友好的语言,与机器语言和人类语言密切相关。
例如:C、C++
高级编程语言
高级编程语言 (HLL) 旨在开发用户友好的软件程序和网站。
这种编程语言需要编译器或解释器将程序翻译成机器语言(执行程序)。
示例:Python、Java、JavaScript、PHP、C#、C++ 等。
编程实践
学习编程语言的过程简单描述为:过、抄、仿、改、调、看、练、创、悟。
过
基础知识点不求深解,语言什么样的,适用场合、基本语法格式
抄代码
从书上抄、例子中抄、边抄边想边想边回忆语法
模仿改
仿照给出的代码写出自己的代码
勤调试
不断调试验证自己想法,继续思考,再次验证。熟悉调试工具调试方法
看n遍
出错或者遇到问题时,将代码从头到尾看n遍直到快记住,找出问题原因
练
2-5步三遍以上
创新
拿出一个没有写过的根据要求,一步一步写出来,写不出来参考6
悟
主动找到写代码的感觉和成就感,保持下去。
选择大于努力,只有切入一个适合自己的开发方向,才能持续进步。关于开发方向,我有以下两个选择标准。
兴趣
学习编程是一个非常枯燥的过程,内容多,时间长,成本高,即使报名了培训班也学不会,所以,我们首先要选择自己感兴趣的一个开发方向,这样不但能快速学习,以后还能持续进步。学习编程的过程是比较艰苦的,没有兴趣很难硬抗下来,此处的兴趣,是指别人无法撼动的热爱,是工作之余让你放松的事情。如果你只是有过某种想法,别人告诉你这个想法不靠谱,你就放弃了,这顶多是一时的鸡血。
学习方式
费曼学习法
在学完一个东西之后去给别人讲明白,注意是讲给别人听,当你写成文章发表在网上的时候,你自然会去用更通俗的语言,更清晰的逻辑去讲述这个事物背后的逻辑。这个过程是对自己学习的一个检验,也是加深映像整理思路的重要过程。
那么如果你是去记笔记的话,很有可能你会倾向于去照抄,或是不完全照抄,以“提纲”或是“知识点”的形式抄在本子上。说句实话,照抄的笔记真的没用,因为现在搜索引擎的能力已经可以让你把大多数东西快速找到,你为什么还要照抄到笔记本上呢?
从功利的角度考虑,技术文章的写作,别人可以直接访问,也可以逐渐累积你的影响力,一个好的个人技术博客,会给你的简历加分很多,而一个厚厚的笔记本,没有人会管你记了什么。
做好笔记
大多数人没有过目不忘的神技,学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。编程的过程中总会遇到各种各样的问题,比如编程环境的配置,常用的快捷键,编程过程中的错误、异常,软件更新问题等等。面对这些问题都是如何解决的,一定要记录下来,一是增加自己解决问题的经验,而是以防下次出现。
多看官方文档
外文资料互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。
进入行业圈子
只有进入行业圈子与其他人交流,你才了解最新的行业动态,才知道自己需要更新哪些技能。
动手做项目
学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。而且开发前也最好在网上查一下有没有已经成型的框架或模板,什么都自己做一是很耗费时间,二是自己技术能力不足还可能留下不少坑。
学习Python
安装编程环境
第一步:访问Python官网,获取最新安装程序。
第二步:运行下载的安装程序,注意勾选“Add Python3.7 to PATH”,然后选择个性化安装,即“Customize installation”。
第三步:确保“pip”被勾选上,之后安装各种库需要用到pip。
第四步:高级选项,需要的可以修改安装目录,通常没有需要修改的,直接点“Install”。
第五步:等待程序自动安装完成。
第六步:出现如下界面,说明安装已完成。
第七步:验证方法,Windows+R 键打开“运行”窗口,输入cmd运行,进入命令提示窗口,再输入python,进入Python的命令模式,输入 print("Hello"),结果输出了 Hello,如下图所示,确定开发环境已安装完成。
运行环境
Hello World!
命令行
在Linux命令行输入:$python
将直接进入python。然后在命令行提示符>>>后面输入:>>>print('Hello World!')
可以看到,随后在屏幕上输出:
Hello World!
print是一个常用函数,其功能就是输出括号中得字符串。
(在Python 2.x中,print还可以是一个关键字,可写成print 'Hello World!',但这在3.x中行不通 )
小程序
另一个使用Python的方法,是写一个Python程序。用文本编辑器写一个.py结尾的文件,比如说hello.py
在hello.py中写入如下,并保存:print('Hello World!')
退出文本编辑器,然后在命令行输入:$python hello.py
来运行hello.py。可以看到Python随后输出Hello World!
脚本
我们还可以把Python程序hello.py改成一个可执行的脚本,直接执行:#!/usr/bin/env python
print('Hello World!')
需要修改上面程序的权限为可执行:chmod 755 hello.py
然后再命令行中,输入./hello.py
就可以直接运行了。
基本数据类型
变量不声明
Python的变量不需要声明,你可以直接输入:>>>a = 10
那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数)。 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。
>>>print(a)
>>>print(type(a))
那么会有如下输出:
10
这里,我们学到一个内置函数type(),用以查询变量的类型。
回收变量名
如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。
>>>a = 1.3
>>>print(a,type(a))
会有如下输出
1.3
序列
sequence(序列)是一组有顺序的元素的集合,(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)序列可以包含一个或多个元素,也可以没有任何元素。
我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。
序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)
>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple
>>>s2 = [True, 5, 'smile'] # s2是一个list
>>>print(s1,type(s1))
>>>print(s2,type(s2))
tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。
一个序列作为另一个序列的元素
>>>s3 = [1,[3,4,5]]
空序列
>>>s4 = []
自学
网站
菜鸟网站
这个python教程很适合小白学习,没有高深的原理,照着教程学就完事了。
菜鸟教程是一个提供免费编程学习的网站,里面不但能学到编程知识,还能运用在线编程工具,使你在学习的过程中得到发挥,实践得真理,边学边做中让基础打得更稳,让自己的知识更加稳固。在自己有不明白不理解的地方可以在网站的用户笔记中寻找大佬们的笔记,把自己所学和技术大佬的经验所融合,使自己更好地提升自己的能力。
菜鸟教程内容丰富,例如前端热门语言HTML5、CSS3、JavaScript、Vue等它该有的都有,都会从最基础的开始教,让刚学编程的小白由浅及深,一看就懂。每个知识点都有实例可以动手,直接在页面内做你想要的效果真的非常棒。菜鸟的排版简洁清晰有序,内容一针见血,让你一看就能明白其知识点的含义。
菜鸟教程不仅前端教程语言丰富,后端的Java、PHP、Python更是一应俱全,当然数据库、移动端、XML、ASP.NET、Web Service、开发工具和网站建设也是应有尽有,菜鸟教程有学到的知识如此之多,奋斗吧少年。
廖雪峰的官方网站
廖雪峰的官方网站比较推荐新手程序员学习前端,这个网站的教学视频的讲解相对来说会比较生动,没有其他教程那么死板,看起来也不至于那么犯困,也更便于新手去理解。总的来说,廖雪峰的官方网站作为一款启蒙类的前端学习网站还是相当不错的。
Python官方教程
这是Python官方出品的教程,可搭配Python标准库一起学。
书籍
《Python编程从入门到实践(第2版)》
作者:埃里克·马瑟斯 (EricMatthes)袁国忠 译
ISBN:9787115546081
出版:人民邮电出版社
本书是针对所有层次Python读者而作的Python门书。全书分两部分:部分介绍用Python编程所必须了解的基本概念,包括强大的Python库和工具,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何发三个项目,包括简单的2D游戏、利用数据生成交互式的信息图以及创建和定制简单的Web应用,并帮助读者解决常见编程问题和困惑。
《像计算机科学家一样学Python》
ISBN:9787115425515
作者:艾伦 B. 唐尼(Allen B. Downey)
出版:人民邮电出版社
本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。全书共21章,详细介绍Python语言编程的方方面面。本书从基本的编程概念始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义,引领读者循序渐地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。
《计算机科学丛书:Java编程思想》
ISBN:9787111213826
作者:[美] Bruce Eckel
出版:机械工业出版社
本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的好教材和参考书。
《疯狂Java讲义》
ISBN:9787121361586
作者:李刚
出版:电子工业出版社
《疯狂Java讲义(第4版)》深入介绍了Java编程的相关方面,《疯狂Java讲义(第4版)》内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口。本书重点介绍了Java 9的模块化系统,还详细介绍了Java 9的jshell工具、多版本JAR包、匿名内部类的菱形语法、增强的try语句、私有接口方法,以及Java 9新增的各种API功能。
%3Chowto_content%3E[{"type":"paragraph","attrs":{"is_abstract":true},"children":[{"type":"text","text":"编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程","id":""},{"type":"text","text":"。编程能提高逻辑思维能力,加强计算能力。","id":""}],"text":"","id":"WceadiusyoyOwaxoNSsceBGjnVd"},{"type":"heading","attrs":{"level":1},"children":[{"type":"text","text":"编程语言","id":""}],"text":"","id":"Oqa2diWSioCqoexAhV7cd5qbnLd"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"Python","id":""}],"text":"","id":"RYCIdicsYoyiUgx6drTcXYVMn4d"},{"type":"paragraph","children":[{"type":"text","text":"Python是一种面向对象有着代码简洁、可读性强特点的解释型计算机程序设计语言。代码简洁是因为它把许多的复杂的操作封装起来,将C语言中麻烦的指针和内存管理对开发者隐藏起来,使得在开发过程中,无须在意这部分的细节。另外Python这门语言强制用户用缩进进行排版,若不好好排版,则代码编译无法通过,或者运行过程会出现错误。 ","id":""}],"text":"","id":"SeiEdQ4GAoc8Koxm6Oucd3MonOb"},{"type":"image","attrs":{"height":701,"note":[{"type":"text","text":"Python","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/aeaa7b58948c4124bd69b6417e51906a","width":1563},"text":"","id":"DSA6demiCo8YmgxGYDmcdbmenQf"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"C语言","id":""}],"text":"","id":"RKKodkW2Wo0muoxaYdScS9gDnse"},{"type":"paragraph","children":[{"type":"text","text":"C语言是一门面向过程的、抽象化的广泛应用于底层开发的通用程序设计语言,能以简易的方式编译和处理低级存储器。C语言既具有高级语言的特点,又具有汇编语言的特点,是仅产生少量机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。","id":""}],"text":"","id":"WkgAdki6koYcsSxzF93csMeynCk"},{"type":"paragraph","children":[{"type":"text","text":"是有简洁的语言、具有结构化的控制语句、丰富的数据类型、丰富的运算符、可对物理地址进行直接操作、代码具有较好的可移植性、可生成高质量、目标代码执行效率高的程序。","id":""}],"text":"","id":"FkCQdiCsmo40iqxg7ujcPBy9nHe"},{"type":"image","attrs":{"height":806,"note":[{"type":"text","text":"C语言","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/6f859719f77941aea4a29e7119f20a7f","width":1603},"text":"","id":"ME8ad6QuAoiWo2xe8zCc3gXrnog"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"Java","id":""}],"text":"","id":"FWK8d2GSUoMME2xUxHzc8kMYnQR"},{"type":"paragraph","children":[{"type":"text","text":"Java通过面向作为静态对象的编程语言的代表,可以充分的实现面向的对象理论的编程语言,有简单性、功能强大、分布式、健壮性、安全性、平台独立与可移植性、多线程及动态性的特点。 ","id":""}],"text":"","id":"TeIod6souoE4EkxgjEfcOZkLnoc"},{"type":"paragraph","children":[{"type":"text","text":"Java支持在网络上应用,Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,它是分布式语言。所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。","id":""}],"text":"","id":"Te4udsisCoK44gxMpuPcDy11nfd"},{"type":"image","attrs":{"height":839,"note":[{"type":"text","text":"Java","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/0e1656925be54be393b49dc2e2ac7b80","width":1893},"text":"","id":"SUW6d0aw2oskC4x2FMSc3WhNnRg"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"PHP","id":""}],"text":"","id":"Ic6kdo08aoY4GuxeY6Qc3Z8nnNe"},{"type":"paragraph","children":[{"type":"text","text":"PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。","id":""}],"text":"","id":"IwQ8dKQCeoGAmixqM7BcXdgUnAd"},{"type":"paragraph","children":[{"type":"text","text":"使用 PHP 的最大的好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性,只需几个小时就可以自己写一些简单的脚本。尽管 PHP 的开发是以服务端脚本为目的,但事实上其功能远不局限于此。","id":""}],"text":"","id":"DW0Odakc6ouW6Kxu6kPcdPF3nZd"},{"type":"image","attrs":{"height":648,"note":[{"type":"text","text":"PHP","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/300a2e3c7e954e7b8def92163c3f3673","width":1828},"text":"","id":"Naq2duscgogQ2oxYjg2cosy1nEe"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"GO","id":""}],"text":"","id":"CwWwdCYeAoMuMuxCiNpcqJKpnRg"},{"type":"paragraph","children":[{"type":"text","text":"Go语言(又称 Golang)是一种静态强类型、编译型语言,是一个开源编程环境,可以轻松构建简单、可靠和高效的软件。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。","id":""}],"text":"","id":"SIY6dO8ecoGoOOxmUVPcViIAnxb"},{"type":"image","attrs":{"height":772,"note":[{"type":"text","text":"GO","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/3a879bbdd4b64d2b9b54d3f7358e7ed3","width":1522},"text":"","id":"GuiUdc6UCoKUWGxaCogc2jcrnFe"},{"type":"heading","attrs":{"level":1},"children":[{"type":"text","text":"对比","id":""}],"text":"","id":"EGqmdKMsGogUeexukQ5cA2wTnQf"},{"type":"paragraph","children":[{"type":"text","text":"python和c语言的区别主要体现在:语言类型、内存管理、速度、应用、运行、对象、声明、测试和调试难度、复杂度、学习程度。 测试和调试难度不同:Python相对其他语言而言是非常简单的语言,高度集成,代码量少。Python中的测试和调试更容易;C中测试和调试更难。 学习难度不同:Python:Python程序更易于学习,编写和阅读;C语言:C程序语法比Python更难。","id":""}],"text":"","id":"HEyKduA4Iow6Kwx8ZiCcPQaVnHd"},{"type":"paragraph","children":[{"type":"text","text":"python 跟 java 一样是强类型语言,也就是说它不会根据环境变化自动改变数据类型。python 是动态语言,而 java 是静态语言。也就是说 python 在编程时,永远不用给任何变量指定数据类型,而 java 写程序时必须声明所有变量的数据类型。","id":""}],"text":"","id":"I6yAdOUQqoQSIYxs7XVcPwlSnMe"},{"type":"paragraph","children":[{"type":"text","text":"python 的模块类似于 java 的 class,不过python模块导入会执行 代码的内容,而 java 不会。python 与 java 的执行方式还是蛮像的,都是将源码编译成 byte code 然后交给相应的虚拟机去执行。","id":""}],"text":"","id":"VmgOds4Ceoi0KoxGa8nc0GLDneb"},{"type":"paragraph","children":[{"type":"text","text":"Python的框架数量较少,而PHP中成熟的框架比较多;PHP是面向web的语言,而Python是多用途语言,也可以用于web开发;Python使用非常严格的缩进强制执行,使它比PHP更具可读性。","id":""}],"text":"","id":"MW22d02SsoU2oYxesy1cIEfsnYb"},{"type":"paragraph","children":[{"type":"text","text":"","id":""}],"text":"","id":"SA4kdwiSIoMW42xCGzDcMMyXnfe"},{"type":"heading","attrs":{"level":1},"children":[{"type":"text","text":"学习思路","id":""}],"text":"","id":"ECkydGqiIoEmKoxQzshckC4rncd"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"认识编程","id":""}],"text":"","id":"IkSQdA02Ko64KKxoHAGc6cEwnIb"},{"type":"paragraph","children":[{"type":"text","text":"编程语言(programming language)又称程序设计语言,是一组用特定语言编写的用于执行特定任务的指令。主要用于开发桌面应用、操作系统、网站、移动应用等。","id":""}],"text":"","id":"HM2udQ0giowuekxoV1kchShynhc"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"低级编程语言","id":""}],"text":"","id":"CkEQdgiGooaKGaxesABch5T1nlh"},{"type":"paragraph","children":[{"type":"text","text":"它基于二进制数 0 和 1 工作,处理器直接运行低级程序,不需要编译器或解释器,因此用低级语言编写的程序可以运行得非常快。","id":""}],"text":"","id":"UgoMde6QIou8yAxambScEu1vnOb"},{"type":"paragraph","children":[{"type":"text","text":"低级语言进一步分为两部分","id":""}],"text":"","id":"ASy6dMoGooWsKaxeCDAcTUajnde"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"机器语言","id":""}],"text":"","id":"Z8MKdYOOmoucO0xai2uc1TUKnTd"},{"type":"paragraph","children":[{"type":"text","text":"机器语言也称为机器代码或目标代码,更容易阅读,因为它通常以二进制或十六进制形式(基数 16)形式显示。","id":""}],"text":"","id":"RIgMdsykeoaykIxawjVcRE7HnXf"},{"type":"paragraph","children":[{"type":"text","text":"它不需要翻译器来转换程序,因为计算机直接理解机器语言程序。","id":""}],"text":"","id":"LMsSdcWGsooA00xgzJUcR80Inuf"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":" 汇编语言","id":""}],"text":"","id":"Xi0gdKkgGo0oKYxE0vacrHAtngb"},{"type":"paragraph","children":[{"type":"text","text":"汇编语言是为特定处理器设计的,它以象征性和人类可理解的形式表示一组指令。它使用汇编程序将汇编语言转换为机器语言。","id":""}],"text":"","id":"GYOQdMKQuoGkoExyYdkcuU2anIf"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"中级编程语言","id":""}],"text":"","id":"RGmIdsSwmoY8A2x89NUcdbWbnjg"},{"type":"paragraph","children":[{"type":"text","text":"中级编程语言介于低级编程语言和高级编程语言之间。","id":""}],"text":"","id":"Q822d2sssoQQGYxAzK6c9GqFnbd"},{"type":"paragraph","children":[{"type":"text","text":"它也被称为中间程序语言和伪语言。","id":""}],"text":"","id":"BuG2d8s6AoiIWCxGQt1cGdbgneg"},{"type":"paragraph","children":[{"type":"text","text":"中级编程语言的优点是支持高级编程的特性,是一种用户友好的语言,与机器语言和人类语言密切相关。","id":""}],"text":"","id":"FIg6dMMGaoYSu0xSyhpcKu46nPh"},{"type":"paragraph","children":[{"type":"text","text":"例如:C、C++","id":""}],"text":"","id":"LK8sduKWaoa0oUxQXspcudVbnid"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"高级编程语言","id":""}],"text":"","id":"FaYsdG0KqoOGW6xa4u0c0UQVn9c"},{"type":"paragraph","children":[{"type":"text","text":"高级编程语言 (HLL) 旨在开发用户友好的软件程序和网站。","id":""}],"text":"","id":"Rsi4dE64WoykEkxzYAIcCNc8nbH"},{"type":"paragraph","children":[{"type":"text","text":"这种编程语言需要编译器或解释器将程序翻译成机器语言(执行程序)。","id":""}],"text":"","id":"IOqmdGCEcoeC2wxXJElc68FsnvL"},{"type":"paragraph","children":[{"type":"text","text":"示例:Python、Java、JavaScript、PHP、C#、C++ 等。","id":""}],"text":"","id":"CgagdYoyyoQMCwxJ65zcUJF6ntC"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"编程实践","id":""}],"text":"","id":"KGCQdQuyyoIu8Cx8DxYcWwFGnXf"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"学习编程语言的过程简单描述为:过、抄、仿、改、调、看、练、创、悟。","id":""}],"text":"","id":"JUUOdqi2Ko6mSix0qMBcv94pnAb"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"过","id":""}],"text":"","id":"HqSsduwsUoqSamxyGKWcWlLqnDd"},{"type":"paragraph","children":[{"type":"text","text":"基础知识点不求深解,语言什么样的,适用场合、基本语法格式","id":""}],"text":"","id":"XO0mdIAcMoOisgxuAb6cTIvHn9I"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"抄代码","id":""}],"text":"","id":"ZwqWdC2AioWsWGxNBikcRf0unBf"},{"type":"paragraph","children":[{"type":"text","text":"从书上抄、例子中抄、边抄边想边想边回忆语法","id":""}],"text":"","id":"XQWmdmoMcoQ82axuI6Lcjb6knDe"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"模仿改","id":""}],"text":"","id":"WOc0dUWuAogWYAx8vZycJ1OYnfd"},{"type":"paragraph","children":[{"type":"text","text":"仿照给出的代码写出自己的代码","id":""}],"text":"","id":"Iokkd0EewoMSMuxqCAKch8tRnZf"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"勤调试","id":""}],"text":"","id":"CCIsd2secoIAiOxUXGhcQ55Mncc"},{"type":"paragraph","children":[{"type":"text","text":"不断调试验证自己想法,继续思考,再次验证。熟悉调试工具调试方法","id":""}],"text":"","id":"Sg8CdMOy8oMyysxC0jyc1mzunff"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"看n遍","id":""}],"text":"","id":"UW4Id0cOooa6EAxIro7c3bT5nle"},{"type":"paragraph","children":[{"type":"text","text":"出错或者遇到问题时,将代码从头到尾看n遍直到快记住,找出问题原因","id":""}],"text":"","id":"ROsUdMEyQoewGUxB0JWcntn7nh6"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"练","id":""}],"text":"","id":"Ag2EdIGQQowSOOxRfD2cRMnOnNl"},{"type":"paragraph","children":[{"type":"text","text":"2-5步三遍以上","id":""}],"text":"","id":"D8eod4eqmoEUcQx0XNVcgNE9n7Z"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"创新","id":""}],"text":"","id":"JqU2damiUoQm4CxUSSDcpg16nAn"},{"type":"paragraph","children":[{"type":"text","text":"拿出一个没有写过的根据要求,一步一步写出来,写不出来参考6","id":""}],"text":"","id":"DIeidUEkooIGGWxmAUQcWltanhh"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"悟","id":""}],"text":"","id":"V4ikdSQY4oacQWxQ3RocOJTbnQc"},{"type":"paragraph","children":[{"type":"text","text":"主动找到写代码的感觉和成就感,保持下去。","id":""}],"text":"","id":"ZOCqd80k8oi8GgxkFcUcGuxan6b"},{"type":"paragraph","children":[{"type":"text","text":"选择大于努力,只有切入一个适合自己的开发方向,才能持续进步。关于开发方向,我有以下两个选择标准。 ","id":""}],"text":"","id":"R620d6Qwko6O4gxeS37cRQxjnwd"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":" 兴趣","id":""}],"text":"","id":"WCkGd64Gwo6UcqxoV8Icg1G8nCf"},{"type":"paragraph","children":[{"type":"text","text":"学习编程是一个非常枯燥的过程,内容多,时间长,成本高,即使报名了培训班也学不会,所以,我们首先要选择自己感兴趣的一个开发方向,这样不但能快速学习,以后还能持续进步。学习编程的过程是比较艰苦的,没有兴趣很难硬抗下来,此处的兴趣,是指别人无法撼动的热爱,是工作之余让你放松的事情。如果你只是有过某种想法,别人告诉你这个想法不靠谱,你就放弃了,这顶多是一时的鸡血。","id":""}],"text":"","id":"BgqEdSkuMoqmqExFM9Dc7lBYnmk"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"学习方式","id":""}],"text":"","id":"FG6OdgEWAosIcexYLUecc900nLd"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"费曼学习法","id":""}],"text":"","id":"FOYAdYUk6oEk4gx7u0ycaoPsnEy"},{"type":"paragraph","children":[{"type":"text","text":"在学完一个东西之后去给别人讲明白,注意是讲给别人听,当你写成文章发表在网上的时候,你自然会去用更通俗的语言,更清晰的逻辑去讲述这个事物背后的逻辑。这个过程是对自己学习的一个检验,也是加深映像整理思路的重要过程。","id":""}],"text":"","id":"EyYWdScu2o0ca2xIRdgcR5k2nnd"},{"type":"paragraph","children":[{"type":"text","text":"那么如果你是去记笔记的话,很有可能你会倾向于去照抄,或是不完全照抄,以“提纲”或是“知识点”的形式抄在本子上。说句实话,照抄的笔记真的没用,因为现在搜索引擎的能力已经可以让你把大多数东西快速找到,你为什么还要照抄到笔记本上呢?","id":""}],"text":"","id":"HSu4dusiqoIcCcxCOhTccQL5n3e"},{"type":"paragraph","children":[{"type":"text","text":"从功利的角度考虑,技术文章的写作,别人可以直接访问,也可以逐渐累积你的影响力,一个好的个人技术博客,会给你的简历加分很多,而一个厚厚的笔记本,没有人会管你记了什么。","id":""}],"text":"","id":"SOUSdQWIoo6OMYxIldZcuIU9nKh"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"做好笔记","id":""}],"text":"","id":"SUoEdyCk0oOa2Ux2lGlcxcJKnXd"},{"type":"paragraph","children":[{"type":"text","text":"大多数人没有过目不忘的神技,学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。编程的过程中总会遇到各种各样的问题,比如编程环境的配置,常用的快捷键,编程过程中的错误、异常,软件更新问题等等。面对这些问题都是如何解决的,一定要记录下来,一是增加自己解决问题的经验,而是以防下次出现。","id":""}],"text":"","id":"OGGwdgoU0oca0gxamqlcZ7HVnCf"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"多看官方文档","id":""}],"text":"","id":"HqyKdYYu8oU6QCxKmzicQi2qnxb"},{"type":"paragraph","children":[{"type":"text","text":"外文资料互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。","id":""}],"text":"","id":"FGkAdKUGioyu6OxiQ7pcForVnXc"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"进入行业圈子","id":""}],"text":"","id":"OEwIdSQ4EoK0U8xHbsJcVXchnCw"},{"type":"paragraph","children":[{"type":"text","text":"只有进入行业圈子与其他人交流,你才了解最新的行业动态,才知道自己需要更新哪些技能。","id":""}],"text":"","id":"XqkadOImEoakm4xCGrscdtHOnrg"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"动手做项目","id":""}],"text":"","id":"SMIQdeS4Qo60gKxSE1qcpjf9n1b"},{"type":"paragraph","children":[{"type":"text","text":"学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。而且开发前也最好在网上查一下有没有已经成型的框架或模板,什么都自己做一是很耗费时间,二是自己技术能力不足还可能留下不少坑。","id":""}],"text":"","id":"E8SSdsQksoOykkxq8qhc2D9UnPh"},{"type":"heading","attrs":{"level":1},"children":[{"type":"text","text":"学习Python","id":""}],"text":"","id":"Noeodu46Eoyg4Oxcz2Lcvsh6nWf"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"安装编程环境","id":""}],"text":"","id":"Ucwad8wU0omK2YxUmNnc76Pjneb"},{"type":"paragraph","children":[{"type":"text","text":"第一步:访问Python官网,获取最新安装程序。","id":""}],"text":"","id":"CIWwdiUucoGM4Axe1XscufX4npb"},{"type":"image","attrs":{"height":253,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/6243e00debbc4a70b8dc277fa202d4e3","width":500},"text":"","id":"ZAUEdiiUoockeYx4FwFcKNmVnsb"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第二步:运行下载的安装程序,注意勾选“Add Python3.7 to PATH”,然后选择个性化安装,即“Customize installation”。","id":""}],"text":"","id":"DikMdkUMeoIIwOxEFNjcgKC8nfb"},{"type":"image","attrs":{"height":308,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/61c8842e690b42fc8de3ab3bce410252","width":500},"text":"","id":"VeISdQwCcogI8yxKqjrcxkXBnXf"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第三步:确保“pip”被勾选上,之后安装各种库需要用到pip。","id":""}],"text":"","id":"JakkdcOG8omkoCxUt62cPMoinKb"},{"type":"image","attrs":{"height":308,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/257a0f4181604843b6b89e1ab0d338fc","width":500},"text":"","id":"HQUGdykoMoSUmGxymgjcOwounzg"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第四步:高级选项,需要的可以修改安装目录,通常没有需要修改的,直接点“Install”。","id":""}],"text":"","id":"U8gUdO22So4GWMxk5AAcYxhgnwd"},{"type":"image","attrs":{"height":308,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/a0bb9ea7ffad45d5aeef1f09f1dde2a4","width":500},"text":"","id":"IGQwdQag4oi06uxWuyacQYQAnwe"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第五步:等待程序自动安装完成。","id":""}],"text":"","id":"ZqiadCqiEoWewYx0AC8cBcnTneh"},{"type":"image","attrs":{"height":308,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/a46cba8c1cc64627a6bcb5bf991fe3f9","width":500},"text":"","id":"EmCWd0sMaoowOIxuA2lctZeXn8e"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第六步:出现如下界面,说明安装已完成。","id":""}],"text":"","id":"CSiudKqaqomAkcx2B6tcVnpGnPd"},{"type":"image","attrs":{"height":308,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/379805f0786b447583f0a32c4d573b32","width":500},"text":"","id":"UiCYdig0KoeIUWx049tcMB6bn6f"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""},{"type":"text","text":"第七步:验证方法,Windows+R 键打开“运行”窗口,输入cmd运行,进入命令提示窗口,再输入python,进入Python的命令模式,输入 print(\"Hello\"),结果输出了 Hello,如下图所示,确定开发环境已安装完成。","id":""}],"text":"","id":"Lmoede4cuoEwQKxmabGcMLaXnXf"},{"type":"image","attrs":{"height":261,"note":[{"type":"text","text":"安装编程环境","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/f84920cc98b14ad9beb9aae12c2e06f7","width":500},"text":"","id":"MsIgduUaEosaG6xSunHcnIm8nvf"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"运行环境","id":""}],"text":"","id":"Lqiwde2SYoKEoOxquyEcgRRLnLd"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"Hello World!","id":""}],"text":"","id":"IIgSdccwkoeaG8xmadlcUw6Bnbh"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"命令行","id":""}],"text":"","id":"JAaKdcMMUoSaKcxW4c1ccXeGnPb"},{"type":"paragraph","children":[{"type":"text","text":"在Linux命令行输入:$python","id":""}],"text":"","id":"Ac0Udg8sKoo64WxKUEpcVHc9ngc"},{"type":"paragraph","children":[{"type":"text","text":"将直接进入python。然后在命令行提示符\u003e\u003e\u003e后面输入:\u003e\u003e\u003eprint('Hello World!')","id":""}],"text":"","id":"C6OwdcCKao0kG8x4u6bchmSwn9e"},{"type":"paragraph","children":[{"type":"text","text":"可以看到,随后在屏幕上输出:","id":""}],"text":"","id":"HMyIdGao0omCcMxyu1Kc9DyFnQJ"},{"type":"paragraph","children":[{"type":"text","text":"Hello World!","id":""}],"text":"","id":"HCWydoCIKo02yMxOy7GcZ1MBnkc"},{"type":"paragraph","children":[{"type":"text","text":"print是一个常用函数,其功能就是输出括号中得字符串。","id":""}],"text":"","id":"K4gYdSoiuo00icxAHmpc1eimnGc"},{"type":"paragraph","children":[{"type":"text","text":"(在Python 2.x中,print还可以是一个关键字,可写成print 'Hello World!',但这在3.x中行不通 )","id":""}],"text":"","id":"BQACduGE6oCgSOx2fvYcEcbPn4f"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"小程序","id":""}],"text":"","id":"NGqsdeUKwoewYQx3zgdcf4Q4nsb"},{"type":"paragraph","children":[{"type":"text","text":"另一个使用Python的方法,是写一个Python程序。用文本编辑器写一个.py结尾的文件,比如说hello.py","id":""}],"text":"","id":"LkWEdeSkSosWMexWc7PcjpdvnJg"},{"type":"paragraph","children":[{"type":"text","text":"在hello.py中写入如下,并保存:print('Hello World!')","id":""}],"text":"","id":"JgOsdAKe4ogmyExYHgLcTmQunyg"},{"type":"paragraph","children":[{"type":"text","text":"退出文本编辑器,然后在命令行输入:$python hello.py","id":""}],"text":"","id":"So08dE2imoYYQCxQ2QFcO82cnJL"},{"type":"paragraph","children":[{"type":"text","text":"来运行hello.py。可以看到Python随后输出Hello World!","id":""}],"text":"","id":"AIKCdsmeYoCwwUx0su3cHkHqnvb"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"脚本","id":""}],"text":"","id":"ZsEMdwYWcoQOsQxSSv6cYylLn5e"},{"type":"paragraph","children":[{"type":"text","text":"我们还可以把Python程序hello.py改成一个可执行的脚本,直接执行:#!/usr/bin/env python","id":""}],"text":"","id":"LqUgd8CeQoCIeux81qFc7h69nHE"},{"type":"paragraph","children":[{"type":"text","text":"print('Hello World!')","id":""}],"text":"","id":"ASc8d6YmkoASeOxcNArcGC3Anbc"},{"type":"paragraph","children":[{"type":"text","text":"需要修改上面程序的权限为可执行:chmod 755 hello.py","id":""}],"text":"","id":"SY4Sd2aEMoy8E2x8moScAd5Gnbc"},{"type":"paragraph","children":[{"type":"text","text":"然后再命令行中,输入./hello.py","id":""}],"text":"","id":"KcuSdKiEGomYGmxcxZ9cfAzwn9d"},{"type":"paragraph","children":[{"type":"text","text":"就可以直接运行了。","id":""}],"text":"","id":"WoeudWqOAosyosx8vdLcVyTQnre"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"基本数据类型","id":""}],"text":"","id":"PCwKdMoS2oKi4gxFAqZctL2XnJp"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"变量不声明","id":""}],"text":"","id":"HsuQdOC6kosCkax4ML4cAJ8Dnje"},{"type":"paragraph","children":[{"type":"text","text":"Python的变量不需要声明,你可以直接输入:\u003e\u003e\u003ea = 10","id":""}],"text":"","id":"SoA0dk2IKogMgOxewwVc4LkKnMe"},{"type":"paragraph","children":[{"type":"text","text":"那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数)。 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。","id":""}],"text":"","id":"KuuidCs4SooqGex6ZITcthxHnHc"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003eprint(a)","id":""}],"text":"","id":"VUaadIGOqoYYS4xwFOLcR1CVnEh"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003eprint(type(a))","id":""}],"text":"","id":"K2uYdIgSwoIaKexCWFvc3GZnnIe"},{"type":"paragraph","children":[{"type":"text","text":"那么会有如下输出:","id":""}],"text":"","id":"VYCKdqwy4oWG6Ux2xQjcXvipnzV"},{"type":"paragraph","children":[{"type":"text","text":"10","id":""}],"text":"","id":"FukWdMmaAoceg4xCaJ5c8ktfnuf"},{"type":"paragraph","children":[{"type":"text","text":"\u003cclass 'int'\u003e","id":""}],"text":"","id":"Mo4IdywqgoqKI8xSBu7cFmLyndb"},{"type":"paragraph","children":[{"type":"text","text":"这里,我们学到一个内置函数type(),用以查询变量的类型。","id":""}],"text":"","id":"C8yKdI8amoWwssxaEpQcGuK7nTf"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"回收变量名","id":""}],"text":"","id":"LmgCdYeiuoIWgWxOon3c3P1Hncd"},{"type":"paragraph","children":[{"type":"text","text":"如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。","id":""}],"text":"","id":"J0C0dc8UWo4CESx4m4jceRTAn4e"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003ea = 1.3","id":""}],"text":"","id":"Tme6dEUG8ogECYxMrZOcjBzCnfg"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003eprint(a,type(a))","id":""}],"text":"","id":"Xo8mdWieio2ayqxYvCqcNNnKnac"},{"type":"paragraph","children":[{"type":"text","text":"会有如下输出","id":""}],"text":"","id":"HEQgdWU6so2EW0x2pYGc8Up6nLf"},{"type":"paragraph","children":[{"type":"text","text":"1.3 \u003cclass 'float'\u003e","id":""}],"text":"","id":"Xe0Qd0YkEoWcUixQxzNcsc7BnQc"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"序列","id":""}],"text":"","id":"K4sIdyYiaooeSKx0ENocBIlknzb"},{"type":"paragraph","children":[{"type":"text","text":"sequence(序列)是一组有顺序的元素的集合,(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)序列可以包含一个或多个元素,也可以没有任何元素。","id":""}],"text":"","id":"NKG2d8UMAokU4mxs9Snc667DnQf"},{"type":"paragraph","children":[{"type":"text","text":"我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。","id":""}],"text":"","id":"SIe2duU4WoQEuMxUTXrcAmmKn2f"},{"type":"paragraph","children":[{"type":"text","text":"序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)","id":""}],"text":"","id":"RmMwdgGU4oqywAxIZbQcqQHjnNe"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003es1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple","id":""}],"text":"","id":"WOaCdYes4o2k8yxWsrqckvlxnDd"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003es2 = [True, 5, 'smile'] # s2是一个list","id":""}],"text":"","id":"De8ydgYi2o0ciixAjmgcINQnnzd"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003eprint(s1,type(s1))","id":""}],"text":"","id":"IMqQdWcKEogyGuxORI4cXDm9n5N"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003eprint(s2,type(s2))","id":""}],"text":"","id":"EY6idcQaooqaaGx0o8HcNZcmnHc"},{"type":"paragraph","children":[{"type":"text","text":"tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。","id":""}],"text":"","id":"A8A0d4wsEoQM6gxy8wfczcPunJg"},{"type":"paragraph","children":[{"type":"text","text":"一个序列作为另一个序列的元素","id":""}],"text":"","id":"BiqUdsI6Koks4gxyig4ckRhgnGd"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003es3 = [1,[3,4,5]]","id":""}],"text":"","id":"YoyEdOKywoYs8Ax4E1ic6uIan3c"},{"type":"paragraph","children":[{"type":"text","text":"空序列","id":""}],"text":"","id":"OWykdUkeWo4UOQxWiu3cKYkDnAd"},{"type":"paragraph","children":[{"type":"text","text":"\u003e\u003e\u003es4 = []","id":""}],"text":"","id":"VWEIdSqWooyg40xMpeYcDMo9nbd"},{"type":"heading","attrs":{"level":1},"children":[{"type":"text","text":"自学","id":""}],"text":"","id":"KW4Odiy8Eo4QyMxmAKFciGS8n4f"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"网站","id":""}],"text":"","id":"G4AadueAIoa4o8xs9gwcSrAxnme"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"菜鸟网站","id":""}],"text":"","id":"KqWid0A6UoAOIAxIlTWcxC9Nnsd"},{"type":"paragraph","children":[{"type":"text","text":"这个python教程很适合小白学习,没有高深的原理,照着教程学就完事了。","id":""}],"text":"","id":"UiaCdQGKyo6Wg2xwxHoc2Dxmnxt"},{"type":"paragraph","children":[{"type":"text","text":"菜鸟教程是一个提供免费编程学习的网站,里面不但能学到编程知识,还能运用在线编程工具,使你在学习的过程中得到发挥,实践得真理,边学边做中让基础打得更稳,让自己的知识更加稳固。在自己有不明白不理解的地方可以在网站的用户笔记中寻找大佬们的笔记,把自己所学和技术大佬的经验所融合,使自己更好地提升自己的能力。","id":""}],"text":"","id":"ZEgwdWWSsoq682x8f5wchxAynZe"},{"type":"paragraph","children":[{"type":"text","text":"菜鸟教程内容丰富,例如前端热门语言HTML5、CSS3、JavaScript、Vue等它该有的都有,都会从最基础的开始教,让刚学编程的小白由浅及深,一看就懂。每个知识点都有实例可以动手,直接在页面内做你想要的效果真的非常棒。菜鸟的排版简洁清晰有序,内容一针见血,让你一看就能明白其知识点的含义。","id":""}],"text":"","id":"WiU8de84coa6cQxcTG1chmmunkh"},{"type":"paragraph","children":[{"type":"text","text":"菜鸟教程不仅前端教程语言丰富,后端的Java、PHP、Python更是一应俱全,当然数据库、移动端、XML、","id":""},{"type":"text","text":"ASP.NET","id":""},{"type":"text","text":"、Web Service、开发工具和网站建设也是应有尽有,菜鸟教程有学到的知识如此之多,奋斗吧少年。","id":""}],"text":"","id":"RggwdQ6uqoSiQWxI1ENck2ktnYe"},{"type":"image","attrs":{"height":383,"note":[{"type":"text","text":"菜鸟网站","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/0798ab45151c4bd0ad7d0b1c1b4f9566","width":720},"text":"","id":"NI2SdAC2QosicOxQ9YxcHeSknnh"},{"type":"paragraph","children":[{"type":"text","text":" ","id":""}],"text":"","id":"DsoCdsMcuoAoi0x8BarcCb3Sn3f"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"廖雪峰的官方网站","id":""}],"text":"","id":"CwsqdmSY6os00wxdcNSctzmwnHH"},{"type":"paragraph","children":[{"type":"text","text":"廖雪峰的官方网站比较推荐新手程序员学习前端,这个网站的教学视频的讲解相对来说会比较生动,没有其他教程那么死板,看起来也不至于那么犯困,也更便于新手去理解。总的来说,廖雪峰的官方网站作为一款启蒙类的前端学习网站还是相当不错的。","id":""}],"text":"","id":"SimcdEA4mo2QwExkXoAcSn0RnEh"},{"type":"image","attrs":{"height":750,"note":[{"type":"text","text":"廖雪峰的官方网站","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/b21b64b7b6c74706ab17469ccbf6b14b","width":1783},"text":"","id":"NWWwdMy2AoWIwgxI10pcF9jJnhh"},{"type":"heading","attrs":{"level":3},"children":[{"type":"text","text":"Python官方教程","id":""}],"text":"","id":"M0cGdIGsSoAYA8xaOKYcPxMInuf"},{"type":"paragraph","children":[{"type":"text","text":"这是Python官方出品的教程,可搭配Python标准库一起学。","id":""}],"text":"","id":"QCUKde0YCoe4aixMp6mc34NynAf"},{"type":"image","attrs":{"height":810,"note":[{"type":"text","text":"Python官方教程","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/4871398dc75d4de4ab867263607d7048","width":1445},"text":"","id":"NQI2dc86io4EgwxgVEXcl1svnae"},{"type":"heading","attrs":{"level":2},"children":[{"type":"text","text":"书籍","id":""}],"text":"","id":"ZYEAdMaCaoY8mSxGJFecEcpannb"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"《Python编程从入门到实践(第2版)》","id":""}],"text":"","id":"OKe4diK4goU4Swxg9Edc2CcjnQZ"},{"type":"paragraph","children":[{"type":"text","text":"作者:埃里克·马瑟斯 (EricMatthes)袁国忠 译","id":""}],"text":"","id":"PKQcdAAcGoUoC0xOqEocFhTCnlh"},{"type":"paragraph","children":[{"type":"text","text":"ISBN:9787115546081","id":""}],"text":"","id":"DyUWd4aUio4a60xu6ogcPj1Bn2d"},{"type":"paragraph","children":[{"type":"text","text":"出版:人民邮电出版社","id":""}],"text":"","id":"Rs42dYymGoSIuUxWU7RctjUznMe"},{"type":"paragraph","children":[{"type":"text","text":"本书是针对所有层次Python读者而作的Python门书。全书分两部分:部分介绍用Python编程所必须了解的基本概念,包括强大的Python库和工具,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何发三个项目,包括简单的2D游戏、利用数据生成交互式的信息图以及创建和定制简单的Web应用,并帮助读者解决常见编程问题和困惑。","id":""}],"text":"","id":"HoQodykKqo8COCxqyqwccoimnKh"},{"type":"image","attrs":{"height":619,"note":[{"type":"text","text":"书籍","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/f952cca888c0454e838c59d17090daf7","width":501},"text":"","id":"ZU6qdUUScoCUA4x46jtchHQIndf"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"《像计算机科学家一样学Python》","id":""}],"text":"","id":"E28edua0koSygsxnyHBcIkeznGk"},{"type":"paragraph","children":[{"type":"text","text":"ISBN:9787115425515","id":""}],"text":"","id":"N44Udusiso2siQx61owcIo13n6d"},{"type":"paragraph","children":[{"type":"text","text":"作者:","id":""},{"type":"text","text":"艾伦","id":""},{"type":"text","text":" B. ","id":""},{"type":"text","text":"唐尼","id":""},{"type":"text","text":"(","id":""},{"type":"text","text":"Allen","id":""},{"type":"text","text":" B. ","id":""},{"type":"text","text":"Downey","id":""},{"type":"text","text":")","id":""}],"text":"","id":"RkEudeuIsoy2CmxW6NxcCRV1nfh"},{"type":"paragraph","children":[{"type":"text","text":"出版:人民邮电出版社","id":""}],"text":"","id":"WYKKdki4WoSykmx6OJVcqWOunDg"},{"type":"paragraph","children":[{"type":"text","text":"本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。全书共21章,详细介绍Python语言编程的方方面面。本书从基本的编程概念始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义,引领读者循序渐地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。","id":""}],"text":"","id":"BK6ydyYuaouyusx4pJfcnzCvnPh"},{"type":"image","attrs":{"height":701,"note":[{"type":"text","text":"书籍","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/2fcdba851350469c8f20a6fd2e54a3f8","width":526},"text":"","id":"Gukwd8S6oo0uMKxNGdKcgvECnCz"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"《计算机科学丛书:Java编程思想》","id":""}],"text":"","id":"Qyk4dmCKMouoUwxDv4BcZSonnv6"},{"type":"paragraph","children":[{"type":"text","text":"ISBN:9787111213826","id":""}],"text":"","id":"LOyCdEOUeo0MSixsRQOcsCACn1A"},{"type":"paragraph","children":[{"type":"text","text":"作者:[美] Bruce Eckel","id":""}],"text":"","id":"NY06d6MISoicmMxkpXAcDYjwnxe"},{"type":"paragraph","children":[{"type":"text","text":"出版:机械工业出版社","id":""}],"text":"","id":"SASYdyGwMoMiMqx6Cn3c7fPfnFf"},{"type":"paragraph","children":[{"type":"text","text":"本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的好教材和参考书。","id":""}],"text":"","id":"DmCwdc4UWo8kIyxkrbKcGAPFn3S"},{"type":"image","attrs":{"height":603,"note":[{"type":"text","text":"书籍","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/58be17df22694f249be5f539f0f12cbf","width":436},"text":"","id":"NuusdkO0KoEuqcxkhDUcaHIinNd"},{"type":"paragraph","children":[{"type":"text","marks":[{"type":"strong"}],"text":"《疯狂Java讲义》","id":""}],"text":"","id":"Za0CdW40komg2KxiOCtcsN4pnNf"},{"type":"paragraph","children":[{"type":"text","text":"ISBN:9787121361586","id":""}],"text":"","id":"XAcQd6qs0oWqqGxUFeAcY2danZe"},{"type":"paragraph","children":[{"type":"text","text":"作者:李刚","id":""}],"text":"","id":"HImOdIWASoK8YGxkvUZcJhCHnrh"},{"type":"paragraph","children":[{"type":"text","text":"出版:电子工业出版社","id":""}],"text":"","id":"P0s8dmIUioYcsIxE13WcCFIgnJc"},{"type":"paragraph","children":[{"type":"text","text":"《疯狂Java讲义(第4版)》深入介绍了Java编程的相关方面,《疯狂Java讲义(第4版)》内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口。本书重点介绍了Java 9的模块化系统,还详细介绍了Java 9的jshell工具、多版本JAR包、匿名内部类的菱形语法、增强的try语句、私有接口方法,以及Java 9新增的各种API功能。","id":""}],"text":"","id":"HqYKdqMICoW6Iexk7uecKI1ZnNb"},{"type":"image","attrs":{"height":685,"note":[{"type":"text","text":"书籍","id":""}],"url":"{{image_domain}}tos-cn-i-qvj2lq49k0/73f9b8449be24d31b0eb1b31f5d545fa","width":528},"text":"","id":"Nosid8Yukoa0aOxA54IcivKanue"},{"type":"paragraph","children":[{"type":"text","text":"","id":""}],"text":"","id":"ESKMd2eyCoKUQmxCgyCcBWYbn6f"}]%3C%2Fhowto_content%3E