发表于: 2018-04-04 11:26:19

1 1189


Sixth Day


昨天主要学习了 Python 中的基础语法部分,主要是:

List,dictionary,tuple,string


今日计划:

1. 函数(定义,调用,变量作用于 ... ...)

2.数据结构(列表,堆栈

3.模块(Module )


学习轨迹:

回顾:

1. List 方面,在看List文档的时候发现可以通过 list(iterable)的方式创建 list,参数是个迭代类型,真是一脸懵逼,试了几次终于试出来了:


第一模块:函数


函数定义:

def 函数名字(参数列表,不带有类型) 冒号(:) 

换行函数体并且缩进

def funcname(param):

      funcContent


执行函数: functionName(para)


1. 在 Python 中,类型属于对象,而变量是没有类型的。

a 变量是没有类型的,它只是对象的引用,可以指向list也可以执行str


2. 可变与不可变对象

在 Python 中, strings, tuples and numbers 都是不可变对象

list 和 dic 是可变对象。

不可变对象作为参数传递的时候,参数内部是不能修改改对象的,而可变对象作为参数传递的时候,该可变对象会被修改。


3. 参数

- 必须参数

- 关键字参数

- 默认参数

- 不定长参数


4. 必须参数,该参数必须传入,否则报错


5. 关键字参数(就是在调用函数的时候,前面写上参数的名字,后面通过赋值运算符跟上参数的值)


关键字参数,允许函数调用时参数的顺序和声明不一致,解释器能够通过参数名匹配参数值


6. 默认参数

在调用参数的时候,如果没有传递参数,则会使用默认参数。


7. 不定长参数

*varTuple 是 tuple 类型


8. 匿名函数


9. 变量作用域


Python 中只有一个 Module,Class, function(lambda, def) 会引入型的作用域

if while 等不会,即在 if 中的变量外部也可以访问


global 和 nonlocal 关键字


global 关关键字,让函数可以访问外部的全局变量,并做修改


10. Python 官方文档作为补充:


10 Successione di Fibonacci https://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97

函数以 def 开始,def表示当前行开始对函数定义(definition).  def 后面 必须 跟着函数的名字,之后跟着括号,在括号里面是参数列表(list of formal parameters)。

组成函数体的语句必须另起一行,并且必须缩进。

接下来是一个字符串文本,这个字符串是函数的文档字符串,成为 docString

有些工具通过 docString 自动生成在线文档或者可打印的文档。



这个文档要比菜鸟的详细些,有时间再看看。

http://www.pythondoc.com/pythontutorial3/controlflow.html#tut-functions


第二模块: 数据结构


1. 列表, 列表中的方法


list.append(x) ,向列表中添加元素


list.extend(L), 向列表后面追加列表


list.insert(i,x),向列表中指定位置插入元素


list.remove(x), 删除值为 x 的元素,如果没有就会出错


list.pop([i]) ,删除 位置 i 的元素,i是可选的,默认弹出最后一个元素


list.clear() ,将list中的所有元素全部干掉

list.index(x)  取出元素 x 的位置,没有的花报错

list.count(x) 返回 x 元素在列表中的次数

list.sort() 对列表中的元素进行排序

list.reverse() 倒排列表中的元素

list.copy() 返回列表潜复制



2. 栈,可以通过List的append() 和 pop() 操作实现栈 Last in First out


3. 队列,将列表当做队列使用

First in First out

这里队列看明白了,但是为毛引进来一个queue ????



4. 列表推倒式

遍历list中的元素,或者根据条件遍历,然后进行统一的处理,比如对list中的每个元素加1,或者平方,或者对元组中的每个元素执行没有函数操作等等



5. 嵌套列解析(矩阵的操作)

 


6. 列表的 del 语句

可以删除某个区间的元素



7. 集合: 这个概念和数学的集合概念很像了

当然也和list一样支持推导


第三模块:模块

 



总结:


学习时间大约 5 小时

今天主要看了函数和数据结构两部分内容,细致的认识了下 Python 中的函数,学习到了函数中的可变参数,默认参数以及关健字参数这些特点。在学习作用域的时候学习了两个关键字(global 和 nonlocal),还有几十 if 或 while 中的变量在外边也是可以访问到的

数据结构:

list 的函数试了一遍,然后学习了list实现栈和队列,认识到了list的推导式,很强大


模块部分没看 。。。。


明日计划:

1. 回顾下今天学习的内容

2. 模块

3. 输入和输出

4. OS

5. 异常

6. File


DONE !!!


返回列表 返回列表
评论

    分享到