python备忘录
本文主要是记录一下python,比较详尽的python学习资料:
Python学习笔记_王纯业 http://pan.baidu.com/s/1eQrDEYA
部分有详细的博文链接
1.字符串:
切片 s[a:b] :返回的是 [a,b)的子串
长度: len(s)
字符串的替换方法有两种:
last_date = “1/2/3” 目标为"123"
之一:repalce
date =last_date.replace('/','')
之二:re
p = re.compile("/")
date = p.sub('', last_date)
注意事项是:
一定不要转义,否则函数不会生效。
2.日期:
from datetime import date
import datetime
定义时间年月日:d = date(yyyy,mm,dd)
多少天之后:d += datetime.timedelta(days=10)
格式控制:d.strftime('%Y:%m:%d')
两个日期相隔多少天:abs( (d1-d2).days )
3.文件操作方式:
fin = open('data.txt')
读取一行:fin.readline()
4.文件格式编码问题:
fin = open('词典.txt','rb')
t = fin.read()
txt = t.decode("gb2312", "ignore")
fin.close()fin = open('训练语料库.txt',encoding='UTF-8') #UTF8读取,因为涉及到编码解码问题
txt = fin.read()
fin.close()5.切片
字符串、列表、元组在python中都符合“序列”这一特征,只要符合这一特征的变量我们都可以用切片(slice)去存取它们的任意部分。我们可以把序列想像成一个队列,我可能需要前面三位、后面三位、或从第三位后的四位、或隔一个取一个等,我们用切片操作符来实现上述要求。
切片操作符在python中的原型是
[start:stop:step]即:[开始索引:结束索引:步长值]
开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1
结束索引:切片操作符将取到该索引为止,不包含该索引的值。
步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0
li = [1,2,3,4,5,6,7] print li[1:] #输出[2,3,4,5,6,7],省略终止索引,表示取起始索引之后的所有值,
等效于li[1:len(li)] print li[:3] #输出[1,2,3],省略起始索引,表示从0开始取,等效于li[0:3] print li[:] #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,
等效于li[0:len(li):1] print li[::] #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,
等效于li[0:len(li):1] print li[::-1] #输出[7,6,5,4,3,2,1],省略起始索引、终止索引,步长值为-1,表示反向获取
6. map介绍:第一个参数接收一个函数名,第二个参数接收一个可迭代对象
lt = [1, 2, 3, 4, 5, 6]
def add(num):
return num + 1
rs = map(add, lt)
print rs #[2,3,4,5,6,7]7. ZIP介绍:
x = [1, 2, 3, 4, 5 ]
y = [6, 7, 8, 9, 10]
print zip(x, y) # [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]8. 跨平台操作的文件路径:
linux: /home/XXX
windows: C:\Windows
可见在不同的平台上文件路径使用的文件分隔符不一样。
在python中,我们可以使用os.path.sep作为文件分隔符。
a+os.path.sep+b+os.path.sep+c
a+os.path.sep+b+os.path.sep+c 我们也可以写成 os.path.join(a,b,c) 。类似的操作还有:os.path.split();
Linux下命令:from os import system
cmd = 'ls'
s = system(cmd)
print str(s)10. 如果想输出转义字符串的原始字符串(转义字符非转义,对字符串不进行转义),我们可以用repr方式:repr('dsa\nres')的输出方式是:
'dsa\nres' 普通的为:
dsa
res11. Python中所有对象都是指针,对象的拷贝不能直接使用=号进行拷贝,应该使用copy.deepcopy()
12.安装setuptools: https://pypi.python.org/pypi/setuptools#windows-simplified安装pip:https://pypi.python.org/pypi/pip#downloads
python备忘录的更多相关文章
- 设计模式-行为型模式,python备忘录模式
备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该 ...
- python 备忘录
1. python 变量 区分大小写 2. 字符串可以用 'X' "X" '''X''' """X""" 3. ...
- 最全36种python设计模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是众多软件开发人员经过 ...
- 《HelloGitHub》第 56 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- python正则表达式Re模块备忘录
title: python正则表达式Re模块备忘录 date: 2019/1/31 18:17:08 toc: true --- python正则表达式Re模块备忘录 备忘录 python中的数量词为 ...
- python设计模式第二十二天【备忘录模式】
1.应用场景 (1)能保存对象的状态,并能够恢复到之前的状态 2.代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ class Originator ...
- 大话设计模式Python实现-备忘录模式
备忘录模式(Memento Pattern):不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样已经后就可将该对象恢复到原先保存的状态 下面是一个备忘录模式的demo: #! ...
- [Python设计模式] 第18章 游戏角色备份——备忘录模式
github地址:https://github.com/cheesezh/python_design_patterns 题目 用代码模拟以下场景,一个游戏角色有生命力,攻击力,防御力等数据,在打Bos ...
- python 设计模式之备忘录模式
1.为什么用备忘录模式 假设大战僵尸游戏共10关,越是往后关卡越难,越难就越是费时间费钱费精力. 开始大战僵尸,玩了好久好久终于玩到了第9关,真是不容易. 这个时候开始玩第9关了,哇,好难啊,真不幸, ...
随机推荐
- 【flash】关于flash的制作透明gif的一个小技巧
关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...
- JDBC-ODBC桥接方法连接Excel数据库的方法
通过JDBC-ODBC桥接器访问Excel电子表格 1.设置数据源 Excel数据源选择的驱动程序是Microsoft Excel Driver 2.选择表 与访问其他数据库不同的是,我们必须在电子表 ...
- jquery.validate使用攻略
主要分几部分 jquery.validate 基本用法 jquery.validate API说明 jquery.validate 自定义 jquery.validate 常见类型的验证代码 下载地址 ...
- CDOJ 第七届ACM趣味程序设计竞赛第三场(正式赛) 题解
宝贵资源 题目连接: http://acm.uestc.edu.cn/#/problem/show/1265 题意 平面上给n个点(n<=1000),要求找一个面积最小的正方形,将所有的点都囊括 ...
- org.apache.catalina.mbeans.ServerLifecycleListener
Tomcat 启动报错: java.lang.ClassNotFoundException: org.apache.catalina.mbeans.ServerLifecycleListener at ...
- This is your life , in Winbledon , interview Roger Federer
http://v.youku.com/v_show/id_XNTc2Nzg5MTMy.html?firsttime=119 Roger Federer this is you life how mu ...
- 项目优化经验分享(八)TeamLeader经验总结
引言 通过前面的七篇博客.我把自己在项目优化过程的经验进行了分享,今天这篇博客,作为一个总结,就来讲讲作为一个TeamLeader,在项目管理中遇到的问题和解决经验! 正文 问题一:团队之间怎么沟通? ...
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动, ...
- Mysql子查询IN中使用LIMIT
学习下Mysql子查询IN中使用LIMIT的方法. 这两天项目里出了一个问题,mysql LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料 ...
- Ubuntu下安装FTP服务及使用(VSFTPD详细设置)(二)
vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置.下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件 的.本文将提供完整的vsftpd.conf ...