Python学习心得常用的内置函数
常用的内置函数:
1.数据类型转换函数:
描述说明 | 描述说明 |
bool(obj) | 获取指定对象 obj 的布尔值 |
str(obj) | 将指定对象 obj 转成字符串类型 |
int(x) | 将 x 转成 int 类型 |
float(x) | 将 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)将 x 转成 int 类型:
注:字符串中的整数可以转成整数类型,但是,字符串中的浮点数不能转成整数类型,字符串的a字母也是不能转成整数类型;
#float类型和str类型转成int类型
print('-'*30,'float类型和str类型转成int类型','-'*30)
print(int(98.7)+int('90'))
#字符串中的整数可以转成整数类型
#但是,字符串中的浮点数不能转成整数类型
#字符串的a字母也是不能转成整数类型
(4)将 x 转成 float 类型:
print('-'*30,'int,str类型转成float类型','-'*30)
print(float(90)+float('3,14'))
2.常用的数学函数:
函数名称 | 描述说明 |
abs(x) | 获取 x 的绝对值 |
divmod(x, y) | 获取 x 与 y 的商和余数 |
max(sequence) | 获取 sequence 的最大值 |
min(sequence) | 获取 sequence 的最小值 |
sum(iter) | 对可迭代对象进行求和运算 |
pow(x, y) | 获取 x 的 y 次幂 |
round(x, d) | 对 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) | 获取 s 的长度或 s 元素的个数 |
id(obj) | 获取对象的内存地址 |
type(x) | 获取 x 的数据类型 |
eval(s) | 执行 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'))