之前有自学python,用的是 python编程从入门到实践 这本教材,个人觉得还挺好使的,适合零基础的同学。但学过之后,就忘的差不多了,编程这件事在于实践,一天不练手就会觉得生疏。刚好借这个机会,把相关的语法知识再复习下。环境

编程环境可以选择文本编辑器+命令行运行,或者IDE。IDE界面比较友好,其中推荐jupyter notebook。实际上,Anaconda和jupyter notebook已成为数据分析的标准环境。Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项,是包管理器和环境管理器。jupyter 是一个交互式笔记本,可将数据分析的代码、图像和文档全部组合在一个web文档中。对于Anocanda的安装以及环境的配置,可以看下面的教程。初学python者自学anaconda的正确姿势是什么??​www.zhihujupyter notebook 可以做哪些事情?​www.zhihu

Python基础

一、编程规范

作为一门开发语言,python自然也有自己的编程规范,如下:

1)代码开头

python中代码必须顶格编写,除非被作为语句嵌套在条件判断或条件循环中。

2)代码层级

代码与代码之间的逻辑层级关系(涉及逻辑判断、包含关系等情况)通过空格来界定,第一层顶格编写,第二层(被包含或者逻辑判断后的执行动作)开头预留4个空格(如果不考虑跨平台可以使用tab)。

3)对齐方式

同一个层级的代码必须严格对齐,如第一层都是顶格,第二层都是4个空格开头,第三层则是8个空格,以此类推。

4)注释

单行注释用#开头,单独一行作为注释或者在代码后面通过#跟上注释均可,多行注释在首尾处用成对的三引号引用即可,可以是成对的三个单引号或者三个双引号。

5)代码块

if逻辑判断和for循环条件后面均以冒号结尾,然后通过4个空格开始下一层级的实际执行动作语句编写。这部分在冒号后面接上的语句称为代码块。

二、语法

1、数据

(1)数据类型字符串:就是一系列字符,在python中,用括号括起来的都是字符串,引号可以是单引号也可是双引号。

数字包括整型和浮点型。

布尔型:True和False

None型:

(2)容器

容器就是用来存放多个数据,包括列表、元组、集合及字典。借用猴子老师的一张图,可以帮助我们更好地了解这几个容器的概念。列表

在python中,用方括号[]来表示列表,并用逗号分隔其中的元素。根据上图中的信息我们就可以建立5个列表。(注意:所有的标点符号需在英文状态下,否则会报错)

接下来对列表进行操作,

1)访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需告知该元素的位置或索引即可。注意,在python中,所以是从0开始的,即列表中的第一个元素的索引为0,而不是1。其他元素,以此类推。

2)添加元素

两种方式,在列表末尾添加元素和在列表中插入元素。

3)删除元素

有时,我们需要将元素删除后并接着使用它,此时我们可以用pop()。

4)修改元素

元组

不可修改的列表称为元组,但使用用圆括号()来标识。同样可以使用索引来访问元素。

集合

集合是一个没有重复元素的容器,用花括号{}来标识。

1)添加元素

注意在创建空集合的时候只能使用stocksets=set(),因为stocksets={}创建的是空字典

2)删除

3)查找

4)修改

字典

字典是一系列键—值对,可以通过键来访问与之对应的值,值可以是数字,字符串、列表乃至字典。如下图所示:

1)访问字典中的值

2)添加键—值对

3)修改

4)删除

2、条件判断

每条if语句的核心都是一个值为True和False的表达式,python根据条件测试的值为True还是False来决定是否执行if语句中代码块。

3、循环

循环就是批量处理数据,Python中有两种循环,分别为:for循环和while循环。

(1)for 循环

for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:

下面通过遍历字典,来加深对for循环的理解:

(2) while 循环

for循环用于针对集合中的每个元素都一个代码块,即for循环是在序列穷尽时停止。而while循环循环不断地运行,直到指定的条件不满足为止。

(3)跳出循环

跳出循环也有两种方式,分别为continue和break;

其中,continue为跳出当前循环,返回到循环的开头:

break用于跳出整个循环,不再执行余下代码:

4、函数

函数的调用:我们定义一个函数,就是为了使用它。函数一般有两个参数,形参和实参。在函数add()中,变量x和y就是形参;而下图中的1和2就是实参,实参就是调用函数时传递给函数的信息。

但在调用函数时,值得注意的是函数的参数类型是否为可变数据类型:如果函数参数是字符串, 元祖, 和数字这3种不可更改的对象,参数传递时,相当于传递的是复制出来的数据,对于数据本身没有影响。如果参数传入的数据类型是可变的类型,当函数内部修改该数据时,原始的数据也改变了。

5、数据结构

《数据结构》是计算机专业的一门必修课, 老师也经常说,想学好编程,数据结构和算法是必须要掌握的。相信大部分人跟我一样,一直没弄懂数据结构到底有什么用。 抱着这种疑惑,在网上看了几篇文章,发现学习数据结构,并不仅仅是学习其中现成的那些队列,堆栈,二叉树,图等经典结构, 也不仅仅是学习其中的那些快速排序、冒泡排序等算法。

更重要的是学习一种思想:如何把现实问题转化为计算机语言的表示。

计算机其实一种很机械的机器,只会按照预定的指令一步步执行,而人类的自然语言是很模糊的,那么我们的主要工作就是怎么把自然语言描述的问题转化为计算机语言的表示。

在这里介绍几种基本的数据结构,以后再补充。队列

你可以把队列想象成一家杂货店里排队买单的人,队伍中第一个人先被服务。队列遵循先进先出,也就是说一旦你添加了新元素,你又想删除它,必须先删除它前面的所有元素。队列只有两个主要操作:入队和出队。 入队,就是将新的内容插入队列后面,而出队就是前面所有的内容。

栈是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。栈遵循先进后出,top= -1时为空栈,top=0只能说明栈中只有一个元素。

拓展—collections模块

在内置数据类型(字典、列表、元组和集合)的基础上, collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。

1)counter:计数器,主要用来计数

2)namedtuple: 生成可以使用名字来访问元素内容的tuple

3)deque: 双端队列,可以快速的从另外一侧追加和推出对象

4)OrderedDict: 有序字典

5)defaultdict: 带有默认值的字典

具体地,在使用后再详细补充。

总之,这是一次温故而知新的过程,把遗忘的知识又拾掇起来。其实,编程语言的学习难点不在于语法结构,而是编程思维的形成,这条路任重而道远,加油!

更多推荐

python使用什么来表示代码块_Python入门之基本语法