python内置函数调整_python - 内置函数

一.内置函数

嵌入到主调函数中的函数称为内置函数,又称内嵌函数。 作用是提高程序的执行效率,大多编程语言都有自己的内置函数。

1.作用域相关

deffunc():

name= 'alex'

print(locals()) #返回当前作用域名字

print(globals()) #返回全局作用域名字

func()

2.迭代器相关

1. range()   生成数据

2. next()     迭代器向下执行一次

3. iter()       获取迭代器

3.字符串类型待代码的执行

1. eval()  执行字符串类型的代码,返回最终结果

s = '5+6+7'

print(eval(s)) #结果18

2.exec()   执行字符串类型代码

s1 = 'for i in range(10): print(i)'

exec(s1)

3. compile()   将字符串类型的代码进行编译,代码对象可以通过exec()或eval()来执行

'''参数说明 :

1. resource 要执行的代码 , 动态代码片段

2. 文件名 , 代码存放的文件名 , 当传入了第一个参数的时候 , 这个参数给空就可以了

3. 模式 , 取值有 3 个 ,

1. exec: 一般放⼀一些流程语句的时候

2. eval: resource 只存放一个求值表达式 .

3. single: resource 存放的代码有交互的时候 . mode 应为 single'''code1= 'for i in range(10): print(i)'c1= compile(code1,"",mode='exec')exec(c1)

code2= '5+6+7'c2= compile(code2,"",mode='eval')print(eval(c2))

code3= 'hobby = input("输入你的兴趣爱好:")'c3= compile(code3,"",mode='single')exec(c3)print(hobby)

4.输入和输出

1. input()  获取用户输入的内容

2. print()  打印输出

5.内存相关

1. hash()    获取到对象的哈希值(int, str, bool, tuple)

2. id()   获取到对象的内存地址

6.文件操作

open()    ⽤于打开一个文件, 创建⼀个文件句柄

7.模块相关

__import__()    用于动态加载类和函数

8.帮助

help()    函数⽤于查看函数或模块用途的详细说明

9.调用相关

callable()    ⽤于检查一个对象是否是可调用的. 如果返回True, object有可能调⽤失败, 但如果返回False. 那调用绝对不会成功

10.查看内置属性

dir()    查看对象的内置属性, 方法. 访问的是对象中的__dir__()⽅法

11.数字相关

1. bool()  将给定的数据转换成bool值. 如果不给值. 返回False

2. int()     将给定的数据转换成int值. 如果不给值, 返回0

3. float()  将给定的数据转换成float值. 也就是小数

4. complex()  创建一个复数. 第⼀个参数为实部, 第⼆个参数为虚部. 或者第⼀个参数直接⽤字符串来描述复数

12.进制转换

1. bin()    将给的参数转换成⼆进制

2. otc()    将给的参数转换成八进制

3. hex()    将给的参数转换成十六进制

13.数学运算

1. abs()            返回绝对值

2. divmode()     返回商和余数

3. round()        五舍六入

4. pow(a, b)    求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余

5. sum()    求和

6. min()    求最⼩值

7. max()    求最⼤值

14.列表和元组

1. list()        将一个可迭代对象转换成列表

2. tuple()    将⼀个可迭代对象转换成元组

3. reversed()    将⼀个序列翻转, 返回翻转序列的迭代器

4. slice()    列表的切片

st = "我很帅"s= slice(0, 3, 1)print(st[s])

15.字符串相关

1. str()            将数据转化成字符串

2. format()     与具体数据相关, 用于计算各种小数, 精算等

## 字符串#print(format('test','^20')) # 居中#print(format("test",'<10')) # 左对齐#print(format("test",">10")) # 右对齐## 数值#print(format(3,'b')) # 二进制#print(format(65,'c')) # 转化成unicode字符#print(format(11,'d')) # 转化成十进制#print(format(11,"o")) # 转化成八进制#print(format(11,"x")) # 转化成十六进制#print(format(11,"X")) # 转化成十六进制大写#print(format(11,'n')) # 十进制#print(format(11)) # 十进制## 浮点数#print(format(123456789,'e')) # 科学计算法,默认保留六位小数#print(format(123456789,'0.2e')) # 科学计数法. 保留2位小数(小写)#print(format(123456789,'0.2E')) # 科学计数法. 保留2位小数(大写)#print(format(1.23456789,'f')) # 小数点计数法. 保留6位小数#print(format(1.23456789,'0.2f')) # 小数点计数法. 保留2位小数#print(format(1.23456789,'0.10F')) # 小数点计数法. 保留10位小数#print(format(1.23456789,"F")) # 小数点计数法.

