内置函数
阅读目录:
- 迭代器/生成器相关(3个)
- 其他类(11个)
- 作用域相关(2个)
- 基础数据类型相关(38个)
- 面向对象相关(2个)
迭代器/生成器相关(3个)
内置函数名 | 作用 |
range() | 范围 |
next() | 后面加迭代器,可为迭代器取值 |
iter() | 后面加可迭代的,可转换为迭代器 |
1、range()
range(终止位置)
range(起始,终止位置)
range(起始,终止,步长)
range(5) [0,4] [0,5)
range(1,5) [1,4] [1,5)
range(1,10,2) [1,3,5,7,9]
range(0,10,2) [0,2,4,6,8]
2、next()
__next__ 是迭代器的方法
g.__next__() 带双下划线的魔术方法一般情况下不直接用
next(g) 之前所有的__next__都应该替换成next(g)
*带双下划线的所有的方法都可能和内置的函数有千丝万缕的联系
3.iter()
__iter__
迭代器 = 可迭代的.__iter__()
迭代器 = iter(可迭代的)
其他类(11个)
类别 | 内置函数名 | 作用 |
字符串类型代码的执行(3个) | eval | 可以将字符串类型的代码执行,具有返回值,是其结果 |
exec | 返回值为NONE | |
compile |
将字符串类型的代码编译 | |
文件操作类(1个) | open | 后面跟文件名 |
输入输出(2个) | input | P3中输出字符串类型的参数 |
sep(分隔符),end(结束符) | ||
内存相关(2个) | hash | 是一种算法,导致了字典的快速查询 |
id | 查询内存地址 | |
查看内置属性(1个) | dir | |
帮助(1个) | help | |
调用相关(1个) | callable | 判断某一个变量是否可调用 |
1.open
open('文件名') 跟着操作系统走的 打开模式 默认是r 编码 默认是 操作系统的默认编码 打开模式 : r w a rb wb ab 编码 : utf-8(100%) gbk
2.input
input('字符串数据类型的参数,提醒用户你要输入的内容') python2 input() 还原你输入的值的数据类型 raw_input = py3.input python3 input() 输入的所有内容都是字符串类型 阻塞: 等待某件事情发生,如果不发生一直等着 input的返回值就是用户输入的内容 输入的内容 = input('提示')
3.print
print(要打印的内容1,要打印的内容2,要打印的内容3,sep = '分隔符',end = '结束符') # print(123) # print('abc') # print(123,'abc') # print(123,'abc','aaa',sep = '|') # print(123,'abc','aaa',end = '@') # print(123,'abc','aaa',end = '@') # print(123,'abc') # f = open('file','w') # print(123,'abc',file=f) # print的本质 就是写文件 这个文件是pycharm的屏幕 # f.close() # sep=' ' seperator
4.callable
# def call(arg): # if callable(arg): # arg() # else: # print('参数不符合规定') # # # def func(): # print('in func') # return 1 # # func2 = 1234 # call(func) # call(func2) # print(callable(func)) # print(callable(func2))
作用域相关(2个)
内置函数名称 | 作用 |
globals | 获取全局变量 |
locals | 获取局部变量的字典 |
示例:
1. 当打印的都是全局变量的时候,无论是全局作用域还是局部作用域,打印结果相同
a = 1 b = 2 print(locals()) # 此时打印的是全局作用域 print(globals())
2. 以下locals打印结果为局部作用域下的值,结果为字典类型。globals打印出的是全局作用域下的结果
def func(): c = 3 d = 4 print(locals()) print('-->',globals()) func()
基础数据类型相关(38个)
内置函数名称 | 作用 |
bool | 布尔值 |
int | 整型 |
float | 浮点值 |
complex | 复数 |
示例:
1.complex : 复数 复数是一种基础数据类型
c = 1+2J print(type(c))
执行结果:<class 'complex'>
内置函数名称 | 作用 |
bin | 二进制 0b开头 |
oct | 八进制 0o开头 |
hex | 十六进制 0x开头 |
a = 19 print(bin(a)) print(oct(a)) print(hex(a)) 执行结果: 0b10011 0o23 0x13
内置函数名称 | 作用 |
abs | 绝对值 |
divmod | 商余函数 返回一个元祖,元祖里面分别是商数和余数 |
round | 小数精准 2.X版本完全的四舍五入 3.x版本不是完全四舍五入 |
pow | 幂运算 |
sum | 求和 |
min | 最小值 |
max | 最大值 |
示例:
1.divmod 返回一个元祖,元祖里面分别是商数和余数
print(divmod(10,3)) print(divmod(7,4)) print(divmod(8,3)) 执行结果: (3, 1) (1, 3) (2, 2)
2.pow 幂运算
print(pow(2,3))
print(pow(3,2))
print(pow(5,3,2))
print(pow(4,2,2))
print(pow(4,3,2))
执行结果:
8
9
1
0
0
3.sum 求和
print(sum((1,2,3,4)))
执行结果:10
4.min 最小值
def func(n): return n%6 ret = min(2,3,4,7,key = func) print(ret)
执行结果:7
5.max 最大值
l = [(7,2,3),(4,5,6),(-1,20,5)] print(max(l,key = sum))
执行结果:
(-1, 20, 5)
类别 | 内置函数名称 | 作用 |
列表和元祖 | list | |
tuple | ||
相关内置函数(2个) | reversed | 返回一个迭代器 reversed(list) |
slice | 切片 | |
字符串 | str | |
format | 格式化 | |
bytes | 字节 | |
bytearray | 字符串编成一个字节数组 | |
memoryview | 不常用 | |
ord | 字符串转编码 | |
chr | 编码转字符串 | |
ascii | 字符串转ascii | |
repr | 打印的时候输出变量类型 |
类别 | 内置函数名称 | 作用 |
字典 | dict | |
集合 | set | |
forzenset |
内置函数名称 | 作用 |
len | 计算长度 |
enumerate | 枚举函数 |
all | 参数iterable只要有一个为假返回False |
any | 参数iterable只要有一个为真返回True |
zip | 拉链函数,返回迭代器-节省内存 |
filter | 筛选,返回迭代器 |
map | 一个迭代器中的每一个元素都需要去做同一个操作 |
sorted | 根据key对应的函数的返回值的大小来排序的 |
示例:
1.enumerate (执行结果以元祖形式返回),可以用此内置函数进行添加序号
for i in enumerate(['a','b','c'],1): print(i) 执行结果: (1, 'a') (2, 'b') (3, 'c')
2.zip 拉链函数 返回迭代器-节省内存
a = (1,2,3,4) b = ('a','b','c') c = ['111','222'] d = {'k1':'v1','k2':'v2'} ret = zip(a,b,c,d) for i in ret: print(i)
执行结果:
(1, 'a', '111', 'k1')
(2, 'b', '222', 'k2')
3.filter
def func(i): if i % 2 != 0: return True l = [1, 4, 6, 7, 9, 12, 17] for i in filter(func,l): # 迭代l,每一个元素作为参数传给func,如果func的返回值为True,那么l中的这个元素就保留 print(i)
执行结果:
1
7
9
17
4.map 一个迭代器中的每一个元素都需要去做同一个操作并返回一个结果组成一个新列表的时候map来处理
def func(i): return i*'*' ret = map(func,[1,2,3]) for i in ret: print(i)
执行结果:
*
**
***
5.sorted 返回一个新的列表
l = [{'name':'电脑','price':1999},{'name':'鼠标','price':2000}] # 按照每一个字典中商品的价格从高到低排列 def func(dic): return dic['price'] l.sort(key=func,reverse=True) print(l)
new_l = sorted(l,key = func,reverse= True) print(new_l)
执行结果:
[{'name': '鼠标', 'price': 2000}, {'name': '电脑', 'price': 1999}]
[{'name': '鼠标', 'price': 2000}, {'name': '电脑', 'price': 1999}]
面向对象相关(2个)
内置函数名称 | 作用 |
issubclass | 检测某一个类是不是一个类的子类 |
isinstance | 检测的是对象是不是某个类以及其父类的对象 |
issubclass(子类,父类),如果真的有继承关系,就返回True
class A(object):pass class B(A):pass print(issubclass(B,A))
isinstance
class A(object):pass a = A() print(isinstance(a,A)) # 继承 class A(object):pass class B(A):pass b = B() print(isinstance(b,A)) # 检测的是对象是不是某个类以及其父类的对象