Python函数——map()和reduce()

map()函数

map()函数接收两个参数,一个是函数,另外一个是迭代器,map的作用就是将传入的函数一次作用到序列的每个元素,并把结果作为新的迭代器返回。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 使用map
print map(lambda x:x%3,range(6)) # [0,1,2,0,1,2]
# 使用列表解析
print [x%3 for x in range(6)] # [0,1,2,0,1,2]
# 将字符串转成list
print map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]) # ['1', '2', '3', '4', '5', '6', '7', '8', '9']
# 多个迭代器
print map(lambda x,y: x*y,[1,2,3],[4,5,6]) # [4,10,18]
print map(lambda x,y: (x*y, x+y),[1,2,3],[4,5,6] ) # [(4, 5), (10, 7), (18, 9)]

more >>

Python学习笔记(二)

1.__init__()__new__()方法

  • __new__()方法是静态方法,而__init__()为实例方法
  • __new__()方法一般需要返回类的对象,当返回类的对象十五讲自动调用__init__()方法进行初始化,如果没有类的对象放回,则__init__()方法不会被调用
  • 当需要控制实例创建的时候可使用__new__()方法,而控制实例初始化的时候使用__init__()方法
  • 一般情况下不需要覆盖__new__()方法,但当子类集成自不可变类型,如strint或者tuple的时候,往往需要覆盖该方法

more >>

Python学习笔记(一)

1.将常量集中到一个文件中

将存放常量的文件命名为constant.py,并在其中定义一系列常量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class _const:
class ConstError(TypeError): pass
class ConstCaseError(ConstError): pass
def __setattr__(self,name,value):
if self.__dict__.has_key(name):
raise self.ConstError, "Can't change const. %s" % name
if not name.isupper():
raise self.ConstCaseError, \
'const name "%s" is not all uppercase' % name
self.__dict__[name] = value
import sysy
sys.modules[__name__] = _const()
import const
const.MY_CONSTANT = 1
const.MY_SECOND_CONSTANT = 2
const.MY_THIRD_CONSTANT = 'a'

当在其他模块中引用这些变量时,按照如下方式进行即可

1
2
3
from constant import const
print const.MY_CONSTANT
print const.MY_SECOND_CONSTANT*2

more >>

通配符和正则表达式

通配符

在某些命令中,使用通配符创建一个模式匹配表达是,指定多个对象。使用的通配符取决于发出命令时所处于的操作系统。
例如可使用通配符(例如星号*)匹配任意个字符,或者可使用问号(?)或者百分号(%)精确匹配一个字符。

正则表达式

使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式的用处:1)验证字符串是否符合指定特征 2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串 3)用来替换

more >>

Git学习笔记

Git相关概念

Git中的文件可能处于三个状态:已经提交(committed)、已经修改(modified)、已暂存(staged)。
基本的Git的工作流程:

  1. 在工作目录中修改文件
  2. 暂存文件,将文件的快照放入暂存区域
  3. 提交更新,站到暂存区域文件,将快照永久存储到Git仓库目录

Git命令——配置相关

1
2
$ git config -- list ##列出Git所有的配置信息
$ git config user.name ##检查Git的某项配置

more >>