python--内置函数, 匿名函数

一 . 内置函数

  什么是内置函数? 就是python给你提供的. 拿来直接?的函数, 比如print., input等等.

    字符串类型代码的执?
    eval() 执?字符串类型的代码. 并返回最终结果(当执行大量数据的时候会有问题)

print(eval("2+2")) # 4
n = 8
print(eval("2+n")) # 10
def func():
    print(666)
eval("func()") # 666

    exec() 执?字符串类型的代码

exec("""
for i in range(10):
    print(i)
""")
exec("""
def func():
    print("我是周杰伦")
func()
""")

    compile() 将字符串类型的代码变异. 代码对象能够通过exec语句来执?或者eval()进?求值.

‘‘‘
 参数说明:
 1. resource 要执?的代码, 动态代码?段
 2. ?件名, 代码存放的?件名, 当传?了第?个参数的时候, 这个参数给空就可以了
 3. 模式, 取值有3个,
         1. exec: ?般放?些流程语句的时候
         2. eval: resource只存放?个求值表达式.
         3. single: resource存放的代码有交互的时候. mode应为single
‘‘‘

code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)

code2 = "1+2+3"
c2 = compile(code2, "", mode="eval")
a = eval(c2)
print(a)

code3 = "name = input(‘请输?你的名字:‘)"
c3 = compile(code3, "", mode="single")
exec(c3)
print(name)

    有返回值的字符串形式的代码?eval(). 没有返回值的字符串形式的代码?exec(). ?般很少?到compile()

二 . 匿名函数

  lambda匿名函数

为了解决一些简单的需求而设计的一句话函数 

# 计算n的n次?
def func(n):
    return n**n
print(func(10))

f = lambda n: n**n
print(f(10))

  lambda表?的是匿名函数. 不需要?def来声明, ?句话就可以声明出?个函数
  语法:
    函数名 = lambda 参数: 返回值
  注意: 
    1. 函数的参数可以有多个. 多个参数之间?逗号隔开
    2. 匿名函数不管多复杂. 只能写??, 且逻辑结束后直接返回数据
    3. 返回值和正常的函数?样, 可以是任意数据类型

三 . 排序函数

  sorted()
  语法: sorted(Iterable, key=None, reverse=False)
      Iterable: 可迭代对象
      key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每?个元素传递给这个函数的参数. 根据函数运算的结果进?排序
      reverse: 是否是倒叙. True: 倒叙, False: 正序

lst = [1,5,3,4,6]
lst2 = sorted(lst)
print(lst) # 原列表不会改变
print(lst2) # 返回的新列表是经过排序的

dic = {1:‘A‘, 3:‘C‘, 2:‘B‘}
print(sorted(dic)) # 如果是字典. 则返回排序过后的key

  和函数组合使?

# 根据字符串?度进?排序
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]

# 计算字符串?度
def func(s):
    return len(s)
print(sorted(lst, key=func))

  和lambda组合使用

# 根据字符串?度进?排序
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
# 计算字符串?度
def func(s):
    return len(s)
print(sorted(lst, key=lambda s: len(s)))

lst = [{"id":1, "name":‘alex‘, "age":18},
         {"id":2, "name":‘wusir‘, "age":16},
         {"id":3, "name":‘taibai‘, "age":17}]
# 按照年龄对学?信息进?排序
print(sorted(lst, key=lambda e: e[‘age‘]))   # e 就是for i in sorted后面的可迭代参数中的 i 

四. 筛选函数

  filter()
  语法: filter(function. Iterable)
      function: ?来筛选的函数. 在filter中会?动的把iterable中的元素传递给function. 然后
      根据function返回的True或者False来判断是否保留此项数据
      Iterable: 可迭代对象

lst = [1,2,3,4,5,6,7]
ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数
print(ll)
print(list(ll))

lst = [{"id":1, "name":‘alex‘, "age":18},
         {"id":2, "name":‘wusir‘, "age":16},
         {"id":3, "name":‘taibai‘, "age":17}]    

fl = filter(lambda e: e[‘age‘] > 16, lst) # 筛选年龄?于16的数据
print(list(fl))

五 . 映射函数

  map()
  语法: map(function, iterable) 可以对可迭代对象中的每?个元素进?映射. 分别取执?
      function

      计算列表中每个元素的平? ,返回新列表

def func(e):
    return e*e

mp = map(func, [1, 2, 3, 4, 5])
print(mp)
print(list(mp))

       改写成lambda

print(list(map(lambda x: x * x, [1, 2, 3, 4, 5])))

            计算两个列表中相同位置的数据的和

# 计算两个列表相同位置的数据的和
lst1 = [1, 2, 3, 4, 5]
lst2 = [2, 4, 6, 8, 10]
print(list(map(lambda x, y: x+y, lst1, lst2)))

原文地址:https://www.cnblogs.com/uiys/p/10673149.html

时间: 2024-10-08 18:05:06

python--内置函数, 匿名函数的相关文章

Python - 内置函数 选例

概览参见  https://www.runoob.com/python/python-built-in-functions.html 官方文档 https://docs.python.org/3/library/functions.html?highlight=built#ascii 0. 高阶函数 满足俩个特性任意一个即为高阶函数 1.函数的传入参数是一个函数名 2.函数的返回值是一个函数名 1. map() 函数 map(function, iterable, ...) 即接收两种参数,函数

Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 而函数式编程(请注意多了一个"式"字)--Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算. 我们首先要搞明白计算机(Computer)和计算(Compute)的概念. 在计算机的层次上,CPU执行的是加减乘除的指令代码

python——内置函数和匿名函数

内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了,必须等我们学了新知识才能解开封印的.那今天我们就一起来认识一下python的内置函数.这么多函数,我们该从何学起呢?     Built-in Functions     abs() dict() help() min() setat

python内置函数和匿名函数

内置函数 68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.     Built-in Functions     abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open()

Python 内置函数补充匿名函数

Python3 匿名函数 定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问 def func(x,y,z=1): return x+y+z print(func(1,2,3)) 匿名函数定义:使用 lambda 来创建匿名函数 匿名函数1. 没有名字 2:函数体自带return 匿名函数 def func(x,y,z=1): return x+y+z print(lambda x,y,z=1:x+y+z) function <lambda> at 0x000000000346

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

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

day15 内置函数 , 匿名函数

内置函数      匿名函数 python提供的常用的功能,方便开发使用. dir #将对象所有的方法发放置在一个列表中,并返回 print (dir(str)) print (dir(int)) range #函数可创建一个整数对象,一般用在for循环中next #内部实际使用了__next__方法,返回迭代器的下一个项目bool #值用于将给定参数转换为布尔类型,如果没有参数,返回 False int #函数用于将一个字符串或数字转换为整型 print(int(12.73)) #浮点型的,取

Python内置函数_数学运算类

本文和大家分享的主要是python内置函数数据运算类相关内容,一起来看看吧,希望对大家学习python 有所帮助. abs abs(x) 求绝对值 · X可以是整型,也可以是复数 · 若X是复数,则返回复数的模 >>> abs(-1)1>>> abs(-3+4j)5.0>>> bin bin(x) 将整数x转换为二进制字符串 >>> bin(2)'0b10'>>> bin(3)'0b11' bool bool([x]

Python内置函数进制转换的用法

使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns a

Python内置的字符串处理函数整理

Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 函数的使用方法 str='python String function' 生成字符串变量str='python String function' 字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str)) 字母处理全部大写:str.upper()全