python 13 内置函数2
内置函数(二)
abs() #返回绝对值--返回的是正数
enumerate("可迭代对象","序号起始值") #默认起始值为0,返回的是元组形式
lst = [11,22,33]
print([i for i in enumerate(lst,1)])
# (1,11) (2,22) (3,33)
max("可迭代对象") #求最大值
min("可迭代对象") #求最小值
sum() #求和,字符串不可用
dir() #查看当前函数的方法
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
sep: 打印多个值之间的分隔符,默认为空格
end: 每一次打印的结尾,默认为换行符
flush: 立即把内容输出到流文件,不作缓存
"""
print(sep=" ",end="\n") #默认
print(1,2,3,sep="*") # 1*2*3
print(111,end="")
print(22) #111222
print(list("alex")) # ['a', 'l', 'e', 'x']
print(dict(a=1,b=2)) # {'a': 1, 'b': 2}
zip() # 拉链 -- 按照最少的进行合并,打包成一个个元组。若是字典,取键
lst = ["a","b","c"]
lst1 = [1,2,3,4]
print(list(zip(lst,lst1))) # [('a', 1), ('b', 2), ('c', 3)]
print(zip(lst,lst1)) # <zip object at 0x00000223D0834FC8> zip函数的地址
print(dict(zip(lst,lst1))) # {'a': 1, 'b': 2, 'c': 3}
匿名函数
变量 = lambda 形参:返回值
"""
1.匿名函数定义没有def,可以赋值给变量,便于调用
2.lambda后面直接加形参(形参可不写,也可接受多个)用逗号隔开
3.必须有返回值,返回一个数据类型,可以是任意的数据类型,也可以将多个返回值写成一个数据类型
4.函数名是lambda,一行函数
"""
print((lambda x,y:x+y)(2,3)) #5
print(lambda x,y:x+y(2,3)) #lambda 地址
# 1
ls = [lambda i:i*i for i in range(5)]
print(ls[2](5)) #25
# 上面函数解开:
ls = []
for i in range(5):
def func(i):
return i*i
ls.append(func)
print(ls[2](5))
# 2
ls = [lambda :i*i for i in range(5)]
print(ls[2]()) # 没有传进去参数,默认最后4*4 = 16
# 解开:
lst = []
for i in range(5):
def func():
return i*i
lst.append(func)
print(lst[2]())
#3
lst = [x for x in (lambda :i**i for i in range(5))]
print(lst[2]())
#解开:
lst1 = []
def func():
for i in range(5):
def foo():
return i**i
yield foo
for x in func():
lst1.append(x)
print(lst1[2]())
内置函数(三)
# format()
print(format(13,"08b")) # 8位2进制
print(format(13,"08d")) # 10进制
print(format(13,"08o")) # 8进制
print(format(13,"08x")) # 16进制
# filter(function,iterable) # 筛选过滤
# 例:
lst=[1,2,3,4,5,6,7]
ls = filter(lambda x:x>3,lst)
print(list(ls)) # [4, 5, 6, 7]
#或者:
ls = [i for in filter(lambda x:x>3,lst)]
print(ls)
# map(function,iterable) # 映射,把每个元素取出操作
print(list(map(lambda x:x*x,[1,2,3,4])))
# [1, 4, 9, 16]
reversed("有序的可迭代对象") # 反转
"""
产生一个迭代器,操作时不改变原数据,重新开辟,因此地址不同
字符串、列表、元组都可以用
"""
ls = reversed("123")
for i in ls:
print(i) # 3 2 1
sorted(iterable,key = "函数名",reverse = False)
# 默认是升序, key是排序规则,reverse默认是升序
# reverse = True 是降序
ls = [1,5,6,98,6,7,3]
print(sorted(ls)) #[1, 3, 5, 6, 6, 7, 98]
print(sorted(ls,reverse=True)) #[98, 7, 6, 6, 5, 3, 1]
reduce() #累计算
from functools import reduce
print(reduce(lambda x,y:x-y,[1,2,3,4,5])) # -13
闭包
嵌套函数内,使用非全局变量就是闭包
保证数据的安全性,装饰器使用
print(ret.__code__.co_freevars) # 获取的是自由变量,不会自动销毁
ret.__closure__ 判断是否是闭包
def func():
a = 1
def f1():
def foo():
print(a)
return foo
return f1
func()()()
# ret = func()
# a = ret()
# a()
python 13 内置函数2的更多相关文章
- python --- 13 内置函数
内置函数 思维导图 1.作用域相关 locals() 返回当前作用域中的名字 globals() 返回全局作用域中的名字 2.迭代器相关 range() 生成数据 next() ...
- python基础-内置函数详解
一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...
- python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理
python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...
- python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
- 如何查看Python的内置函数
经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...
- Python的内置函数
python的内置函数一共有68个,下面将简单介绍各个函数的功能. abs() dict() help() min() setattr() all() dir() hex() next() slice ...
- python print()内置函数
啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...
- Python入门-内置函数一
什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
随机推荐
- nginx目录穿越漏洞复现
nginx目录穿越漏洞复现 一.漏洞描述 Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞. 二.漏洞原理 1. 修改nginx.conf,在如下图位置添加如下配置 在如 ...
- sqlserver 2008 无法使用特殊主体‘sa’,错误15405
今天莫名其妙的遇到一个问题,还原了几个数据库到新的服务器上,突然发现sa用户对某几个数据库没有权限(用户映射): 我手工勾选相应数据库的db_owner权限之后,报错:无法使用特殊主体'sa',错误1 ...
- Redis(四)--- Redis的命令参考
1.简述 数据类型也称数据对象,包含字符串对象(string).列表对象(list).哈希对象(hash).集合对象(set).有序集合对象(zset). 2.String数据类型命令 string ...
- spring使用thymeleaf
一.spring使用thymeleaf做解析器其实很简单,这是基于xml配置的方式 <?xml version="1.0" encoding="UTF-8" ...
- iOS Xcode6 新建OC Category文件
首先:File -> New File 接下来界面如下,选择Objective-C File,然后Next 在这里选择 Category 即可
- Gridea+GitHub搭建个人博客
某日闲余时间看到一篇介绍Gridea博客平台的文章,大概看了一下觉得此平台还不错,随即自己进入Gridea官网瞅了瞅.哇,这搭建过程也太简单了吧,比Hexo博客搭建要容易很多,而且还有后台管理客户端, ...
- js的位运算(其它语言也通用)
左移运算符(<<) 该运算符有2个运算数,a<<b,将a左移相当于a乘以2的b次方,2个运算符要求是整数,或可以转换成整数的. 如:1<<2 =4 "1& ...
- 阿里云Linxu下的Mysql安装与配置
说明:本文主要详细介绍了关于如何在阿里云ECS服务器上安装并配置Mysql 环境:Centos 7版本,阿里云部署好系统后会默认安装mariadb数据库 1.删除阿里云自带的MariaDB # rpm ...
- Mac 10.14.4 编译openjdk1.9源码 及集成clion动态调试
警告⚠️:本文耗时很长,先做好心理准备:编译openjdk源码需要很大的耐心,因为要踩很多坑,解决很多问题,本人从编译开始到结束用了两天时间,按照本篇教程踩坑会少许:谢谢观看 一.获取openjdk源 ...
- Linux基础进程管理优先级
一.进程优先级 Linux进程调度及多任务 每个cpu(或者cpu核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux实际能够运行的进程(和线程数)可以超出实际可用的cpu及核心数量.Li ...