内置函数

什么是内置函数? 就是python给你提供的. 拿来直接用的函数, 比如print., input等等. 截⽌止 到python版本3.6.2 python⼀共提供了了68个内置函数. 他们就是python直接提供给我们的. 有 ⼀些我们已经⽤用过了了. 有一些还没有⽤用过. 还有⼀些需要学完了了⾯向对象才能继续学习的. 今 天我们就认识一下python的内置函数

作用域相关:    locals()      返回当前作⽤用域中的名

globals()    返回全局作⽤用域中的名

迭代器相关:

    range() 生成数据

    next() 迭代器向下执行⼀次, 内部实际使用了__next__()方法返回迭代器的下⼀个项⽬

    iter() 获取迭代器, 内部实际使⽤用的是__iter__()⽅方法来获取迭代器

输入和输出相关:

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

   print()    打印输出

内存相关:

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

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

数字算出来就是数字本身. 其他的数据算完一坨很长的数字
print(hash("123456789")) # hash算法. 最后算出来的一定是一个数字
print(id("呵呵"))is  比较内存地址==  比较的是值

⽂件操作相关:

  open() 用于⼝打开⼀个文件, 创建⼀个文件句柄

模块相关:

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

re = __import__(input("请输入你要导入的模块名:"))
re.search()

帮助:

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

    print(help(str))  # 查看帮助....高级框架

调⽤相关:

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

查看内置属性:

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

基础数据类型相关:

数字相关:

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

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

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

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

进制转换:

  bin() 将给的参数转换成二进制

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

  hex() 将给的参数转换成十六进制
数学运算:

  abs() 返回绝对

  divmode()     返回商和余数         ##print(divmod(20, 3))    ##(6, 2)

  round()        四舍五入   整数是奇数 -> 正常四舍五入   偶数 -> 五舍六入

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

  sum()    求和

  min()    求最小值

  max()    求最大值

和数据结构相关:

列表和元组:

  list()        将⼀个可迭代对象转换成列列表

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

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

  slice()    列表的切片

huiwen = "上海自来水来自海上" #这里判断回文

s = huiwen[::-1]
it = reversed(huiwen) # 返回的是迭代器reversed  返回的是迭代器
s = ""
for el in it:s += el
print(s)

lst = ["河南话", "四川话", "东北", "山东", "上海"]
# s = slice(3,5) # 切片. 麻烦   #用的是slice切片,同理lst[3,5]
# print(lst[s])         #这里切片太麻烦所以基本不用slice

          # 家,

# 记这个                 ####拿到一个列表中的索引和所对应的元素
for i in range(len(lst)):print(i, lst[i])for i, el in enumerate(lst, 1):print(i, el)

字符串串相关:

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

  format()     与具体数据相关, ⽤用于计算各种小数, 精算等 #####这里是重点,主要是数值和浮点数居多

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

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

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

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

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

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

  repr()   ###########返回⼀个对象的string形式

转义字符
\n 换行
\t tab 制表符
\r 回车
\"   双引号
\'  单引号
\\    \
print('你好, 我叫周杰伦.我来自\\n台湾. 我老婆叫昆凌')repr() # 还原字符串最官方的效果  这里的字符串能够被所有语言显示,用其他语言能原封不动的显示字符串的内容
str:python的字符串
repr: 所有的字符串
print(repr("你好. \\n我叫\周杰伦"))  # python -> repr() -> cpython c里面. 报错print(r"\n\t范德萨发生\r\b\ffdsaf")  # 原封不动的显示字符串

数据集合:

  dict() 创建⼀个字典
  set() 创建⼀个集合

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

其他相关:

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

  sorted() 对可迭代对象进⾏行行排序操作(讲完lamda后再讲这个)

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

  all()      可迭代对象中全部是True, 结果才是True     类似于and

  any()    可迭代对象中有⼀个是True, 结果就是True      类似于or

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

