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

一、内置函数

内置函数操作
 1
#
# 1.locals()和globals()
# def func():
#     x=1
#     y=2
#     print(locals())
#     print(globals())
# func()

# 2.eval,exec,和compile
# print(123)
# "print(456)"#字符串
# eval("print(456)")#吧字符串转换成python代码去执行(有返回值)
# exec("print(7889)")#吧字符串转换成python代码去执行(无返回值)
# num = eval(‘4+5+6‘)#执行了,有返回值
# print(num)
#
# num = exec(‘4+5+6‘)#执行了,没有返回值
# print(num)
# compile#做编译
# com=compile(‘1+2+3‘,‘‘,mode = ‘eval‘)#节省时间
# print(eval(com))
# print(eval(‘1+2+3‘))#这句效果和上面的compile()效果一样

# 3.print
# print(‘123‘,end=‘‘)#不换行
# print(‘456‘,end=‘‘)

# print(1,2,3)
# print(1,2,3,4,5,6,sep=‘,‘)

# print()函数的小例子
# import time
# import sys
# for i in range(0,101,2):
#     time.sleep(0.1)
#     char_num = i//2      #打印多少个#
#     per_str = ‘%s%% : %s\n‘ % (i, ‘*‘ * char_num) if i == 100 else ‘\r%s%% : %s‘%(i,‘*‘*char_num)
#     print(per_str,end=‘‘, file=sys.stdout, flush=True)

# import sys
# for i in range(0, 101, 2):
#     time.sleep(0.1)
#     char_num = i // 2
#     per_str = ‘\r%s%% : %s‘ % (i, ‘*‘ * char_num)
#     print(per_str, file=sys.stdout, flush=True)

# 4.input()
# 5.type()
# 6.hash
# print(hash(‘asdsffd‘))#一开始几个都是不变的,,然后重新运行一次就变了
# print(hash(‘asdsffd‘))
# print(hash(‘asdsffd‘))
# print(hash(‘asdsffd‘))
# print(hash(‘asdsffd‘))
# print(hash((1,2,3,4)))

# 7.open
# r,w,a,r+,w+,a+(都可以加b)
# f=open(‘tmp‘,‘r+‘)#r+打开文件
# print(f.read(3))#如果读了在写,追加
# f.seek(5)#如果seek指定了光标的位置,就从该位置开始覆盖这写
# f.write(‘aaaaaa‘)#如果直接写,从头覆盖
# f.close()

# 8.__import__()
# import os
# import sys
# import time

# 9.callable:查看能不能调用
# print(callable(123))#数字不能调用结果就是False
# print(callable(open))#函数可以调用就返回True

# 10.dir  查看数据类型的方法
# print(dir(__builtins__))#看着报错,,但其实不报错
# print(dir(int))
# print(dir(list))
# print(dir(0))#和int一样
# print(set(dir(list))-set(dir(tuple)))
# 11.
# num1=int(123)
# num2=int(12.3)#强制转换成int类型
# print(num1,num2)
# 12.取商/余
# print(divmod(7,3))
# 13.计算最小值
# print(min(1,2,3,4))
# print(min([5,6]))
# 13.计算最大值
# print(max(1,2,3,4))
# print(max([5,6]))

# 14.sum求和
# print(sum(1,2,3,4))#出错了,参数是序列,散列不行
# print(sum([5,6]))
# print(sum((1,2,3,4)))

# 以下的两个方式是一样的
# print(1+2)
# print(int(1).__add__(2))

# 15.round精确度
# print(round(3.1415926,2))#保留两位

# 16.pow()幂运算
# print(pow(2,3))
# print(2**3)

# 17.和数据结构相关的
# 1.reversed()顺序的反转
# l=[1,2,3,4]
# print(list(reversed(l)))#是生成了一个新的列表,没有改变原来的列表(以后能不用reversed就不用reversed,用reverse)
#
# # l.reverse()#在现在的列表的基础上修改了,修改的是原来的列表
# print(l)

# 2.slice切片
# 3.format()#除了格式化以外的作业
# print(format(‘test‘,‘<20‘))
# print(format(‘test‘,‘>40‘))
# print(format(‘test‘,‘^40‘))

# 4.bytes
s=‘你好‘
# sb=bytes(s,encoding=‘utf-8‘)
# print(sb)
# print(sb.decode(‘utf-8‘))

# sb2=bytearray(s,encoding=‘utf-8‘)
# sb2[0]=229 #修改   了解就好
# print(sb2.decode(‘utf-8‘))
# print(sb2)
# print(sb2[0])

# 5.repr
# print(repr(‘1234‘))
# print(repr(1234))
# print(‘name:%r‘%(‘egon‘))#你怎么传进去的就按什么格式打印出来了

# 6.set和frozenset(不可变的集合)就像list和tuple

# 7.enumerate
# l=[‘a‘,‘b‘]
# for i in enumerate(l):
#     print(i)
#
# for i ,j in enumerate(l):
#     print(i,j)

