发表于: 2018-04-04 11:26:19
1 1191
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 !!!
评论