# python基础复习
1.break 跳出当前的循环
2.continue 跳过本次的循环 继续下一次的循环?
### 1.列表List[ ]
作用:对列表的操作,添加,删除,排序, # 列表是可以嵌套的
List是一种有序的集合,可以随时添加和删除其中的元素,字符串的元素索引从0开始递增,逆着字符串元素索引从-1开始递减。元素通过索引访问
列表可以包含其他列表,构成信息列表,这个列表就是一个数据库
list是处理一组有序项目的数据结构
对列表的操作,添加,删除,排序
```python
myList = [['a','b','c'],['d','e','f']]
#索引 myList[0] 'a'
myList =[myList1,myList2] ```
字符串转变为列表?
在列表中如何插入一个值?
### 2.元组tuple()
```python
zoo=('wolf','elephant','penguin') ```
作用:元组通常用用在是语句或用户定义的函数能够安全的采用一组值的时候
Tuple和List的区别在于,tuple一旦初始化就不能修改,个别值不能进行删除,但是可以删除整个元组
### 3.集合set { }
作用:去除重复的数据(去重)
集合可以做差集、并集、交集、补集
集合的创建: 可以使用大括号{}或者set()来创建
注意:创建一个空集合必须使用set()而不是{} 因为使用{}创建的是一个字典
### 4.字典dict
#### 字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,把键(名字)和值(详细情况)联系在一起。。注意:键必须是唯一的,如果有同名的存在,就无法找到正确的信息
d = {key1:value1,key2:value2}
注意:字典中的键值对是没有顺序的
字典的操作:添加,删除,打印 ```
dict1={'zhang':'张家辉','wang':'王宝强','li':'李冰冰','zhao':'赵薇'} dict1['huang']='黄家驹' del dict1['zhao']
for firstname,name in dict1.items(): print firstname,name 结果: li 李冰冰 wang 王宝强 huang 黄家驹 zhang 张家辉 ``` ###
python中append()和expend() 的区别?
append()是像向list里追加内容的
如果你有一个list,并且向list的尾部添加对象那么就可以用append() 例如
list.append(对象)
添加到列表末尾的对象,该方法无返回值,但是会修改原来的列表。
expend()相当于列表的拼接
extend()和append()功能类似,但在处理多个列表时,返回的结果完全不同。
```python >>> a=[1,2,3] >>> b=[4,5,6] >>> a.append(b) >>> a
[1, 2, 3, [4, 5, 6]] >>> a=[1,2,3] >>> a.extend(b) >>> a
[1, 2, 3, 4, 5, 6] ```
### 5.流程的控制分为哪几种?
顺序结构 分支结构 选择结构
### 程序的执行流程?
顺序执行 选择执行 循环执行
函数及面向对象的运行过程
## 函数
函数可以重名,但是会被覆盖
6.变量的作用域
(1)全局变量
(2)局部变量
?(3)关键字global 声明函数内外使用同一个变量
?(4)关键字nonlocal 在函数的嵌套时 可以获取外层函数的变量 函数内外都使用的同一个变量
?(5)可变类型 不可变类型
##### 可变类型:比如列表 你只是修改了列表中的某一个值 但是本身没有动
##### 不可变类型:比如 字符串,int 当你在 给一个新的值的时候 那么原来的值 会被丢弃 那么此刻会生成一个新的变量
## 函数的几种导入的方式
```python
import myfunction.returnfunction# import myfunction.returnfunction print(myfunction.returnfunction.demo(10,20))
from myfunction import returnfunction #从myfunction的文件夹里 导入 returnfunction文件
print(returnfunction.demo1(10,20,30))
from myfunction import returnfunction as func #从myfunction的文件夹里 导入 returnfunction文件 as func 起 一个别名 print(func.demo1(10,20,30))
import random as ran #起一个别名 ran.randint() ```
### 7.列表推导式
提供了创建列表的简单途径
## 8.迭代器
可迭代对象
可以直接作用于for循环的对象称为可迭代对象(lterable)可以通过isinstance判断是否为可迭代对象
可以用于for循环的数据类型
list string dict set tuple
判断是否为可迭代对象 需要引入Iterable来进行判断
```python
from collections import Iterable #判断是否为可迭代对象
print(isinstance([],Iterable)) print(isinstance({},Iterable)) print(isinstance(\print(isinstance(1,Iterable)) ```
#### 迭代器
1. 迭代器是从对象集合的第一个元素开始访问 只能前进不能后退 2. 迭代器有俩个 方法 iter() next() *iter时将可迭代对象 转换成迭代器 next是可以将迭代器的元素一个一个的进行访问 *)
3. 当迭代器的元素都访问完以后 再次访问 会报StopIteration 的错误
## 9.生成器
使用了yield的函数称为生成器
生成器也实现了迭代器的功能
使用列表生成器生成出来的(x for x in range(1,5))是生成器 并不是像列表一样一个一个的生产 而是用一个产一个
使用yield的函数好处,节约资源,加上yield函数(调用一次执行一次 避免了全部执行完 节约电脑资源) 配合
yield
next()
yield想当于暂停键,调用一次执行一次,暴力破解密码或者网站的时候可以用生成器去实现,不然电脑存放不了那么大的数据