当前位置: 首页 > article >正文

Python学习心得常用的内置函数

常用的内置函数:

1.数据类型转换函数:

描述说明

描述说明

bool(obj)

获取指定对象 obj 的布尔值

str(obj)

将指定对象 obj 转成字符串类型

int(x)

将 转成 int 类型

float(x)

将 转成 float 类型

list(sequence)

将序列转成列表类型

tuple(sequence)

将序列转成元组类型

set(sequence)

将序列转成集合类型

 数据类型转换函数的使用:

(1)获取指定对象的布尔值:

print('非空字符串的布尔值:',bool('hello'))
print('空字符串的布尔值:',bool(''))
print('空列表的布尔值:',bool([]))
print('空列表的布尔值:',bool(list()))
print('空元组的布尔值:',bool(()))
print('空元组的布尔值:',bool(tuple()))
print('空集合的布尔值:',bool(set()))
print('空字典的布尔值:',bool({}))
print('空字典的布尔值:',bool(dict()))
print('-'*30)
print('非0整数的布尔值:',bool(789))
print('整数0的布尔值:',bool(0))
print('浮点数0.0的布尔值:',bool(0.0))

 (2)将指定对象 obj 转成字符串类型:

#将其他类型转成字符串类型
lst=[10,20,30]
print(type(lst),lst)
s=str(lst)
print(type(s),s)

(3)将 转成 int 类型:

注:字符串中的整数可以转成整数类型,但是,字符串中的浮点数不能转成整数类型,字符串的a字母也是不能转成整数类型;

#float类型和str类型转成int类型
print('-'*30,'float类型和str类型转成int类型','-'*30)
print(int(98.7)+int('90'))
#字符串中的整数可以转成整数类型
#但是,字符串中的浮点数不能转成整数类型
#字符串的a字母也是不能转成整数类型

 (4)将 转成 float 类型:

print('-'*30,'int,str类型转成float类型','-'*30)
print(float(90)+float('3,14'))

 2.常用的数学函数:

函数名称

描述说明

abs(x)

获取 的绝对值

divmod(x, y)

获取 与 的商和余数

max(sequence)

获取 sequence 的最大值

min(sequence)

获取 sequence 的最小值

sum(iter)

对可迭代对象进行求和运算

pow(x, y)

获取 的 次幂

round(x, d)

对 进行保留 位小数,结果四舍五入

常用的数学函数的运用:

print('绝对值:',abs(100),abs(-100),abs(0))
print('商和余数:',divmod(13,4))
print('最大值:',max('hello'))
print('最大值:',max(111,222,333))
print('最小值:',min('hello'))
print('最小值:',min(111,222,333))

print('求和:',sum([10,35,45]))
#直接使用内置函数就可以进行累加计算了,之前只能是使用遍历函数进行计算列表的和
print('x的y次幂:',pow(2,3))

#四舍五入
print(round(3.1415926))#当round只写了一个参数时,进行保留整数的操作
print(round(3.9415926))#4,round保留整数是四舍五入的操作
print(round(3.1415926,2))#如果想让round保留两位小数时,就要在第二个参数那写上一个2
print(round(313.15926,-1))#负数会对整数部分从个位进行四舍五入

3.常用的迭代器函数:

迭代器函数是用来操作可迭代对象的,比如说字符串、列表和元组都是可迭代对象,他们都可以使用for循环进行遍历操作。

函数名称

操作说明

sorted(iter)

对可迭代对象进行排序

reversed(sequence)

反转序列生成新的迭代器对象

zip(iter1, iter2)

将 iter1 与 iter2 打包成元组并返回一个可迭代的 zip 对象

enumerate(iter)

根据 iter 对象创建一个 enumerate 对象

all(iter)

判断可迭代对象 iter 中所有元素的布尔值是否都为 True

any(iter)

判断可迭代对象 iter 中所有元素的布尔值是否都为 False

next(iter)

获取迭代器的下一个元素

filter(function, iter)

通过指定条件过滤序列并返回一个迭代器对象

map(function, iter)

通过函数 function 对可迭代对象 iter 的操作返回一个迭代器对象

 常用的迭代器函数的运用:

