python内置函数(三)

python内部提供了很多内建函数。下面让我们从a-z开始学习python的内建函数

1.1
filter(function,iterable)
参数iterable的元素通过函数function返回为true的所有元素构建成一个迭代器并且返回,参数iterable可以是任何可以迭代的对象,
如果参数function是None,那么删除所有为判断为false的元素,具体看下面实例
#用filter求素数
#首先构造一个下从3开始的奇数序列
#python的生成器generator,
def _odd_iter():
n=1
while True:
n=n+2
yield n
def _not_divisible(n):
  return lambda x:x%n>0
#lambda相当于函数体为单个return语句的普通函数的匿名函数
#lambda不使用return关键字,开发者可以使用函数应用的位置使用lambda表达式
#在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的
#lambda用的很少,大多数使用def
def primes():
yield 2 #把第一个2加进生成器
it = _odd_iter()   #初始化序列
while True:
n=next(it)   #返回序列的第一个数
yield n
#由于primes是一个无限序列,所以调用时需要设置一个退出循环的条件
#打印100以内的素数
for n in primes():
if n<100:
print(n)
else:
break
一个实例:
l=[2,11,5,3,4,7,56,21,32,29,31,0];
def func(x):
if(x > 10):
return True
else:
return False
print(list(filter(func,l)))
输出的结果是:[11, 56, 21, 32, 29, 31]
l=[2,11,5,3,4,7,56,21,32,29,31,0];
def func(x):
if(x > 10):
return True
else:
return False
print(list(filter(None,l)))
输出的结果是:[2, 11, 5, 3, 4, 7, 56, 21, 32, 29, 31]
另外,需要提一个是我在别人网站看到的一个例子,自己用了很复杂的办法做的
回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()滤掉非回数:
def is_palindrome(n):
if(str(n)[::-1] == str(n)):
return True
else:
return False
output = filter(is_palindrome, range(1, 100))
print(list(output))
输出的结果是:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99]
没想到这个办法,自己用了很复杂的办法的。Python真的很简洁
1.2
float([x])
强制转换,把一个整数或者一个字符串强制转换成一个浮点数
1.3
format(value[,format_spec])
本函数把值value按format_spec的格式来格式化,然而函数解释format_spec是根据value的类型来决定的,不同的类型有不同的格式化解释。当参数format_spec为空时,本函数等同于函数str(value)的方式。
其实本函数调用时,是把format(value, format_spec)的方式转换为type(value).__format__(format_spec)方式来调用,因此在value类型里就查找方法__format__(),如果找不到此方法,就会返回异常TypeError。
其中format_spec的编写方式如下形式:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
fill ::=
align ::= < | > | = | ^
sign ::= + | - |
width ::= integer
precision ::= integer
type ::= b | c | d | e | E | f | F | g | G | n | o | s | x | X | %
fill是表示可以填写任何字符。
align是对齐方式,<是左对齐, >是右对齐,^是居中对齐。
sign是符号, +表示正号, -表示负号。
width是数字宽度,表示总共输出多少位数字。
precision是小数保留位数。
type是输出数字值是的表示方式,比如b是二进制表示;比如E是指数表示;比如X是十六进制表示。
实例:
print(format(3.14,"0=10"))#保留十位,其余用0填充,在前面填充
print(format(3.1515926,‘E‘))
print(format(3.1415926,‘05.3‘))#保留五位,包含小数点,小数点后两位
print(format(‘hello‘,‘<20‘))#左对齐
print(format(‘hello‘,‘^20‘))#居中对齐
print(format(‘hello‘,‘>20‘))#右对齐
print(format(3.1515926,‘+‘))#添加符号
输出的结果是:
0000003.14
3.151593E+00
03.14
hello               
       hello        
               hello
