深入理解Python3 内置函数大全


Posted in Python onNovember 23, 2017

本文主要介绍了Python3 内置函数,分享给大家,具体如下:

内置函数

深入理解Python3 内置函数大全

以下代码以Python3.6.1为例

#coding=utf-8
# builtin_function.py 内置函数
import os

def fun():
  all([True, False]) # 迭代器(为空or)所有元素为true,返回true => False
  any([True, False]) # 迭代器任意一个元素为true,返回true => True

  num = abs(-1.23) # 绝对值
  num = pow(5, 3) # 幂次方 x**y =>125
  num = pow(5, 3, 3) # 幂次方再取余 (x**y) % z => 2
  num = round(1.23) # 返回浮点数近似值,默认保留0位,且四舍五入
  num = round(1.23, 5) # 5为保留小数点后位数
  num = sum([1, 2, 3, 4, 5]) # 对列表数字求和
  strs = ascii(os) # 返回对象的ascii字符串形式
  strs = bin(123) # 整数转为二进制字符串(若被转对象非int类型可在__index__里定义)
  boolean = bool(0) # 获取真假(假:None / False / 任何类型的0 / 空""()[]{} / __bool__返回False / __len__返回0)
  bytes = bytearray("You were, are and will be in my heart!", "utf-8") # 字符串(字符串,编码):按编码转为字节序列 / 数字(数字):生成相应大小的空数组 / 无参():0数组
  bytes = bytes("You were, are and will be in my heart!", "utf-8") # 同bytearray(),但是不可变
  strs = chr(123) # 整数(Unicode)转为char类型(范围[0, 1 114 111])
  num = ord("{") # char类型转为整数(Unicode)
  num = complex("1+2j") # 将字符串或数字转为复数(不能含有空格)
  num = float('1.1') # 构建浮点数
  strs = format(123,'f') # 格式化(类型:x,b,f... / 位移:>(>10),<,^ / 长度:5 / E)
  strs = hex(123) # 将整数转为16进制字符串
  strs = oct(123) # 十进制转成8进制字符串
  num = int(123.1) # 转为整数
  strs = str(123) # 将对象转为字符串
  strs = str(b"123", "utf-8")
  elem = max([1,2,3,4], [2,4,6]) # 可接收1个iterable,或多个元素 => [2, 4, 6]
  elem = max(1,2,3,4) # => 4
  elem = max([1,2,3,4, 6], key = lambda x : x == 2) # => 2
  elem = min(1,2,3,4) # 与max相反

  exe = compile("print('O_O')", filename = 'strs', mode='exec') # 编译为代码, mode(编译模式:可执行语句'exec',单个语句'eval',交互式语句'single')
  exec(exe) # 执行已编译代码
  exec("print('O_O')") # 执行String未编译代码
  eval(compile("print('O_O')", filename = 'strs', mode='eval')) # 不接受字符串类型

  delattr(Clazz("Hello!"), "name") # 删除某对象属性 = del clazz.name 详情见 类 文章的 反射 代码块(https://3water.com/article/128897.htm)
  setattr(Clazz("Hello!"), "name", "World!") # 给对象某属性赋值
  strs = getattr(Clazz("Hello!"), "name") # 获取某个对象的属性值
  strs = getattr(Clazz("Hello!"), "name", -1) # -1为未找到属性的返回
  boolean = hasattr(Clazz("Hello!"), "name") # 该对象是否有该属性
  lists = dir(Clazz("Hello!")) # 查看函数
  clazz = type(os) # 获取类型
  dicts = globals() # 获取当前全局函数与对象
  dicts = locals() # 获取当前局部函数与对象
  dicts = vars() # 同locals() (__dict__)
  dicts = vars(Clazz("Hello!"))
  num = hash(Clazz("Hello!")) # 获取某对象的hash值 
  help(os) # 获取某对象的帮助文档
  num = id(os) # 获取某对象的id
  boolean = isinstance(Clazz("Hello!"), Clazz) # 对象是否是该类的实例
  boolean = issubclass(Clazz, Clazz) # 该类(前)是否是该类(后)的子类(包括自己)
  strs = repr(os) # 将对象转为字符串表达形式
  # - super() # 代理父类对象,详情见 类 文章(https://3water.com/article/88315.htm)
  # - memoryview(obj) # 内存视图,详解 数据结构 文章(https://3water.com/article/128892.htm)

  dics = dict() # 创建字典
  tups = divmod(10, 5) # 返回元组,(商(10/5),余数(10%5))
  lists = enumerate(['a', 'b', 'c']) # 返回枚举对象
  lists = filter(lambda x: True if (ord(x) > 66) else False, ['a', 'b', 'c']) # function为Frue保留,False移除
  sets = frozenset([1, 2, 3]) # 返回新的frozenset对象(集合)
  num = len([1, 2, 3]) # 长度
  lists = list((1, 'a')) # 转为list类型
  tups = tuple([1, 2, 3]) # 转为tuple元组类型
  ran = range(5) # 不可变序列
  ran = range(0,5)
  ran = range(0,5,2) # (起始,结束,增加量)
  sets = set([1,2,3]) # 返回set集合
  maps = map(lambda x, y: x*y, [1, 2, 3], [65, 66, 67, 68]) # 返回一个迭代器,元素通过自定义函数筛选,可接收多个iterable参数 => [65, 132, 201]
  iters = zip(["A", "B", "C", "D", "E", "F"], [1, 2, 3]) # 创建新的迭代器, 聚合每个迭代器元素 => [('A', 1), ('B', 2), ('C', 3)]
  iters = iter([1, 2, 3, 4, 5]) # 返回一个迭代器对象
  elem = next(iters) # 从迭代器中获取下个元素; 实现原理见 内置函数 文章 lis 块代码(https://3water.com/article/128890.htm)
  iters = reversed([1,2,3]) # 返回反向的遍历器 => [3, 2, 1]
  lists = [1,2,3,4,5][slice(3)] # 切片 => [1, 2, 3]
  lists = [1,2,3,4,5][slice(1,3)] # [slice(3) == slice(None, 3, None) / slice(1,3) == slice(1, 3, None) / slice(1,3,1) == slice(1, 3, 1)
  lists = sorted([2,5,3,1,4]) # 排序 => [1, 2, 3, 4, 5]
  lists = sorted(['a','B',';','t','D','1'], key = lambda x : ord(x), reverse = True) # key:比较键的函数, reverse是否反向遍历


  strs = input("请输入数据:") # 输入数据
  f = open("temp.txt", "r+") # 打开文件,详情见os文章
  print("字符串%d"%123) # 打印字符 => 字符串123
  print("字","符", "串", sep="-") # sep为分隔 => 字-符-串
  print("字","符", "串", sep="-", end="\r\n") # end为尾部 => 字-符-串/r/n
  print("字","符", "串", sep="-", end="\r\n", file=open("temp.txt","w+")) # 打印到文件


