0
点赞
收藏
分享

微信扫一扫

Python学习 之 内置函数



内置函数 - 共 68 个

  • 方法表
  • 数据类型(10个)
  • 进制转换及数学运算(10个)
  • 字符串相关(9个)
  • 数据结构的操作(8个)
  • 作用域相关(2个)
  • 迭代器生成器相关(3个)
  • 其他(12个)
  • 反射相关(4个)
  • 面向对象相关(9个)
  • 部分方法使用实例
  • filter
  • map
  • print
  • zip


方法表

数据类型(10个)

函数名

描述

int

整型

float

浮点型

complex

复数

str

字符串

bool

布尔型

list

列表

tuple

元素

dict

字典

set

集合

frozenset

冻结集合

进制转换及数学运算(10个)

函数名

语法

描述

结果

bin

bin(10)

十进制整数转为二进制, 0b开头代表二进制

0b1010

oct

oct(10)

十进制整数转为八进制, 0o开头代表八进制

0o12

hex

hex(10)

十进制整数转为十六进制, 0x开头代表十六进制

0xa

abs

abs(-10)

计算绝对值

10

divmod

divmod(10,3)

商余运算

(3,1), 商3余1

round

round(1.23)

round(1.2564, 2)

四舍五入机制

默认保留整数

第二个参数为精确的的小数位数

1

1.27

pow

pow(2, 3)

pow(2, 3, 3)

arg1arg2

arg1arg2%arg3

23 = 8

23 % 2 = 8 % 2 = 2

sum

sum((1,2,3))

sum((1,2,3),10)

argv1必须是个可迭代对象

sum = sum(argv1)+argv2

6

16

min

min(1,-2,3)

min((1,-2,3))

min((-1,2),(0,10))

min((1,-2,3),key=abs)

参数可以为多个数字, 一个 iterable 或多个类型相同的 iterable

多个 iterable 比较时, 比较第一个元素, 返回整个 iterable

参数 key=abs 后, 会先取参数绝对值再比较, 返回绝对值

-2

-2

(0, 10)

1

max

参考 min

字符串相关(9个)

函数名

语法

描述

结果

format(普通用法)

format(123)

未指定arg2, 类似str(123)

“123”

format(arg1为str的用法)

format(‘abc’,’<20’)

format(‘abc’,’>20’)

format(‘abc’,’^20’)

长度为20

< 左对齐

> 右对齐

^ 居中对齐, 类似 str.center(len)

format(arg1为int的用法)

format(10,‘b’)

format(10,‘o’)

format(10,‘x’)

format(10,‘X’)

format(97,‘c’)

‘b’ --> 转成二进制

’o’ --> 转成八进制

’x’ --> 转成十六进制(小写字母表示)

‘X’ --> 转成十六进制(大写字母表示)

‘c’ --> 转成unicode编码对应字符

1010

12

a

A

a

bytes

bytes(str,encoding=‘utf-8’)

将str转换成utf-8编码的bytes类型

bytearray

bytearray()

bytearray(int)

bytearray(str, encoding=“utf-8”)

没写参数, 返回长度为 0 的 bytearray

int - 返回一个长度为 int 的 bytearray

str - 返回内容为对应编码的 byte 类型

ord

chr

ascii

ascii(‘中国’))

str -> ascii

‘\u4e2d\u56fd’

repr

repr(obj)

其他数据格式转为 str

数据结构的操作(8个)

函数名

语法

描述

返回值

len

len()

求长度

int

enumerate

enumerate(iterable,arg1)

为 iterable 添加索引, 从 arg1 开始

默认索引从 0开始

如果是 dict , 索引对应的是 key

iterable

all

all(iterable)

若 iterable 中所有元素都是 True, 则返回值为 True

bool

any

any(iterable)

若 iterable 中元素有一个是 True, 则返回值为 True

bool

zip

zip(iterable1, iterable2, …)

a = [1,2], b = [3,4], c = [5,6,7]

zip(c,b,a)

zip((5,3,1),(6,4,2))

zip(tuple, tuple, …)

filter

filter(func,iterable)

用于筛选

自定义函数处理 iterable

函数返回值为 True 时, 将元素加入新的 iterable

最后将新的 iterable 返回

map

map(func,iteralbe)

用于加工

将加工后的返回值加入新的 iterable

其他同上

sorted

sorted(iterable,key=None,reverse=False)

key传入一个函数名,通过返回值, 将原 iterable 排序

排序结果默认为升序, reverse 为 True 降序

iterable

reversed

reversed(iterable)

将 iterable 直接反序

