志在指尖
用双手敲打未来

学完python的心得体会

假如韶光能够倒流,让笔者重新挑选大学专业,那么笔者必定毫不犹豫地挑选人工智能方面的相关专业。人工智能已经成为互联网年代最热门、最前沿的开展方向,人工智能的根底知识也已经加入到高中的学习纲要内。在人工智能高速开展的年代,不管是否从事人工智能研发方面的作业,了解和把握一门编程言语都是非常必要的。
笔者挑选了Python进行了学习。本文的主要目的在于分享笔者的学习路径,以及总结一些笔者在自学过程中碰到的坑。
WhyPython
编程言语这么多,为何选Python?
这个问题网上已经有许多适当专业的答复了。笔者作为初学者,最深的领会即简练。
print(‘HelloWorld’)
短短一行代码即能够写出你的榜首个程序。
别的,Python有内容丰富且功能强大的各类库能够直接调用。例如数据剖析范畴常用的Numpy、Pandas、Scipy、Matplotlib等。学习Python能够很快上手,调用各类非常成熟的库来处理各范畴的相关问题。
建立环境
在开始写榜首行代码之前,其实还有一些作业要准备。Python分文2和3两个版别,其语法有一部分差异,并且互相无法兼容。Python3系列目前已经开展的较为成熟,且有适当一部分库只支撑Python3。因而笔者挑选了Python3.6。
Python作为一门编程言语,还需求一个运转环境。在此笔者引荐Anaconda调配JupyterNotebook。关于两者具体的效果和装置办法,引荐阅读
@猴子
教师的答复:
初学python者自学anaconda的正确姿势是什么??5445附和·267谈论答复
jupyternotebook能够做哪些事情?3152附和·138谈论答复
怎么自学
环境已经搭好了,接下来能够写出榜首行代码了~
那么怎么坚持高效地自学状况呢?笔者认为Python的学习绝不是捧着一本教程拼命死磕就能够学会的。零根底入门最好的办法便是边学边用,即能够加深回忆又能够调集兴趣。笔者在自学过程中运用过三种类型的学习资源:python
1、入门教程:入门教程即边学边用,深入浅出地了解Python。笔者学习了
@Crossin
的crossin编程教室。它的每一节课后都会附上练习,并且还有各种风趣的编程小游戏以供实践。别的还会定期开一些坑,供给各类风趣的需求供学员开发。
Crossin的编程教室crossincode.com/home/
2、字典式教程:在写代码的过程中,经常会忘记一些细节问题。比方怎么提取列表中的某元素。这时就需求一个百科全书式的教程以供查阅。这里引荐菜鸟教程:
Python3教程|菜鸟教程www.runoob.com/python3/python3-tutorial.html
3、编程游戏:有没有什么办法既能够练习代码又很轻松愉快呢?这里引荐一个闯关编程游戏。在这里你能够利用代码操控人物闯关冒险,迎娶白富美,走向人生巅峰:
https://codecombat.com/codecombat.com/
遇见问题怎么办
笔者引荐的办法是“面向Google编程”。当遇到代码运转报错或许不知怎么完成需求时能够求助谷歌,90%的问题都能够经过这种办法处理。有适当多的结果来自国外的开发者,因而需求有必定的洋文根底。别的,由于外国网站技能过分落后,经常会出现无法拜访的状况。因而运用谷歌还需求科学上网。关于学习洋文和科学上网各位能够自行查阅知乎,此处就不再赘述。
下面记录一些笔者的自学笔记以及初学中遇到的一些坑。
Python数据类型
数字(Number):其中又分为int(整数)、float(浮点数)、bool(布尔)、complex(复数)。
字符串(String):需求用”或许””包裹起来。假如需求保留内部的’或”,需求运用\进行转义。
列表(List):列表的格局是写在方括号[]之间、用逗号分隔开元素。能够在列表名后加[数字]来索引目标方位的值。索引是从0开始计数。
元组(Tuple):元组的格局是写在括号()之间、用逗号隔开元素。元组中的元素及次序不行修改。但和列表一样能够后缀[数字]进行索引。
调集(Set):调集的格局是写在{}之间,是一个无序不重复序列。能够运用大括号{}或许set()函数创立调集。
字典(Dictionary):字典的格局也是写在{}之间,与调集的不同之处在于字典的每个元素都对应一个键作为索引。字典是一种映射类型,它是无序的键(key):值(value)对的调集。能够运用大括号{}或许dict()函数创立字典。
上述数据类型能够分为以下两类:
不行变数据:数字、字符串、元组
可变数据:列表、调集、字典
能够运用type()和isinstance()来查询数据类型。type回来类型称号,isinstance回来布尔值。
条件判别
Python中的条件判别句子是if…else…句子:
if条件:
履行操作1
else:
履行操作2
举例如下:
在运用if…else…句子时必定记住在每一个if条件和else后面都加上英文冒号,且同一层的句子坚持相同的缩进(主张4个空格)。上述2点都是简单引起报错的当地。
循环
循环句子供给了一种自动化的、完结重复劳动的快捷办法。其根本句子是for…in…,其中for指定要重复的变量,in指定循环规模。下面举一个事例。笔者希望将下图中的股票代码全部一致变成大写字母:
首要对键和值的数组设置了循环,并运用dict.item()办法,将原字典转化为键和值的元组数组。然后在循环句子内规矩了新值的办法,即upper(),再经过key索引将新值更新到字典中,完结目的。
上述操作中的关键之处即在于item()办法。由于for后面跟的循环变量是key,value,属于数组的方法,无法直接在字典中进行遍历,因而需求先将其转换为数组的方法。
函数
函数是组织好的,可重复运用的,用来完成单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
在实践编程的过程中,能够经过将常用运算编写为函数使代码更加简练,可读性更高。
界说一个函数的规矩:
函数代码块以def关键词最初,后接函数标识符称号和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间能够用于界说参数。
函数内容以冒号开始,并且缩进。
return[表达式]结束函数,挑选性地回来一个值给调用方。不带表达式的return适当于回来None。
函数的根本语法如下:
deffunctionname(parameters):
“函数_文档字符串”
function_suite
return[expression]
运用函数的过程中涉及到以下两个问题,简单踩坑:
参数类型是否可变
效果域
上文中提到,数字、字符串、元组为不行变数据类型,列表、调集、字典为可变数据类型。不行变数据类型的参数在调用函数的过程中传递的只是该数据类型的值(适当于复制一份),本身不会发生变化;而可变数据类型的参数传递的是该变量的引证地址,调用函数后会改动。举例如下:
b是数值类型参数,调用函数后本身的值不变。python
nameList是列表类参数,调用函数后本身的值也随之改动。
Python的效果域一共有2种:大局效果域,部分效果域。界说在函数内部的变量具有一个部分效果域,界说在函数外的具有大局效果域。部分变量只能在其被声明的函数内部拜访,而大局变量能够在整个程序规模内拜访。举例如下:
模块
Python模块(Module),是一个Python文件,以.py结束,包括了Python对象界说和Python句子。模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能界说函数,类和变量,模块里也能包括可履行的代码。
Python的一大优势即其具有很多可用的第三方模块,这些模块(库)能够高效地处理某些范畴的问题,例如数据剖析范畴的Numpy、Pandas、Scipy、matplotlib等等。
调用模块能够运用三种句子:
import句子
importmodule1[,module2[,…moduleN]
from…import句子
frommodnameimportname1[,name2[,…nameN]]
from…import*句子
frommodnameimport*
数据结构
行列(queue)是限定只能在表的一端进行刺进,在表的另一端进行删去的特别的线性表。即“先进先出”。
堆栈(stack)是一个只在表尾进行删去和刺进操作的线性表。即“后进先出”。
在列表中,能够运用append()办法添加元素至队尾。履行行列操作能够经过popleft()办法删去列表最左侧元素;履行堆栈则能够经过pop()办法删去最右侧元素。
写在最终
笔者认为编程是一件让人快乐的事,运用代码处理问题以后获得的成就感是难以言表的。并且高效的编程学习办法必定是边学边做,而不是对着复杂的教程硬啃。千万不要等到学完所有的理论才开始动手写榜首行代码!HelloWorld,就在此刻。

未经允许不得转载:IT技术网站 » 学完python的心得体会
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载