class Clazz:
  def __init__(self, name):
    self.name = name;

  @classmethod # 将函数包装成类方法
  def setName_cls(cls, name):
    pass

  @staticmethod # 将函数包装成静态方法
  def setName_sta(name):
    pass

  def getname(self):
    return self.name
  def setname(self, value):
    self.name = value
  def delname(self):
    del self.name

  # property(fget=None, fset=None, fdel=None, doc=None) # 返回一个property 属性
  # property 为属性方法, 有两种实现方式,详情见 类 文章的 属性方法代码块(https://3water.com/article/68235.htm) 
  x = property(getname, setname, delname)

 

if __name__ == "__main__":
  fun()

  # property 的使用
  c = Clazz("柳岩")
  print(c.x) # => 柳岩
  c.x = '汤唯'
  print(c.getname()) # => 汤唯
  del c.x

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python在windows下实现备份程序实例
Jul 04 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
Python遍历目录的4种方法实例介绍
Apr 13 Python
python常见排序算法基础教程
Apr 13 Python
pytorch 调整某一维度数据顺序的方法
Dec 08 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
感知器基础原理及python实现过程详解
Sep 30 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
Feb 21 Python
Python内存映射文件读写方式
Apr 24 Python
python 常用的异步框架汇总整理
Jun 18 Python
Python内置函数delattr的具体用法
Nov 23 #Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 #Python
Python3 操作符重载方法示例
Nov 23 #Python
Python3安装Scrapy的方法步骤
Nov 23 #Python
Python 和 JS 有哪些相同之处
Nov 23 #Python
深入理解Python分布式爬虫原理
Nov 23 #Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 #Python
You might like
PHP写杨辉三角实例代码
2011/07/17 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
python 删除列表里所有空格项的方法总结
2018/04/18 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
原生python实现knn分类算法
2019/10/24 Python
Python tkinter三种布局实例详解
2020/01/06 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python如何爬取动态网站
2020/09/09 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
金融管理专业毕业生求职信
2014/03/12 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
商场收银员岗位职责
2015/04/07 职场文书
带你了解Java中的ForkJoin
2022/04/28 Java/Android