python3基础: 常用内置函数

目录

 

input函数:

lambda()函数:匿名函数

repr()函数:

type函数:判断变量类型

map函数:

filter函数:

reduce函数:


input函数:

捕获的是最原始的输入,将所 有的输入按照字符串进行处理,并返回一个字符串,不包含回车

 

>>> a = input('input a number:')

input a number:10

>>> len(a)

2

>>> type(a)

>>> input(2+2)

4

python3基础: 常用内置函数_第1张图片

 

lambda()函数:匿名函数

  • 像if或for或print等语句不能用于lambda中;
  • lambda函数拥有自己的名字空间,且不能访问自由参数列表之外全局名 字空间里的参数。 也就是不能使用全局变量
  • lambda表达式会返回一个函数对象, 如果没有变量接受这个返回值,它很快 就会被丢弃,也正是由于lambda只是 一个表达式,所以它可以直接作为list、 dict等的成员

 

语法:lambda [arg1 [, agr2,.....argn]] : expression

 

代码示例:

def make_repeater(n):

    return lambda s: s*n

twice = make_repeater(2)

print (twice('word'))

print (twice(5))

 

repr()函数:

取得对象的规范字符串表示。 其实调用的是对象里面的__repr__()方法

>>> s=repr([1,2,3])
>>> eval(s)
[1, 2, 3]
>>> s=repr((1,2,3))
>>> eval(s)
(1, 2, 3)

python3基础: 常用内置函数_第2张图片

type函数:判断变量类型

python3基础: 常用内置函数_第3张图片

map函数

将序列中的每一个元素都应用某个函数方法,结果返回一个可迭代的map对象

map无法处理对应位置操作数类型不一致的情况,这种情况都会报类 型错误,但是对于对应位置长度不一致的情况,可以处理,对应到多少 就处理多少。

代码示例:#当对应位置的数据类型不一致时

#coding=utf-8

res = map(lambda x , y : (x ** y, x + y), [2,4,6],[3,2,'a'])

for i in res:

      print(i)

python3基础: 常用内置函数_第4张图片

代码示例:#当多个序列的长度不一致时

#coding=utf-8

r = map(lambda x , y : (x ** y, x + y), [2,4,6],[3,2,4,5])

for i in r:

      print(i)

代码示例:将大写字母转换为小写

print(list(map(lambda x:x.lower(),['A','B','C'])))

filter函数:

可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个 序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最 终一次性返回过滤后的结果以生成器方式生成。

filter()函数有两个参数: 第一个,自定函数名,必须的 ;第二个,需要过滤的列,也是必须的

 

代码示例:输出给定字符串中的小写字母

#方法一:islower()

print(list(filter(lambda x:x.islower(),'ABCabxd')))

#方法一:自定义的函数

def is_lower(a):

      if a>='a' and a<='z':

            return True

print(list(filter(is_lower,'ABCabxd')))

reduce函数:

reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组 等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第 三个数据用func()函数运算,最后得到一个结果,python3中不能直接使用,需要按如下方式导入

from functools import reduce

 

代码示例:列表元素求和

#coding=utf-8

from functools import reduce

a = [1,2,3,4,5]

print (reduce(lambda x,y:x+y,a))

 

代码示例:数字字符串转换为对应的数字

#coding=utf-8
from functools import reduce
def fn(x, y):
    return x * 10 + y

def char2num(s):
    return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

print(reduce(fn, map(char2num, '13579'))) # 1:1*10+3 =13
# 2:13*10+5=135
# 3:135*10+7=1357
# 4:1357*10+9 =13579

你可能感兴趣的:(python)