python中的内置函数

前言

本人只在csdn写博客

介绍

所谓内置函数就是python安装后就自带有的函数 如同人一生下来就有手有脚,会吃会喝一样,具备 基本的能力 ,随着成长和学习,我们学会了说话、 学会了工作,学会了技能等,而这些能力就如同我 们 Python 的扩展函数或扩展库

内置函数功能列表
Python内置函数 python内置了一系列的常用函数,以便于我们使用所有内置函数官网文档 https://docs.python.org/3/library/functions.html内置函数

在这里插入图片描述

一. 数学运算

abs()求绝对值函数

round() 近似取值

pow()求指数

divmod()求商和余数

语法: divmod(a, b)
参数:
a: 数字
b: 数字
返回值: 一个包含商和余数的元组(a // b, a % b)

max()求最大值和min()求最小值

sum()求和

描述: sum() 方法对系列进行求和计算
语法: sum(iterable[, start])
参数:
iterable – 可迭代对象,如:列表、 元组、集合。
start – 指定相加的参数,如果没有设置这个值,默认为0
返回值: 返回计算结果

eval()执行字符串表达式

描述: eval() 函数用来执行一个字符串表达式,并返回表达式的值
语法: eval(expression[, globals[, locals]])
参数:
expression – 表达式
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
返回值: 返回表达式计算结果

测试结果

# 求绝对值
print(abs(-10))

#近似取值
print(round(2.5))

#求指数
print(pow(2,3))# 输出2的3次幂
print(pow(2,3,3))# 输出2的3次幂除于3的余数
# 求商和余数
print(divmod(7,3))

# 求最大最小值
a=(100,10,25,34)
print(max(a))
print(min(a))

# 求和

print(sum( (10,100 )))# 输出的是元组类型的整数
print(sum([10,100],2))# 也可以输出列表的,并且可以在外面添加参数,默认为0

# 执行字符表达式
a=1
b=2
print(eval('a+b'))
print(eval('a+b+c',{'a':1,'b':2,'c':3}))

输出结果
在这里插入图片描述

二. 类型转换

int()转为整型

float()转换成浮点数

str()转化为字符串

ord()字符转数字

描述: ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常

chr()数字转字符

描述: chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符
语法: chr(i)
参数: i – 可以是10进制也可以是16进制的形式的数字
返回值:返回值是当前整数对应的ascii字符

bool()转为布尔型

描述: bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False

下列对象都相当于False:[],(),{},0, None, 0.0, ‘’

bin(),hex(),oct()转为二进制,十六进制,八进制

描述: bin() 返回一个整数 int 或者长整数 long int 的二进制表示
描述: hex() 函数用于将10进制整数转换成16进制,以字符串形式表示
描述: oct() 函数将一个整数转换成8进制字符串

list()元组转换为列表

tuple()列表转换元组

dict()创建字典

描述: dict() 函数用于创建一个字典
语法:
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
参数:
**kwargs – 关键字
mapping – 元素的容器
iterable – 可迭代对象
返回值: 返回一个字典

bytes()转为字节数组

描述: bytes()方法返回一个新字节数组,这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256
语法: class bytearray([source[, encoding[, errors]]])
参数:
source 为整数,则返回一个长度为 source 的初始化数组;
source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytes
如果没有输入任何参数,默认就是初始化数组为0个元素
返回值:返回新字节数组

测试

# 整型
print(int(3.3))
# 浮点数
print(float(3))

# 字符转数字
print(ord('A'))
# 字符类型
a=1
print(type(a))
print(type(str(a)))

# 布尔型
a={}
print(bool(a))

# 进制转换
print(bin(17))
print(hex(17))
print(oct(17))

# 转换
a=()
print(type(a))# 查看a的类型为元组
print(type(list(a)))# 转为list了

#创建字典
print(dict(a='chen',b=30,c='python'))
dictA={'a':'chen','b':30,'c':'python'}# 不能直接定义函数写入print语句中
print(dictA)

# 转为字节数组
print(bytes('中'.encode('utf-8')))
print(bytes('中'.encode('gbk')))
print(bytes('zhon'.encode('gbk')))
print(bytes('zhon'.encode('utf-8')))

输出结果
在这里插入图片描述

三. 序列操作

all()和any() 判断给定的可迭代参数

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False元素除了是 0、空、FALSE 外都算 TRUE

等价于

def all(iterable):
   for element in iterable:
           if not element:
           		return False
   return True

any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True

等价于

def any(iterable):
    for element in iterable:
            if element:
                 return True
    return False

sorted() 和sort() 对所有可迭代的对象进行排序操作

  1. sort与sorted 区别:
    sort是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作,list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
  2. 语法: sorted(iterable[, cmp[, key[, reverse]]])
    参数:
    (1)iterable – 可迭代对象
    (2)cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0
    (3)key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序
    (4)reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)
    返回值:返回重新排序的列表