3. bytes()  把字符串转化成bytes类型

4. bytearray()    返回⼀个新字节数组. 这个数字⾥里的元素是可变的, 并且每个元素的值得范围是[0,256)

5. memoryview()  查看bytes在内存中的情况

6. ord()    输入字符找带字符编码的位置

7. chr()    输入位置数字找出对应的字符

8. ascii()  是ascii码中的返回该值 不是就返回\u...

9. repr()    返回一个对象的string形式

#repr 就是原封不动的输出, 引号和转义字符都不起作

print(repr('大家好,、你,\n,t'))print(repr("很帅哦%s" % 'of course'))

16.数据集合

1. dict()    创建⼀个字典

2. set()     创建⼀个集合

3. frozenset()    创建⼀个冻结的集合. 冻结的集合不能进行添加和删除操作

17.其他相关

1. len()    返回⼀个对象中的元素的个数

2. sorted()    对可迭代对象进⾏排序操作

3. enumerate()    获取集合的枚举对象

4. all()      可迭代对象中全部是True, 结果才是True

5. any()    可迭代对象中有一个是True, 结果就是True

print(all([0,1,2,3])) #结果 false

print(any([1,0])) #结果 true

6. zip()    函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成⼀个元组, 然后返回由这些元组成的开了表. 如果各个迭代器的元素个数不⼀致, 则返回列表⻓度与最短的对象相同.

l1 = [1,2,3,4]

l2= ['a',12,3]

l3= [8,7,9]for i inzip(l1,l2,l3):print(i)

7. filter()     过滤

8. map()    会根据提供的函数对指定序列做映射

二.lambda匿名函数

语法:    函数名 = lambda 参数: 返回值

#a = lambda x: x#print(a.__name__) # __name__查看函数名#def func():#return '很帅哦'#ret = func()#print(ret)#print(func.__name__)

三.sorted()排序

语法: sorted(Iterable, key=None, reverse=False)

Iterable: 可迭代对象

key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进⾏排序

reverse: 是否是倒叙. True: 倒叙, False: 正序

#lst = ['鲁班七号aaaa','李白aaa','流经岁月净化aa']## new_lst = sorted(lst,key=lambda s:len(s),reverse=True)## print(new_lst)#new_lst = sorted(lst,key=lambda s: s.count('a'))#print(new_lst)

四.filter()筛选函数

语法: filter(function. Iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留此项数据

#lst = [#{'name':'alex','sex':'女',"age":"20"},#{'name':'wusir','sex':'女',"age":"45"},#{'name':'fanke','sex':'女',"age":"27"},#{'name':'keshao','sex':'女',"age":"28"}#]## def func(dic):## return dic['age']#it = filter(lambda dic: dic['age'],lst)#print(list(it))

五.map()映射函数

语法: map(function, iterable)

可以对可迭代对象中的每⼀个元素进行映射. 分别取执行function

#lst = [9,8,7,6]#lst1 = [1,2,3,4]#def func(s,y):#return s * y#it = map(func,lst,lst1)#print(list(it))

六.递归

在函数中调用函数本身. 就是递归

#import os#filePath = 'D:\python_worksapce'#def read(filePath,n):#it = os.listdir(filePath) # 打开文件路径#for el in it:#fp = os.path.join(filePath,el) # 获取文件绝对路径#if os.path.isdir(fp): # 判断是否为文件夹#print('\t'*n,el)#read(fp,n+1)#else:#print('\t'*n,el) # 递归出口#read(filePath,0)

七.二分查找

⼆分查找. 每次能够排除掉⼀一半的数据.  查找的效率非常⾼. 但是局限性比较⼤. 必须是有序列才可以使⽤用⼆分查找

#lst = [12,23,34,54,56,67,78,89,90,94]#left = 0#right = len(lst) - 1#n = 78#while left <= right :#middle = (left + right) // 2#if n < lst[middle]:#right = middle - 1#elif n > lst[middle]:#left = middle + 1#else:#print('存在')#print(middle)#break

#lst = [12,23,34,54,56,67,78,89,90,94]#def read(left,right,n):#middle = (left+right) // 2#if n in lst:#pass#else:#return -1#if n > lst[middle]:#left = middle + 1#elif n < lst[middle]:#right = middle - 1#else:#return middle#return read(left,right,n)#print(read(left=0,right=len(lst)-1,n=65))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值