深入理解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 自动提交和抓取网页
Jul 13 Python
python实现倒计时的示例
Feb 14 Python
python实现RSA加密(解密)算法
Feb 17 Python
总结python实现父类调用两种方法的不同
Jan 15 Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
OpenCV 模板匹配
Jul 10 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
python3的print()函数的用法图文讲解
Jul 16 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
Django contrib auth authenticate函数源码解析
Nov 12 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 工厂模式使用方法
2010/05/18 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
python异步任务队列示例
2014/04/01 Python
python计算书页码的统计数字问题实例
2014/09/26 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python运行其他程序的实现方法
2017/07/14 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
基于Python的PIL库学习详解
2019/05/10 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
ipad上运行python的方法步骤
2019/10/12 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
python安装gdal的两种方法
2019/10/29 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python实现不规则图形填充的思路
2020/02/02 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
英文慰问信范文
2015/03/24 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
Redis全局ID生成器的实现
2022/06/05 Redis