#       ###zip 拉链函数
lst1 = ["赵四", "刘能", "香秀"]
lst2 = ["刘晓光", "王小利"] # 水桶效应
lst3 = ["街舞", "磕巴", "哭"]
z = zip(lst1, lst2, lst3)
print("__iter__" in dir(z)) # 判断是否是可迭代对象
for el in z:print(el)
# True
# ('赵四', '刘晓光', '街舞')
# ('刘能', '王小利', '磕巴')

匿名函数

# 匿名函数统一的名字是:<lambda>
fn = lambda a, b : a + b    # 定义一个很简单的函数. 复杂的函数不要用lambda
ret = fn(3, 5)
print(ret)
print(func)
print(fn)使用场景: 配合着sorted, map, filter 一起使用

  sorted 排序函数.  让你自己去定义排序的规则

  filter()     过滤(讲完lamda)          

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

lst = [11,5,36,1,27,58]
s = sorted(lst) # 默认从小到大排序.    ###   sorted默认值是将数值从小到大排序
print(s)

lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"]
# 按照字符串长度排序
def func(s):return len(s) # 返回长度
# # 执行流程:# # 把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数.# # 函数返回数字. 根据数字进行排序s = sorted(lst, key=func)print(s)

print(sorted(lst, key=lambda s:len(s) ))#####     sorted排序

['张伟', '诺澜', '胡一菲', '关谷神奇', '曾小贤吕小布']
['张伟', '诺澜', '胡一菲', '关谷神奇', '曾小贤吕小布']

####

lst = [{"name":"alex", "shengao":150, "tizhong":250},{"name":"wusir", "shengao":158, "tizhong":150},{"name":"taibai", "shengao":177, "tizhong":130},{"name":"ritian", "shengao":165, "tizhong":130},{"name":"nvshen", "shengao":160, "tizhong":120},{"name":"baolang", "shengao":183, "tizhong":190}
]# 按照体重进行排序    sorted排序
 print(sorted(lst, key=lambda dic:dic['tizhong'], reverse=True))

# filter 过滤
lst = ["张无忌", "张翠山", "范冰冰", "金毛狮王", "李冰冰"]# 过滤掉姓张的人
# 把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留
f = filter(lambda name : not name.startswith("张"), lst)
print("__iter__" in dir(f)) # 可迭代对象
for el in f:print(el)

lst = [{"name":"alex", "shengao":150, "tizhong":250},{"name":"wusir", "shengao":158, "tizhong":150},{"name":"taibai", "shengao":177, "tizhong":130},{"name":"ritian", "shengao":165, "tizhong":130},{"name":"nvshen", "shengao":160, "tizhong":120},{"name":"baolang", "shengao":183, "tizhong":190}
]# 过滤掉体重大于180的人   想要的是 小于180     filter 过滤
  f = filter(lambda d : d['tizhong'] <= 180, lst) print(list(f))

map()  映射函数
lst = ["篮球球", "打打台球", "唱歌", "爬慌山", "步"]m = map(lambda s: "爱好:"+s , lst)print(list(m))

#['爱好:篮球球', '爱好:打打台球', '爱好:唱歌', '爱好:爬慌山', '爱好:步']#

lst = [1,5,78,12,16] # 计算每个数字的平方     map()  映射函数

print([i **2 for i in lst])    ##[1, 25, 6084, 144, 256]
m = map(lambda i: i ** 2, lst) print(list(m))   ##[1, 25, 6084, 144, 256]

参考资料:内置函数分类图

https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac

eval 是把字符串类型的数据作为代码进行执行
eval 是把字符串类型的数据作为代码进行执行
s = "18+2"
ret = eval(s) # 执行字符串类型的代码
print(ret)

code = input("请输入你要执行的代码:")
ret = eval(code)
print(ret)
s = "{'name':'alex', 'age':18, 'isMan':False}" # 字符串
# 把字符串类型的代码还原回字典, 列表, 元组
ret = eval(s)  # 侧重的有返回值
print(ret)
print(type(ret))