lst=[1,23,4,5,6,7,8]
#排序操作
asc_lst=sorted(lst)#升序
desc_lst=sorted(lst,reverse=True)#降序
print('原列表:',lst)
print('升序:',asc_lst)
print('降序:',desc_lst)

#reversed反向
new_lst=reversed(lst)
print(type(new_lst))#<class 'list_reverseiterator'>说明不是列表类型
print(list(new_lst))#需要转成列表类型才可

#zip
x=['a','b','c','d']
y=[10,20,30,40,50]
zipobj=zip(x,y)
print(type(zipobj))
#print(list(zipobj))
#zip以短的为标准,最后输出的类型为元组类型。

#enumerate
enum=enumerate(y,start=1)
print(type(enum))#<class 'enumerate'>
print(tuple(enum))

#all
lst2=[10,20,'',30]
print(all(lst2))#False,空字符串的布尔值是False
print(all(lst))#True,列表中元素都为True结果才为True

#any
print(any(lst2))#True,只要有一个为True结果就为True;False,只有元素都为False时,才为False

#next
print(next(zipobj))#执行一次就遍历出一个元素
print(next(zipobj))
print(next(zipobj))

#filter
def fun(num):
    return num%2==1

obj=filter(fun,range(10))#将range中的0-9数都进行一次函数操作
print(list(obj))#[1, 3, 5, 7, 9]

def upper(s):
    return s.upper()
new_lst2=['hello','world','python']
obj2=map(upper,new_lst2)
print(list(obj2))

 4.常用的其他内置函数:

函数名称

描述说明

format(value, format_spec)

将 value 以 format_spec 格式进行显示

len(s)

获取 的长度或 元素的个数

id(obj)

获取对象的内存地址

type(x)

获取 的数据类型

eval(s)

执行 这个字符串所表示的 Python 代码

 常用的其他函数的运用:

#format
print(format(3.14,'20'))#数值型默认右对齐
print(format('hello','20'))#字符型默认是左对齐
print(format('hello','*<20'))#填充为*并进行左对齐
print(format('hello','*>20'))#填充为*并进行右对齐
print(format('hello','*^20'))#填充为*并进行居中对齐

print(format(3.1415926,'.2f'))#3.14
print(format(20,'b'))
print(format(20,'o'))
print(format(20,'x'))
print(format(20,'X'))

print(len('helloworld'))
print(len([10,20,30,40]))

print(id(10))
print(id('helloworld'))#用于查询内存地址
print(type('hello'),type(10))

print(eval('10+30'))#eval是去掉字符串左右的符号
print(eval('20>30'))


http://www.kler.cn/a/553057.html

相关文章:

  • anythingllm服务器部署+ollama+deepseek+实现本地知识库问答
  • MySQL数据库类型——包括数据类型、文本、二进制类型、时间日期、String等,会对数值进行越界测试
  • Mac OS JAVA_HOME设置
  • Spring Bean 生命周期的执行流程详解
  • Winsows系统中安装docker desktop并搭建深度学习开发环境
  • cluster-smi 命令详解
  • 游戏引擎学习第109天
  • 为AI聊天工具添加一个知识系统 之112 详细设计之53 3*3 记忆矩阵
  • 【R语言】主成分分析与因子分析
  • Ansys 2025 R1 | 以强大数字工程技术增强协作,拓展云计算及AI并赋能数据洞察
  • 【大模型】DeepSeek:AI浪潮中的破局者
  • 【C#】无法安装程序包“DotSpatial.Symbology 4.0.656”
  • Android 动态加入Activity 时 manifest 注册报错解决。使用manifestPlaceholders 占位
  • 盒马“需要”马云认同
  • 使用python的akshare库读取股票实时数据并保存
  • 【Java】-- 链表的使用及模拟实现
  • 【MySQL】第七弹---深入理解数据库表约束:自增长、唯一键、外键及综合案例解析
  • 51单片机-点亮LED和蜂鸣器
  • java后端开发day17--ArrayList--集合
  • 算法日记20:SC72最小生成树(prim朴素算法)