博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内置函数,匿名函数
阅读量:5139 次
发布时间:2019-06-13

本文共 3315 字,大约阅读时间需要 11 分钟。

常用的内置函数:

1.作用域相关:locals()  globals()  *****

  globals()   获取全局变量的字典

  locals()  获取执行本方法的所在的命名空间内的局部变量的字典

1.1其他:eval()  exec()  compile()  了解,慎用

  eval()  将字符串类型的代码执行并有返回值

  exec()   将字符串类型代码执行无返回值

  compile()  将字符串类型的代码编译。代码对象能通过exec语句来执行或者eval()进行求值   

print(eval("1+2"))  #3print(exec("1+2"))  #Noneprint(exec("print('1+2')")) #1+2   None

2.输入输出相关:input()  print()*****  

input()  输入

s = input("请输入内容")  #输入的内容赋值给sprint(s)        #输入什么打印什么,类型为str

print()  输出  看源码

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print    """    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)    file:  默认是输出到屏幕,如果设置为文件句柄,输出到文件    sep:   打印多个值之间的分隔符,默认为空格    end:   每一次打印的结尾,默认为换行符    flush: 立即把内容输出到流文件,不作缓存    """print源码剖析
f = open("tmp_file","w")print(123,234,345,sep=",",file=f)  将123,234,345,以逗号隔开,写入文件tmp_file文件中

3.数据类型相关:type()  返回变量的数据类型  *****

4.内存相关: id()  hash()  ***

id(o)  o是参数,返回一个变量的内存地址

hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

文件操作相关: open()  *****

  open()  打开一个文件,返回一个文件操作符(文件句柄)

操作文件的模式有r,w,a,r+,w+,a+共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)  可以用encoding指定编码

模块操作相关  

__import__导入一个模块

import time

和调用相关  callable(o)  o是参数,看这个变量是不是可调用  dir()

如果o是一个函数名,就会返回True

def func():passprint(callable(func))   #True  #参数为函数名print(callable(123))    #False #数字不能调用

dir() 返回一个列表,默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

和数字相关:

数据类型相关:bool,int,float,complex

进制转换相关:bin(十转二)oct(十转八),hex(十转十六)

数学运算:abs(绝对值),divmod(返回(除,余)),min(最小),max(最大),sum(求和),round(小数精确),pow(幂运算)

abs()返回数字的绝对值

round()  保留浮点数的小数位数,默认保留整数

divmod(除数,被除数):计算除数与被除数的结果,返回一个包含商和余数的元组

pow() 求某个数的几次方

print(abs(-5) )      #5print(divmod(12,5))     #(2,2)  商为2,余数为2print(round(7*3.235,2))   #22.64  #(保留俩位小数print(pow(3,2))     #9  #3的2次方

sum(可迭代对象,初始值(默认=0))  求和,

min(可迭代 对象,key)返回可迭代对象的最小值

max(可迭代对象,key)返回可迭代对象的最大值,可以通过自定义函数规则来进行

相关内置函数  reversed() 翻转     并返回翻转序列的迭代器

  slice()  构造一个切片模板,用于对许多列表进行相同的切片

li = ['a','b','c','d','e','f','g']sli_obj = slice(3)print(li[sli_obj])

字符串相关

  str  将数据类型转换成字符串类型

  format 与具体数据相关,用于计算各种小数

  bytes  用于不同编码之间的转化,只能单向转化

  repr  返回一个对象的string的形式(原形毕露)

b = "123"print(b)        #123print(repr(b))  #'123'

数据集合  dict  set   

frozenset(返回一个冻结集合,冻结后的集合不能添加任何元素)

相关内置函数:

  len()  返回一个对象中元素的个数

  sorted: 对所有可迭代的对象进行排序操作

l1 = [("c",20),("b",50),("a",10)]l2 = sorted(l1,key=lambda x:x[1])print(l2)   #[('a', 10), ('c', 20), ('b', 50)]

  enumerate:枚举,返回一个枚举对象

  all:可迭代对象中,全是True才返回True  (用于判断可迭代对象中是否有空的字符,列表)

  any:可迭代对象中,有一个True就返回True

zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

l1 = [1,2,3,5,6,7]tu1 = ('alex','太白', 'wusir', '女神')dic = {
'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100}l2 = zip(l1,tu1,dic)for i in l2: print(i)#(1, 'alex', 'name') (2, '太白', 'age') (3, 'wusir', 'hobby') (5, '女神', 'weight')

filter(函数,可迭代对象) 过滤,迭代器  与函数生成器的筛选模式相同

l1 = list((i for i in range(10) if i%2==0))print(l1)   #[0, 2, 4, 6, 8]def func1(x):    return x % 2 == 0print(list(filter(func1,l1)))   #转换成列表的形式[0, 2, 4, 6, 8]#filter     生成的是迭代器

map(函数,可迭代对象)会根据提供的函数对可迭代对象进行映射  迭代器  循环模式  与函数生成器的循环模式相同

l1 = [1,2,3,4]print(list((i**2 for i in l1)) ) # [1, 4, 9, 16]def func(x): return x**2print(list(map(func,l1)))   #[1, 4, 9, 16]

 

匿名函数 :lambda表达式

  对于简单的函数进行缩写,有且只有返回值得函数才可以进用匿名函数进行简化,又称一行函数

 

 

转载于:https://www.cnblogs.com/yuncong/p/9512735.html

你可能感兴趣的文章
移动端的点击滚动逻辑实现。
查看>>
xpath
查看>>
sqlserver 中数据导入到mysql中的方法以及注意事项
查看>>
python 协程(单线程中的异步调用)(转廖雪峰老师python教程)
查看>>
Jenkins管理静态资源
查看>>
打地鼠游戏(7)
查看>>
redis实现分页技术
查看>>
第八章 SpringCloud之Feign、Hystrix结合使用
查看>>
程序员是怎样炼成的-读书笔记序
查看>>
C++ main函数的参数
查看>>
Oracle下rman备份和还原到数据库任意一个时间点
查看>>
yeild 理解
查看>>
【转载】详细解读C#中的 .NET 弱事件模式
查看>>
oracle中如何修改process
查看>>
装饰器模式
查看>>
Saltstack入门
查看>>
parted分区
查看>>
抛出错误
查看>>
Can't play local SWF file in Media Player
查看>>
图片标签img
查看>>