作用域相关

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

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

print(locals())
print(globals())
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001A78CA58748>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/python学习/day15/内置函数.py', '__cached__': None}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001A78CA58748>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/python学习/day15/内置函数.py', '__cached__': None}

迭代器相关的

range

next  迭代器.__next__  == next(迭代器)

iter   迭代对象.__next__  == iter(可迭代对象)

其他

dir() 常用查询方法,查看变量拥有的方法

检测是否是一个函数
print(callable(print))
a = 1
print(callable(a))
True
False 查看帮助文档
help(str) 查看具体用法 导入模块:
import () 查看内存地址:
id() hash()将可hash的值转换成一串数字串
数字,字符串 输入输出:
input()
print()

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: 立即把内容输出到流文件,不作缓存
"""
例:
with open('file',mode='w') as f:
print(1,2,3,4,5,6,end='',sep='#',file=f) # end指定换行符,sep指定多个元素的分隔符,file将输出内容写入文件

字符串操作相关

exec , eval 都可以执行字符串类型的代码

eval() 需要在明确字符串的情况下执行,慎用

eval('print("hello")')
exec('print("world")')
hello
world ret1 = eval('1+2+3')
ret2 = exec('1+2+3')
print(ret1,ret2)
6 None

数学运算

abs()         求绝对值

divmod()    除余,可做分页功能
divmod(7,3) (2,1) 得2余1 round(3.1415,3) 3.131 小数取位数 pow(2,3) 8 两个数做幂运算
pow(3,2,5) 4 先做幂运算,再做取余 sum() 求和 min()计算最小值 max()计算最大值

序列:

reversed:
获取一个反转的生成器: l1 = [1,2,3,4,5]
l2 = reversed(l1)
l2.__iter__()
for i in l2:
print(i) slice:
切片
l1 = [1,2,3,4,5]
l3 = slice(1,4,2)
print(l1[l3])

和字符串相关:

bytes

编码:
name = '小明'
print(name.encode('utf-8'))
print(bytes(name,encoding='utf-8'))
b'\xe5\xb0\x8f\xe6\x98\x8e'
b'\xe5\xb0\x8f\xe6\x98\x8e'
解码:
name = '小明'
print(name.encode('utf-8').decode('utf-8'))
print(bytes(name,encoding='utf-8').decode('utf-8'))
小明
小明

ord: 字符按照unicode转数字

chr: 数字按照unicode转字符

print(ord('啊'))
print(ord('春'))
print(chr(21835))
print(chr(37202))
21834
26149

repr:让变量或字符类型原形毕露

name = '你好'
print(name)
print(repr(name))
你好
'你好'

几个重要内置函数:

zip:拉链方法,

返回一个迭代器,将各种可迭代对象拉在一起

l1 = [1,2,3,4,5]
l2 = ['a','b','c','d','e','f']
l3 = ('你','好','是','接')
l4 = {'k1':'v1','k2':'v2','k3':'v3','k4':'v4'} print(zip(l1,l2,l3,l4))
for i in zip(l1,l2,l3,l4):
print(i)
<zip object at 0x0000020AE8396D08>
(1, 'a', '你', 'k1')
(2, 'b', '好', 'k2')
(3, 'c', '是', 'k3')
(4, 'd', '接', 'k4')

filter: “过滤器”

可以过滤掉不符合要求的可迭代对象,返回一个迭代器

filter() 函数 接收两个参数,第一个参数必须是函数的名字

将每一个可迭代对象放到函数中判断True or False 然后过滤

过滤偶数:
def is_odd(x):
return x % 2 == 1 ret = filter(is_odd,range(10))
print(ret)
for i in ret:
print(i)

<filter object at 0x000001F1E06E2048>
  1
  3
  5
  7
  9

filter 应用去掉空字符串或者去掉空内容:

l1 = [1,'helo'," ",None,[ ],6,7,'world']
def func(s):
return s and str(s).strip() ret = filter(func,l1)
for i in ret:
print(i)
1
helo
6
7
world

过滤100以内平方根是整数的数字:

def func(num):
res = num ** 0.5
return res % 1 == 0
ret = filter(func,range(1,101))
for i in ret:
print(i)
1
4
9
16
25
36
49
64
81
100

map:将可迭代对象进行处理

将可迭代对象进行函数处理

ret = map(abs,[2,-4,6,-8])
print(ret)
for i in ret:
print(i)
<map object at 0x00000242F31FBEF0>
2
4
6
8

sorted:

先看一下sort:
l = [1,-2,3,-4,5,-6]
l.sort()
print(l)
l.sort(key = abs)
print(l)
[-6, -4, -2, 1, 3, 5]
[1, -2, 3, -4, 5, -6]

再看一下sorted:

sorted 也会排序

但是 sorted会产生新的列表,占用内存空间,慎用

l = [1,-2,3,-4,5,-6]
print(sorted(l))
print(l)
[-6, -4, -2, 1, 3, 5]
[1, -2, 3, -4, 5, -6]

将列表元素按照元素长度排序:

此处利用sort 和 sorted 的key值

lst = ['abc','ab','abcde','a']
lst_new = sorted(lst,key=len)
print(lst_new)
['a', 'ab', 'abc', 'abcde']

day15.Python内置函数的更多相关文章

  1. 【学习笔记】--- 老男孩学Python,day15 python内置函数大全,递归,二分法

    1. lamda匿匿名函数2. sorted()3. filter()4. map()5. 递归函数 一. lamda 匿名函数 为了了解决一些简单的需求⽽设计的⼀句话函数 语法: 函数名 = lam ...

  2. 【转】python 内置函数总结(大部分)

    [转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...

  3. python 内置函数总结(大部分)

    python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...

  4. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  5. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  6. Python基础篇【第2篇】: Python内置函数(一)

    Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...

  7. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

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

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  9. Python内置函数(12)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string  ...

随机推荐

  1. nuxt.js实战之window和document对象的使用

    在开发nuxt项目的时候,我们难免会使用到document来获取dom元素.如果直接在文件中使用就会报错.这是因为document是浏览器端的东西服务端并没有. 解决方法: 我们只需要在使用的地方通过 ...

  2. Spring security oauth2 client_credentials认证 最简单示例代码

    基于spring-boot-2.0.0 1,在pom.xml中添加: <!-- security --> <!-- https://mvnrepository.com/artifac ...

  3. Linux基本命令总结(四)

    接上篇: 16,locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了 ...

  4. Java基础 -- 复用类(组合和继承)

    复用类有两种实现方式. 在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法称之为组合. 采用继承实现. 一  组合语法 下面创建两个类WaterSource和Sprinkler ...

  5. 寒冬之下,移动开发没人要了? 浅谈 iOS 开发者该 何去何从?

    前言: 作者 | 梅梅    文章来源 CSDN 对于移动互联网而言,2018 年像是球场上的一声裁判哨.哨声响起,高潮迭起的上半场结束.本该再创辉煌的下半场,还没开赛却被告之:规则改变.场地收缩.教 ...

  6. mycat 使用

    介绍 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理. 基 ...

  7. 金融量化分析【day111】:Matplotib-画布与子图

    一.画布与子图 1.实例 %matplotlib auto fig = plt.figure() ax = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2 ...

  8. mysql 端口修改

    mysql 修改端口 1.  停止mysql服务 2.  打开文件夹下my.ini文件.(E:\mysql-5.7-3307) 修改文件中的port值,注意两个地方: [client]default- ...

  9. LFYZ-OJ ID: 1008 求A/B高精度值

    思路 小数点前的部分可以通过m/n直接计算得出 小数点后的20位可通过循环进行快速计算,计算方法如下: m%=n m*=10 小数点后第i位为m/n,回到第1步 第3步后,如果m%n为0,说明已经除净 ...

  10. 第一节:WebApi的纯原生态的RestFul风格接口和路由规则介绍

    一. 原生态接口 1. 从默认路由开始分析 在WebApiConfig.cs类中的Register方法中,我们可以看到默认路由如下: 分析:请求地址在 controller 前面需要加上 api/,c ...