iterable

作用域相关(2个)

函数名

语法

返回值

locals

locals()

当前作用域内所有方法名

globals

globals()

全局作用域所有方法名

迭代器生成器相关(3个)

函数名

语法

返回值

range

range(int)

iterable

iter

iterable.__iter__()

迭代器

next

iterator.__next__()

从迭代器中逐次取出

其他(12个)

函数名

语法

描述

eval

eval(“1+2”)

参数为 str, 直接执行, 并返回结果

exec

exec(‘print(1)’)

参数为 str, 直接执行并输出结果, 没有返回值

compile

compile(src,file_name,mod)

例:

code=‘1+2’

compile1=compile(code,’’,‘eval’))

eval(compile1)

编译为 bytes 类型的语句

比直接从字符串执行更加安全

print

print(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)]

sep 间隔符, 默认为空格

end 结束符, 默认为换行符

file 不填则输出到屏幕, 否则填写文件句柄

flush 是否立即刷新缓冲区

hash

hash(arg)

得到一个数字, 即为 hash 值

同一次执行, 对相同可哈希的变量, 结果永远是相同的

id

id(arg)

查看内存地址

open

文件读写

打开文件句柄

import

import 模块名

导入模块

help

help(command)

返回该命令的用法, 类似linux的man

dir

dir(argv)

返回argv的所有方法名

callable

callable(command)

是否可以调用

反射相关(4个)

反射详细介绍

函数名

描述

hasattr

getattr

setattr

delattr

面向对象相关(9个)

部分方法使用实例

filter

"""
    filter 函数的语法为:
    new_iterable = filter(funcName, iterable)
    将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存

    lambda 函数的语法示例:
    lambda i: i * 2
    lambda i: True if i % 2 == 0 else False

"""

# 定义一个函数, 处理参数并返回结果
def func(num):
    # 若参数为偶数, 则返回 True
    return num * 2

# 通过 map 将处理后的元素合成 new_iterable
r = map(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结


# 上边的写法等价于
r = map(lambda i: i * 2, range(10))
print(list(r))

map

"""
    filter 函数的语法为:
    new_iterable = filter(funcName, iterable)
    将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存

    lambda 函数的语法示例:
    lambda i: i * 2
    lambda i: True if i % 2 == 0 else False

"""

# 定义一个函数, 如果参数满足条件, 则返回值为 True, 反之为 False
def func(num):
    # 若参数为偶数, 则返回 True
    if num % 2 ==0:
        return True
    else:
        return False

# 通过 filter 判断筛选出符合条件的元素合成 new_iterable
r = filter(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结


# 上边的写法等价于
r = filter(lambda i: True if i % 2 == 0 else False, range(10))
print(list(r))

print

"""
	print(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)]
	- sep 间隔符, 默认为空格
	- end 结束符, 默认为换行符
	- file 不填则输出到屏幕, 否则填写文件句柄, 输出到文件
	- flush 是否立即刷新

"""

# 最普通的用法, 位置参数不限
print(1, "2", 3)

# 可以设定分隔符
print(1, "2", 3, sep="-")

# 可以设定末尾的结束符
print(1, "2", 3, end="...\n")

# 可以将结果输出到可写的文件句柄
with open("a.txt", mode="w") as f:
    print(1, "2", 3, sep="-", end="...\n", file=f)

# 可以设置立即刷新缓冲区, 写入输出
import time

for i in range(10):
    print("**", end="",flush=True)
    # 模拟延迟为 0.2 秒
    time.sleep(0.2)

zip

"""
    将多个 iterable 按索引和参数顺序组成新的 iterable
    结果类型为 zip[tuple, tuple, ...]
    tuple 的元素为 (arg1[0], arg2[0], arg3[0]), (arg1[1], arg2[1], arg3[1], ...)
    zip 组合 dic 类型时不会报错, 但是只会组合 dic 的 key
	长度为最小 iterable 的长度
    zip 类型不能直接 list() 展开

"""

# 三个 iterable
a = [1, 2]
b = [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
c = {"aa": 1, "bb": 2}

# 使用 zip 拼接
r = zip(a, b, c)
for i in r:
    print(i)

# 结果为:
# (1, 'a', [1, 2, 3], 'aa')
# (2, 'b', [2, 3, 4], 'bb')

# 示例: 结合 map 使用, 可将两个 list 合成一个 dict
k = ["a", "b"]
v = [1, 2]

r = map(lambda t: {t[0]:t[1]}, zip(k, v))
for i in r:
    print(i)


举报

相关推荐

0 条评论