# 8.all和any
# print(all([1,2,3]))
# print(all([0,2,3]))#因为0是False
#
# print(any([1,2,3]))
# print(any([0,2,3]))

# 9.zip()
# l=[1,2,3]
# l2=[4,5,6,7,8]
# print(zip(l,l2))
# print(list(zip(l,l2)))
# l3={‘k‘:‘v‘}
# print(list(zip(l,l3)))

# 10.sort和sorted
# l=[1,3,5,-2,-6]
# l.sort()
# print(l)
# l2=[1,3,5,-2,-6]
# print(sorted(l2))
# print(sorted(l2,key=abs))
# print(sorted(l2,key=abs,reverse=True))#默认从小到大排序,修改为True,则从大到小排序

# 11.map():我要对我的列表当中的每一个值去做函数里面的操作
# l=[1,2,3,4,5]
# def pow2(x):
#     return x*x
# print(list(map(pow2,l)))

# 12.filter():从一个列表当中找到所有符合筛选条件的,在组成一个新列表
# def aaa(x):
#     return x%2==1
# ret=list(filter(aaa,[1,2,54,3,6,8,17,9]))
# print(ret)

二、匿名函数:也叫lambda表达式

1.匿名函数的核心:一些简单的需要用函数去解决的问题,匿名函数的函数体只有一行

2.参数可以有多个,用逗号隔开

3.返回值和正常的函数一样可以是任意的数据类型

请把下面的函数转换成匿名函数
def  add(x,y)
        return x+y
add()

结果:
sum1=lambda x,y:x+y
print(sum1(5,8))
dic = {‘k1‘:50,‘k2‘:80,‘k3‘:90}
# func= lambda k:dic[k]
# print(max(dic,key=func))
print(max(dic,key = lambda k:dic[k]))#上面两句就相当于下面一句

  

#map方法
l=[1,2,3,4]
# def func(x):
#     return x*x
# print(list(map(func,l)))

print(list(map(lambda x:x*x,l)))
l=[15,24,31,14]
# def func(x):
#         return x>20
# print(list(filter(func,l)))

print(list(filter(lambda x:x>20,l)))

# 方法一
t1=((‘a‘),(‘b‘))
t2=((‘c‘),(‘d‘))
# print(list(zip(t1,t2)))
print(list(map(lambda t:{t[0],t[1]},zip(t1,t2))))

# 方法二
print(list([{i,j} for i,j in zip(t1,t2)]))

#方法三
func = lambda t1,t2:[{i,j} for i,j in zip(t1,t2)]
ret = func(t1,t2)
print(ret)

现有两个元组((‘a‘),(‘b‘)),((‘c‘),(‘d‘)), 请使用python中匿名函数生成列表[{‘a‘:‘c‘},{‘b‘:‘d‘}]

三、推导式

# li = []
# for i in range(1,101):
#     li.append(i)
# print(li)
#l1 = [python1期,python2期,python3期.....]
# l1 = []
# for i in range(1,12):
#     l1.append(‘python%s期‘ % i)
# print(l1)
#一行搞定,列表推导式:用列表推导式能够构建的任何列表,用别的都可以构建。
#一行,简单,感觉高端。但是,不易排错。
# li = [i for i in range(1,101)]
# print(li)
# l2 = [‘python%s期‘ % i for i in range(1,12)]
# print(l2)
#循环模式
#[经过加工的i for i in 可迭代对象]

l_obj = (‘python%s期‘ % i for i in range(1,12))
print(l_obj)
print(l_obj.__next__())
print(l_obj.__next__())
print(l_obj.__next__())

#列表推导式:一目了然,占内存。
#生成器表达式:不易看出,节省内容。

#循环模式
#[经过加工的i for i in 可迭代对象]
# l2 = [i*i for i in range(1,11)]
# print(l2)
#筛选模式
#[经过加工的i for i in 可迭代对象 if 条件 筛选]
# l3 = [i for i in range(1,101) if i % 3 == 0]
# print(l3)

# l3 = [i for i in range(31) if i % 3 == 0]
# print(l3)
#
# l3 = [i**2 for i in range(31) if i % 3 == 0]
# print(l3)

# names = [[‘Tom‘, ‘Billy‘, ‘Jefferson‘, ‘Andrew‘, ‘Wesley‘, ‘Steven‘, ‘Joe‘],
#          [‘Alice‘, ‘Jill‘, ‘Ana‘, ‘Wendy‘, ‘Jennifer‘, ‘Sherry‘, ‘Eva‘]]
#
# l4 = [name for i in names for name in i if name.count(‘e‘) == 2]
# print(l4)

# mcase = {‘a‘: 10, ‘b‘: 34}
# mcase_frequency = {mcase[k]: k for k in mcase}
# print(mcase_frequency)

squared = list({x**2 for x in [1, -1, 2]})
print(squared)

原文地址:https://www.cnblogs.com/d97272015/p/8719275.html

时间: 2024-10-16 01:15:55

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()全