exec execute 执行字符串类型的代码, 不能太长. 不能太乱
exec execute 执行字符串类型的代码, 不能太长. 不能太乱
code = input("请输入你要执行的代码")
exec(code) # 没有返回值. 想要返回值用eval
print(a)   # pycharm报错不一定准
compile 编译: 把你要执行的代码先预编译. 通过exec和eval可以执行我们的代码code = '''
for i in range(10):if i % 2 == 0:print(i)
'''

compile(code, "", "exec") # 预加载代码
c = compile(code, "", "exec") # 预加载代码
# exec
exec(c) # 运行代码

可以使用complie写一个编程大赛.

转载于:https://www.cnblogs.com/H1050676808/p/10109209.html

内置函数 匿名函数 eval exec execute compile sorted map filter等常见函数 repr chr ord...相关推荐

  1. python学习日记(内置、匿名函数练习题)

    用map来处理字符串列表 用map来处理字符串列表,把列表中所有水果都变成juice,比方apple_juice fruits=['apple','orange','mango','watermelo ...

  2. 内置函数 ,匿名函数

    python之内置函数,匿名函数 内置函数 我们一起来看看python里的内置函数.什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等.截止到python版本 ...

  3. python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)

    内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...

  4. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  5. JS(内置对象,全局函数,事件,事件对象)

    目录 内置对象 全局函数 事件 事件对象 内置对象 <!DOCTYPE html> <html><head><meta charset="utf-8 ...

  6. python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...

    Python3的基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型& ...

  7. python中的内置高阶函数

    一. 内置高阶函数的类型 (一).内置高阶函数map """ map():接收两个参数,一个是函数 一个是序列 map将传入的函数依次作用到序列的每个元素,并且把结果作为 ...

  8. 【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )

    文章目录 一.函数头声明 二.函数参数 1.默认参数值 2.具名参数 三.Unit 函数 四.TODO 函数抛出异常返回 Nothing 类型 五.反引号函数名 六.匿名函数 七.匿名函数的函数类型 ...

  9. CAPL内置的时间函数

    CAPL内置的时间函数 在CAPL中我们要经常和时间打交道,为了方便的写CAPL脚本,所以我整理了Vector官方提供的与时间有关的函数,并对常用的进行简单说明. 本文主体部分摘录了Vector的官方 ...

最新文章

  1. springboot-6-整合jdbc
  2. 小冰负责人李笛:微软不缺钱,缺对未来的把握
  3. 2018.10.25-dtoj-2903-蛋糕(cake)
  4. pve 不订阅更新_??“吃鸡”体验服已无更新,暗夜危机2.0或将被1款新游代替
  5. KMP算法 java版本
  6. hexo部署在码云出现样式问题
  7. Apache Camel 3 –新增功能前10名
  8. docker常用参数详解,docker run常用参数详解(精)
  9. Eclipse3.2下JFace和SWT工程环境配置方法
  10. vue 随机显示数组的其中一个_两个显示器组建双屏其中一个屏幕出现重影解决方法...
  11. 正则表达式-验证带千分号的,带任意位小数的数字类型
  12. 火灾检测、人流量统计、安全帽检测,飞桨开源一键运行的产业案例教程
  13. mysql存储过程的学习(mysql提高执行效率之进阶过程)
  14. LTE网络架构简化了
  15. php 内网/外网ip判断
  16. KumiaoQQ机器人框架源码(带成品)
  17. java pgm_如何用Java读取PGM图像?
  18. MFC 菜单栏添加方法
  19. 幻想战姬PVP模拟器(二)
  20. 供给云saas平台小程序赋能门店增加销售额

热门文章

  1. 头条系 巨量算数 _signature
  2. 人工智能-用matlab实现数字识别
  3. 项目经理和团队如何产生距离美?
  4. 实现客户机(Client)类声明字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户机数量;定义静态函数成员ChangeServerName
  5. 用photoshop拼接一个七巧板图案
  6. win7将mysql换个盘_win7系统镜像文件包win7系统驱动光盘
  7. mysql嵌套select_select 嵌套查询
  8. iOS中设置百度地图自定义标注图片,自定义泡泡
  9. 2018-1-4 Javascript实例演示:
  10. matlab中如何打出心,如何在MATLAB中再现这个心形网格?