reverse() 函数用于反向列表中元素

语法: list.reverse()
返回值:该方法没有返回值,但是会对列表的元素进行反向排序

range() 创建一个整数列表

  1. 语法: range(start, stop[, step])
  2. 参数:
    (1)start: 计数从 start 开始默认是从 0 开始例如range(5)等价于range(0, 5);
    (2)stop: 计数到 stop 结束,但不包括 stop例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    (3)step:步长,默认为1例如:range(0, 5) 等价于 range(0, 5, 1)

zip() 将对象中对应的元素打包成一个个元组

1. 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
2. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表
3. 返回值:返回元组列表

enumerate()将一个可遍历的数据对象组合为一个索引序列

1. 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
2. 返回值:返回 enumerate(枚举) 对象

测试

# 判定参数
li=[1,2,3,0]
print(all(li))
print(any(li))#只要不全是false的元素就返回true

# 排序

print(sorted([2,4,7,1,8]))#排序默认为reverse=false升序排序
print(sorted([2,4,7,3,9],reverse=True))# True的时候是降序排序
print(sorted(['a','b','C','D','d'],key=str.lower))  # 字符串无关大小写排序


# 反向列表
a=[1,2,3,4]
print(a.reverse())# 无返回值会输出None
print(a)# 在输出a时会发现倒序了

# 创建一个整数列表
for item in range(1,5):#range 左闭又开所以输出1~4的数
    print(item,end=" ")
    pass
print('\n')
# zip()

print(zip([1,2,3],['a','b','c']))
a=zip([1,2,3],['a','b','c'])
print(list(a))
print(list(zip([1,2,3],['a','b'])))
print('\n')
#enumerate()索引

seasons =  ['spring','summer','fall','winter']
print(list(enumerate(seasons)))
print(list(enumerate(seasons, start=5)))#从第五个主键开始索引

结果
在这里插入图片描述

四. set集合

set(集合) 也是python中的一种数据类型,是一个无序且不重复的元素集合

创建集合方式?

  1. 第一种方式
set1 = {"1","2"}
  1. 第二种方式
list1 = ['1','5','4','3']
set2 = set(list1)

add()添加一个元素

clear()清空集合的元素

difference() 两个集合的差集,a中存在,b中不存在

在这里插入图片描述

intersection()两个集合的交集,a中存在,b中也存在的

在这里插入图片描述

union 并集 包含a中的元素,也包含b中的元素

在这里插入图片描述

pop 集合pop随机移除某个元素并且获取那个参数,集合pop没有参数

discard 移除指定元素

update 更新集合

测试

setA={'1','2'}
# 添加
setA.add('3')# 不能直接放入函数中,没有返回值
print(setA)

# 清空
setA.clear()
print(setA)

# 差交并

a = {32,12,34}
b = {12,43,23}
print(a.difference(b))#差a-b
print(a.intersection(b))#交a&b
print(a.union(b))#并a|b

#参数的移除和获取
a={12,13,14,15}
print(a.pop())
print(a)
a.discard(13)#移除指定元素
print(a)

#更新
a={1,2,3}
b={4,5,6}
a.update(b)
print(a)

结果

在这里插入图片描述

小结

数学运算
abs() 、 round() 、pow() 、divmod() 、max() 、min() sum() 、eval()
类型转换
int()、float()、str()、ord()、chr()、bool()、bin()、hex()、oct()、list()、tuple()、dict()、bytes()
序列操作
all()、any()、sorted()、reverse()、range()、zip()、enumerate()
集合
add()、clear()、difference()、intersection()、union()、pop()、discard()、update()

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页