+3.1515926
1.4
getattr(object,name[,default])
返回object的name属性的名字,如果没有这个属性返回false
实例:
class pep:
pass
p = pep()
print(getattr(p,‘ok‘))
setattr(p,‘ok‘,‘hello‘)
print(getattr(p,‘ok‘))
输出的结果是:
AttributeError: ‘pep‘ object has no attribute ‘ok‘
hello
1.5
globals()
返回一个代表当前全部符号表的字典,这是当前模块(在一个函数或方法中的字典),这是它被定义的模块,而不是它被调用的模块。
1.6
hasattr(object, name)
判断,name是否为object的属性,如果是返回true否则返回false。
class pep:
pass
p = pep()
print(hasattr(p,‘ok‘))
setattr(p,‘ok‘,‘hello‘)
print(hasattr(p,‘ok‘))
返回的结果是:
False
True
1.7
hash(object)
返回object参数的hash值,哈希值是整数,他们可以用来快速的进行字典查询
实例:
print(hash(‘str‘))
print(hash(1995))
print(hash(0.65))
输出的结果是:
926707834525168157
1995
1498797955988901120
1.8
hex(x)
将整数integer转换为16进制数,不能为float性,否则会报错
print(hex(2))
print(hex(66))
0x2
0x42

钟志远  江苏南京 904727147

时间: 2024-10-10 03:53:34

python内置函数(三)的相关文章

python内置函数三

ord()  函数 和 chr()  相反   chr() 是将数字转换成assci码     ord() 是将字符串转换成assci码 显示 pow() 函数  pow(x,y,z)  表示x**y%z  取商.   如果是pow(x,y)   表示x**y 例如: 1 print(pow(2,3)) 2 print(pow(2,3,2)) 3 输出: 4 8 5 0 reverse()    函数   翻转,将一个列表进行掉头.例如: 1 num = [1,2,3,4,5,6,7,8,9]

python内置函数(三)

python内置函数目前需要知道的如下: 代码: #!/usr/bin/env python# -*- coding:utf-8 -*-# author by lh #map(函数,可迭代的对象)def f1(x): return x+100ret=map(f1,[1,2,3,4,5])for i in ret: print iprint '---------------------------------------'#hash转换成哈希值,节约内存dic={ 'dvfhsuicbfhascj

Python补充--Python内置函数清单

Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数:基本数据类型 type()反过头来看看 dir()   help()    len()词典 len()文本文件的输入输出 open()循环设计 range()   enumerate()    zip()循环对象

python基础9 -----python内置函数

python内置函数1 一.python内所有的内置函数: 二.python内常用的内置函数: 三.python内内置函数详解: 1.数学运算函数: 2.集合类函数: 3.逻辑类函数: 4.映射类函数: 5.IO操作:

[python基础知识]python内置函数map/reduce/filter

python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法)来迭代遍历每个序列中的元素. 返回bool_func结果为true的元素的序列(注意弄清楚序列是什么意思)http://blog.csdn.net/bolike/article/details/19997465序列参考</a> 如果filter参数值为None,list参数中所有为假的元 素都将被

Python基础篇【第2篇】: Python内置函数--map/reduce/filter/sorted

Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位置使用lambda表达式.在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的.总结:处理简单逻辑,自动返回结果 语法格式: lambda parameters: expression 就相当于 def fun(args) return expression 并且lam

Python内置函数之filter map reduce

Python内置函数之filter map reduce 2013-06-04 Posted by yeho Python内置了一些非常有趣.有用的函数,如:filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车.1. filter函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. >>>

Python之路Python内置函数、zip()、max()、min()

Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回true 例子 print(all([1,2,'1',''])) 输出结果 False 例子2 print(all('')) 输出结果 True any() 把序列中每一个元素做布尔运算,如果有一个为true就返回true, 但

函数生成器、推导式及python内置函数

函数生成器.推导式及python内置函数 函数生成器 生成器的定义 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器. 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行. 调用一个生成器函数,返回的是一个迭代器对象. 生成器与迭代器的区别 生成