python课程第四周重点记录
1.迭代器
names = iter(["alex","jack","rain"]) #声明列表的一个迭代器
names.__next__() #迭代
2.生成器,使用yield后,函数变成一个generator,调用函数返回一个iterable对象
def cash_monkey(amount):
while(amount>0):
amount -= 100
print("取钱啦")
yield amount atm = cash_monkey(500)
print("还剩%s"%atm.__next__())#__next__()方法相当于执行一次函数,停在yield语句处返回yield相当于return
print("还剩%s"%atm.__next__())
for i in cash_monkey(500): #for循环中自动调用__next__()方法
print(i)
#在读取文件中使用
def read_file(fpath):
BLOCK_SIZE =1024
with open(fpath, 'rb') as f:
while True:
block =f.read(BLOCK_SIZE)
if block:
yield block
else:
return def h():
print('Wen Chuan')
m = yield 5 # 接收了send传过来的Fighting!
print(m)
d = yield 12
print('We are together!')
c = h()
m = c.__next__() #m 获取了yield 5 的参数值 5
d = c.send('Fighting!') #d 获取了yield 12 的参数值12
print('We will never forget the date', m, '.', d)
3.二维数组
'''
[0,1,2,3]
[0,1,2,3]
[0,1,2,3]
[0,1,2,3]
----------
[0,0,0,0]
[1,1,1,1]
[2,2,2,2]
[3,3,3,3]
'''
data = [[col for col in range(4)] for row in range(4)]
for i in range(len(data)):
a = [data[i][i] for row in range(4)]
print(a)
4.正则表达式
import re
match = re.match(r'dog', 'dog cat dog') #匹配开始
match.group() #取得匹配上的元素
match = re.search('dog', 'dog cat dog') #匹配任意位置,只匹配一次
match.group()
match.start() #匹配上的元素的开始位置
match.end() #匹配上的元素的结束位置
match = re.findall(r'dog', 'dog cat dog') #所有匹配对象,得到的是一个列表
contactInfo = 'Doe, John: 555-1212'
match = re.search(r'(\w+), (\w+): (\S+)', contactInfo) #分成3个子串
match.group(1) #Doe
match.group(2) #John
match.group(3) #555-1212
match.group(0) #匹配所有Doe, John: 555-1212
语法:
python课程第四周重点记录的更多相关文章
- python课程第二周重点记录
python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...
- python课程第一周重点记录
- 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录
孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 2003031121-浦娟-python数据分析第四周作业-第二次作业
项目 内容 课程班级博客链接 20级数据班(本) 作业链接 Python第四周作业第二次作业 博客名称 2003031121-浦娟-python数据分析第四周作业-matolotlib的应用 要求 每 ...
- python学习第三次记录
python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...
- 20135302魏静静——linux课程第四周实验及总结
linux课程第四周实验及总结 一.实验 我选择的是第20号系统调用,getpid 代码如下: /* getpid.c */ #include <unistd.h> #include &l ...
- python课程单元三编程题讲解(上)
目录 1.快乐的数字 2.凯撒密码I 3.凯撒密码II 4.括号配对检测 A @ 下面向大家介绍一下我在学习python课程的一些题目的解法,如果大家有什么更好的解法请私信我.这里只显示题目与 ...
- 尚学python课程---15、python进阶语法
尚学python课程---15.python进阶语法 一.总结 一句话总结: python使用东西要引入库,比如 json 1.python如何创建类? class ClassName: :以冒号结尾 ...
- 尚学python课程---14、python中级语法
尚学python课程---14.python中级语法 一.总结 一句话总结: var[1:5] 访问模式:比如字符串,比如列表元祖,字典等 del 删除模式:比如列表.元祖.字典 1.Python的N ...
随机推荐
- Ninject之旅之十:Ninject自定义提供者
摘要 提供者是特殊的工厂类,Ninject使用它来实例化解析类型.任何时候我们绑定一个服务类型到一个组件,我们都隐式地关联那个服务类型到一个可以实例化那个组件的提供者.这个隐藏的提供者被称为Stand ...
- “不是有效WIN32程序”
写了个控制台,放到服务器上面运行,运行失败,出现"不是有效win32程序" 不知道原因. 猜测: 1.程序只支持64位的处理器,修改了项目的属性,发现支持any cpu.排除 2. ...
- iOS中UIImageView的填充模式
UIImageView的填充模式 属性名称 imageV.contentMode枚举属性: @"UIViewContentModeScaleToFill", // 拉伸自适应填满整 ...
- py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录
第一次写博客,以此纪念这几天安装caffe,跑faster-rcnn的血泪史.在此特别感谢网络各路大神,来自全球各地,让我能从中汲取营养,吸取经验,总结规律. faster-rcnn分为matlab版 ...
- 转:永久解决火狐浏览器出现的flash版本更新问题
发现问题: 1.找到火狐浏览器,并打开出现问题的页面. 2.点击火狐浏览器的"打开菜单"按钮,选择"附加组件"按钮. 3.在"搜索所有添加附件&quo ...
- Ajax的基本使用
AJAX AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = ...
- A股各概念板块龙头股大全
A股各概念板块龙头股大全一.新兴信息产业龙头 1.车联网龙头——软控股份002073 启明信息002232.荣之联002642 2.通信网络龙头——恒宝股份002104 3.通信设备制造龙头——新海宜 ...
- C#多线程的异步委托/调用
C#异步调用(Asynchronou Delegate) C#异步调用获取结果方法:主要有三种,也可以说是四种(官方说四种,电子书说三种),官方在MSDN上已经有详细的说明:链接 需要了解到获取异步执 ...
- Datatable/Dataset 转 JSON方法
当数据库表的数据在一般处理程序中查出来需要将这个表数据返回到前台的jquery中,需要将数据拼成json字符串形式,这里是将数据库数据查出放在Datatable中,然后在一般处理程序中将datatab ...
- arm_linux_dt
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/44862.aspx