码迷,mamicode.com
首页 > 编程语言 > 详细

python常用函数和方法 - 备忘

时间:2017-10-24 20:44:08      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:实用   lis   匿名   可迭代对象   protect   常用   表示   合成   元祖   

语法语句篇

除法运算(精确运算和截断运算)

  在python2中,除法运算通常是截断除法。什么是截断除法:

>>> 3/4
0  # 自动忽略小数项

 

要是想 得到正确结果 怎么办呢?

method1:

>>> 3. /4
0.75  # 3. 表示 3.0, 表示的是浮点数

 

method2:

>>> from __future__ import division    # 导入这个语句后, “/”此后均执行 精确除法
>>> 3/4
0.75  #精确除非 /
>>> 3//4
0  # 截断除法 //

 

而在python3版本后, “/” 表示的除法就直接为 准确除法, “//” 表示的是 截断除法。

访问限制修饰符

  python 不像 java 由关键字(public, 默认,prtected,private)来控制方法和属性的访问权限。python中属性和方法的访问限制通过下划线来控制。

“单下划线”修饰的变量叫做保护变量(类似于java中的protected),表示只能由该类对象和子类对象才能访问到的变量; “双下划线”修饰的变量叫做私有变量(类似于java中的private),表示仅有该类对象才能访问,子类对象不能访问。

_coef = 0 #保护变量, 类对象和子类对象访问

__coef = 0 #私有变量, 只能类对象访问

实用函数篇

lambda表达式

# 格式:
lambda [arguments]: expression
# 匿名函数

map函数

# 格式:
map(func, seq1[, seq2,...]) 
#第一个参数接收一个函数名(func),后面的参数接收一个或多个可迭代的序列,返回一个map对象(python3版本) 或 一个集合(python2版本)。
#作用: 将func作用于seq每一个元素

例:

# 仅有一个seq
>>> list(map(lambda a: a**2, [1,2,3,4,5]))  
[1, 4, 9, 16, 25]
# 有多个seq
>>> list(map(lambda a, b: a+b, [1,2,3],[4,5,6]))
[5, 7, 9]

>>> list(map(lambda a, b: (a-b, a+b), [1,2,3],[4,5,6])) #还可以返回一个元祖
[(-3, 5), (-3, 7), (-3, 9)]

 zip函数

# 格式:
zip([iterable, ...]) 
# 两个或多个可迭代对象

 

>>> list(zip([1,2,3],[4,5,6],[7,8,9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

 

enumerate函数

#格式:
enumerate(seq, [start=num])
#seq - 一个可迭代的对象; start - 下标起始位点
#作用: 将一个可迭代的对象组合成一个索引序列,同时列出数据和数据的下标,一般用于for循环中。

 

例:

>>> lis1 = [one, two, three, four, five, six]
>>> list(enumerate(lis1))
[(0, one), (1, two), (2, three), (3, four), (4, five), (5, six)]
>>> list(enumerate(lis1, start=2))
[(2, one), (3, two), (4, three), (5, four), (6, five), (7, six)]

 

python常用函数和方法 - 备忘

标签:实用   lis   匿名   可迭代对象   protect   常用   表示   合成   元祖   

原文地址:http://www.cnblogs.com/lianyingteng/p/7708945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!