博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python - 内置函数
阅读量:5241 次
发布时间:2019-06-14

本文共 5934 字,大约阅读时间需要 19 分钟。

一.内置函数

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

1.作用域相关

def func():    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]))   # 结果 falseprint(any([1,0]))       # 结果 true

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

l1 = [1,2,3,4]l2 = ['a',12,3]l3 = [8,7,9]for i in zip(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))

 

转载于:https://www.cnblogs.com/jiujiang/p/11154616.html

你可能感兴趣的文章
iOS json解析 及 MJExtension
查看>>
TortoiseSVN客户端重新设置用户名和密码
查看>>
AJAX 状态值(readyState)与状态码(status)详解
查看>>
noip模拟测试7
查看>>
ECC 6.0 Syntax Correction Message.5 There should only be definitions in the TOP include
查看>>
Shell入门基础
查看>>
Mathematica三维点插值算法(高维插值,多维插值)
查看>>
CImage(MFC)
查看>>
SPOJ GSS1 ~ 8解题报告 【完整版】
查看>>
WAR包方式安装Jenkins
查看>>
Spark Standalone Mode
查看>>
Codefroces 750C:New Year and Rating(思维)
查看>>
Mysql查询数据库表结构以及字段类型并展示
查看>>
jdk10运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
劫富济贫=匡扶正义
查看>>
Servlet和JSP
查看>>
bootstrap的使用
查看>>
洛谷P3216 [HNOI2011] 数学作业 [矩阵加速,数论]
查看>>
分享5个有帮助的CSS选择器
查看>>
如何搭建web服务器 使用Nginx搭建反向代理服务器 .
查看>>